使用vim作为IDE
再次尝试设置vim的IDE环境,本文参考所需即所获:像 IDE 一样使用 vim完成实践。
vim主要用于程序代码编写,通过插件和设置能够实现高效的工作模式(需要长期不断的肌肉训练)。
本文的设置较为复杂,并且设置了
--enable-gui-gtk2
来支持图形化界面。对于服务器开发实际上往往只能远程ssh的终端界面,所以本文设置我觉得还是偏繁琐,并不完全适合终端使用。 JBakamovic/yavide 提供了在图形界面vim实现的现代IDE,方法和本文类似。
.vimrc
文件
.vimrc
文件.vimrc
是控制 vim 行为的配置文件,位于 ~/.vimrc
,不论 vim 窗口外观、显示字体,还是操作方式、快捷键、插件属性均可通过编辑该配置文件将 vim 调教成最适合你的编辑器。
很多人之所以觉得 vim 难用,是因为 vim 缺少默认设置,甚至安装完后你连配置文件自身都找不到,不进行任何配置的 vim 的确难看、难用。不论用于代码还是普通文本编辑,有必要将如下基本配置加入 .vimrc 中。
前缀键
各类 vim 插件帮助文档中经常出现 <leader>
,即,前缀键。vim 自带有很多快捷键,再加上各类插件的快捷键,大量快捷键出现在单层空间中难免引起冲突,为缓解该问题,引入了前缀键 <leader>
。
选一个最方便输入的键作为前缀键,将有助于提高编辑效率。找个无须眼睛查找、无须移动手指的键 —— 分号键,挺方便的,就在你右手小指处:
快捷键设定原则
不同快捷键尽量不要有同序的相同字符。比如,<leader>e
执行操作 0 和 <leader>eb
执行操作 1,在你键入 <leader>e
后,vim 不会立即执行操作 0,而是继续等待用户键入 b,即便你只想键入 <leader>e
,vim 也不得不花时间等待输入以确认是哪个快捷键,显然,这让 <leader>e
响应速度变慢。<leader>ea
和 <leader>eb
就没问题。
文件类型侦测
允许基于不同语言加载不同插件(如,C++ 的语法高亮插件与 python 的不同):
快捷键
把 vim(非插件)常用操作设定成快捷键,提升效率:
立即生效。全文频繁变更 .vimrc,要让变更内容生效,一般的做法是先保存 .vimrc 再重启 vim,太繁琐了,增加如下设置,可以实现保存 .vimrc 时自动重启加载它:
.vim/
目录
.vim/
目录.vim/
目录是存放所有插件的地方。vim 有一套自己的脚本语言 vimscript,通过这种脚本语言可以实现与 vim 交互,达到功能扩展的目的。一组 vimscript 就是一个 vim 插件,vim 的很多功能都由各式插件实现。此外,vim 还支持 perl、python、lua、ruby 等主流脚本语言编写的插件,前提是 vim 源码编译时增加 ---enable-perlinterp
、--enable-pythoninterp
、--enable-luainterp
、--enable-rubyinterp
等选项。
vim 插件目前分为 *.vim
和 *.vba
两类。
前者是传统格式的插件,实际上就是一个文本文件,通常 someplugin.vim
(插件脚本)与 someplugin.txt
(插件帮助文件)并存在一个打包文件中,解包后将 someplugin.vim
拷贝到 ~/.vim/plugin/
目录,someplugin.txt
拷贝到 ~/.vim/doc/
目录即可完成安装,重启 vim 后刚安装的插件就已经生效,但帮助文件需执行 :helptags ~/.vim/doc/
才能生效,可通过 :h someplugin
查看插件帮助信息。传统格式插件需要解包和两次拷贝才能完成安装,相对较繁琐。
*.vba
格式插件,安装便捷,只需在 shell 中依次执行如下命令即可:
不论是直接拷贝插件到目录,还是通过 *.vba 安装,都不便于插件卸载、升级,后来又出现了管理插件的插件 vundle。
源码安装编辑器 vim
--enable-pythoninterp、--enable-rubyinterp、--enable-perlinterp、--enable-luainterp 等分别表示支持 ruby、python、perl、lua 编写的插件
--enable-gui=gtk2 表示生成采用 GNOME2 风格的 gvim
--enable-cscope 支持 cscope
--with-python-config-dir=/usr/lib/python2.7/config/ 指定 python 路径(先自行安装 python 的头文件 python-devel)
预先安装相关依赖库的头文件,python-devel、python3-devel、ruby-devel、lua-devel、libX11-devel、gtk-devel、gtk2-devel、gtk3-devel、ncurses-devel,如果缺失,源码构建过程虽不会报错,但最终生成的 vim 很可能缺失某些功能。
构建完成后在 vim 中执行
插件管理
vundle会接管 .vim/
下的所有原生目录,所以先清空该目录,再通过如下命令安装 vundle:
接下来在 .vimrc 增加相关配置信息:
vundle 支持源码托管在 https://github.com/ 的插件,同时 vim 官网 http://www.vim.org/ 上的所有插件均在 https://github.com/vim-scripts/ 有镜像,所以,基本上主流插件都可以纳入 vundle 管理。
需要安装插件,先找到其在 github.com
的地址,再将配置信息其加入 .vimrc
中的call vundle#begin()
和 call vundle#end()
之间,最后进入 vim 执行
参考
Last updated