系统: ubuntu
虽然经常用SI, 但是一直比较向往那种纯键盘操作的快感, 而且直接在linux写代码 不用为了smb出点问题就纠结而痛苦~ 最近看了贴子:
http://blog.csdn.net/wooin/article/details/1858917
也下了一些插件, vim编辑文本的速度是提高了些, 但是在工程方面 却感觉还是不如SI啊。。。
按照贴子上的装那个Grep插件,并修改~/.vimrc, 设置了查找快捷键
nnoremap <silent> <F3> :Grep<CR>
但是按F3的查找的时候老是找不到呢
还有cscope find 按贴子上弄的快捷键, 用了没反应。。。 得按四个键... 我是没试出来的, 不知道是没设置对还是没按好,暂时只能 “cs find c my_func”的原始命令 很费劲!
VIM 能不能像SI那样 在下方显示某个函数的定义 而不用跳到定义处去看了?
有没有经常用VIM写工程的 来讲解讲解 怎么用得更方便一点~ 有什么vim方面好的建议都可以说哈
下面是我添加的vimrc的配置:
- C/C++ code
//taglist let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 //WinManager let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle<cr> //Buffer let g:miniBufExplMapCTabSwitchBufs=1 let g:miniBufExplMapWindowNavVim=1 // Cscope set cscopequickfix=s-,c-,d-,i-,t-,e- cs add /opt/29XXNR/nr288/user/cscope.out /opt/29XXNR/nr288/user nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR> nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR> nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR> nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR> nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR> nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR> nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR> // A.vim nnoremap <silent> <F12> :A<CR> //Grep nnoremap <silent> <F3> :Grep<CR> // tag set completeopt=longest,menu set tags= /dir/tags // add line number set nu
------解决方案--------------------
我觉得有这些插件已经很好用了……
gD, [i, 再加上:cs find, 已经非常好用了,基本上编程需要的都能找到了……
另外,再加上自动补齐功能,把标准库和系统库的include加进去,自动补齐的时候,连函数声明都有提示,这还不够用的嘛?
反正对我来说够用了……
下面是我的vimrc,给你参考一下……
- C/C++ code
" 显示行号 set number " 设置缩进 set tabstop=4 set shiftwidth=4 set autoindent set cindent " 设置高亮 syntax enable syntax on set hlsearch nmap <f2> :noh<cr> " 设置ctags、cscope和TagList set tags=tags; set autochdir set cscopequickfix=s-,c-,d-,i-,t-,e- let Tlist_Ctags_Cmd = '/usr/bin/ctags' let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 " 设置WinManager let g:winManagerWindowLayout='FileExplorer|TagList' nmap mw :WMToggle<cr> " 设置自动补齐 filetype plugin indent on "set completeopt=longest,menu " 设置OmniCppComplete " ctags 索引文件 (根据已经生成的索引文件添加即可, 这里我额外添加了 hge 和 curl的索引文件) set tags+=~/.vim/clib set tags+=~/.vim/cpplib set tags+=~/.vim/linuxlib " OmniCppComplete let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " 显示函数参数列表 let OmniCpp_MayCompleteDot = 1 " 输入 . 后自动补全 let OmniCpp_MayCompleteArrow = 1 " 输入 -> 后自动补全 let OmniCpp_MayCompleteScope = 1 " 输入 :: 后自动补全 let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " 自动关闭补全窗口 au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif set completeopt=menuone,menu,longest
------解决方案--------------------
精辟