续:
6.CtrlP
一个超级好用的文件管理器,分三种,可以列出当前目录下的文件,当前正在编辑的Buffer,另一个中MRU,不知道是什么意思, MRU列出的文件是最全面的,如果 Files和Buffers里面都找不到要找的文件,就用MRU.
下载地址:
安装:
unzip ctrlp.gz -d ~/.vim
安装完后还需要设置一下,在 ~/.vimrc 文件里面加上这句:
set runtimepath^=~/.vim/bundle/ctrlp.vim
因为主要是编辑代码文件,因此顺便把程序或者动态库文件过滤掉,还是在 ~/.vimrc 里面加上:
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn)$',
\ 'file': '\v\.(exe|so|dll|o|lib|png|jpg|a|obj)$',
\ 'link': '',
\ }
自从装了 CtrlP, 就很少用到 NERDtree了.
用
打开这个插件,下面是几项常用的操作:
Ctrl-f:在Files, buffers, mru 三个列表中切换
Ctrl-d:Toggle between full-path and filename only search.
Ctrl-r:Toggle between the string mode and full regexp mode.
Ctrl-t:Open the selected file in a new tab.
Ctrl-v:Open the selected file in a vertical split.
Ctrl-x:Open the selected file in a horizontal split.
F5:Refresh the match window and purge the cache for the current directory.
帮助用 :help ctrlp.txt
7.clang
最后一个插件, 也是花我最长时间配置的.
clang 原本是一个编译器,不仅可以用来编译 C/C++, 还可以用来编译 Object-C, 所以如果你用 Object-C来开发,也可以用这个插件
有一点,clang只能用于C语言,不能用作 Java 或者其它的语言
下载地址: 用 Git 工具下载
安装,这里说的 Clang只是Vim的一个插件,而Clang原本是一个编译器,所以要使用 Clang插件,首先要安装 Clang程序和它的动态库
sudo apt-get install libclang-dev
sudo apt-get install clang
然后在下载来的Clang目录里面
make install
如果你是一个C,C++,Object-C程序员,则完全可以用 Clang 代替 Omnicppcomplete, 而且这两个插件是冲突的,只能选其一
安装完之后,最好从网上找一个文件 clang_complete.vim 放到 ~/.vim/plugin 目录下, 安装包里面也有这个文件.
然后在一个工程里面,最好的工程的最上级目录, 编辑一个和这个工程相关的文件 .clang_complete 将需要包含的头文件包含进来,一个样例:
-
-DDEBUG
-
-include ../config.h
-
-I../common
-
-I/usr/include/c++/4.5.3/
-
-I/usr/include/c++/4.5.3/x86_64-slackware-linux/
8.SuperTabSuperTab 是一个单独的插件, 不过个人觉得和 Clang 配合得最好.
下载地址:
安装:
vim supertab.vim
:so %
之后,Supertab就可以自动补齐代码了,要让 Supertab补齐函数参数,需要做以下的配置:
-
set conceallevel=2
-
set concealcursor=vin
-
let g:clang_snippets=1
-
let g:clang_conceal_snippets=1
-
" The single one that works with clang_complete
-
let g:clang_snippets_engine='clang_complete'
-
" Complete options (disable preview scratch window, longest removed to aways " show menu) set completeopt=menu,menuone
-
" Limit popup menu height
-
set pumheight=20
-
" SuperTab completion fall-back
-
let g:SuperTabDefaultCompletionType=''
这是从网上摘的方法,最关键的是最后一句,前面的几句可以适当注释掉,
这是配置完以后,还是会有问题, 函数参数补齐的时候会有一些特殊字符,但在普通模式下又是隐藏的, 这些特殊字符是为定位函数参数设置的,一般看不出来,但把自动补齐的函数用双绰号括起来,
就会看到 $` ` 这样的符号,这些符号会影响到编译. 暂时还没找到合适的解决方法.
由于 Clang 和 Supertab 配合起来非常好用,而且它们不依赖于 Tags,可以动态更新.
再加上 Vim 其它的插件,代码编辑来说不输给 Visual Studio, 剩下的就看个人熟练程度了.
阅读(2121) | 评论(0) | 转发(0) |