經典vim插件功能說明、安裝方法和使用方法介紹

  1 #=============================================================================
  2  轉載請註明出處: http://blog.csdn.net/tge7618291

                     http://nuoerlz.35free.net

  8 #=============================================================================
  9 1. 查看 key 相關信息說明的命令  :help keycodes
 10 
 11 #=============================================================================
 12 2. ctags
 13 (1). 幫助手冊查看
 14     :help usr_29
 15 
 16 (2). 功能
 17     ctags的功能, 只要在unix/linux環境編程過的人都知道它的歷害! 我在這也作個小
 18     小介紹吧ndow=0: 對瀏覽代碼非常的方便, 可以在函數, 變量之間跳來跳去等等.(注
 19             意: 我這裏說到的僅是小小的一部分!).
 20 
 21 (3). 安裝
 22     首先, 下載ctags安裝包, 然後解壓並安裝, 命令如下:
 23     $ tar -xzvf ctags-5.6.tar.gz
 24     $ cd ctags-5.6
 25     $ make
 26     # make install   // 需要root權限
 27         或:
 28         $ tar -xzvf ctags-5.7.tar.gz
 29         $ cd ctags-5.7
 30         $ ./configure
 31         # make
 32         # make install
 33 
 34 
 35 (4). 使用方法
 36     然後去你的源碼目錄, 如果你的源碼是多層的目錄, 就去最上層的目錄, 在該目錄下
 37     運行命令: ctags -R
 38     我現在以 vim71 的源碼目錄做演示
 39     $ cd /home/nuoerll/vim71
 40     $ ctags -R
 41     
 42     此時在/home/nuoerll/vim71目錄下會生成一個 tags 文件, 現在用vim打開
 43     /home/nuoerll/vim71/src/main.c
 44     $ vim /home/nuoerll/vim71/src/main.c
 45     
 46     再在vim中運行命令:
 47     :set tags=/home/nuoerll/vim71/tags
 48     該命令將tags文件加入到vim中來, 你也可以將這句話放到~/.vimrc中去, 如果你經
 49     常在這個工程編程的話.
 50     對於經常在不同工程間編程, 可以在.vimrc中設置:
 51         set tags=tags;    // ; 不能沒有
 52         set autochdir
 53 
 54 (5). 使用例子
 55     把光標定位到某一函數名上, 按下 Ctar + ], vim就可以自動切換到該函數定義處!
 56     要返回只需要按下Ctrl + t .
 57     更多用法, 在vim命令模式輸入 :help usr_29 查看即可.
 58 
 59 
 60 #=============================================================================
 61 3. TagList 插件
 62 (1). 幫助手冊查看
 63     :help taglist.txt
 64 
 65 (2). 功能
 66     高效地瀏覽源碼, 其功能就像vc中的workpace, 那裏面列出了當前文件中的所有宏,
 67     全局變量, 函數名等.
 68 
 69 (3). 安裝
 70     下載taglist壓縮包, 然後把解壓的兩個文件taglist.vim 和 taglist.txt 分別放到
 71     $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
 72 
 73 (4). 使用方法
 74     首先請先在你的~/.vimrc文件中添加下面語句:
 75         let Tlist_Ctags_Cmd='/bin/ctags'   // 若在windows中應寫成: let/
 76                             Tlist_Ctags_Cmd='ctags.exe'
 77         let Tlist_Show_One_File=1
 78         let Tlist_OnlyWindow=1
 79         let Tlist_Use_Right_Window=0
 80         let Tlist_Sort_Type='name'
 81         let Tlist_Exit_OnlyWindow=1
 82         let Tlist_Show_Menu=1
 83         let Tlist_Max_Submenu_Items=10
 84         let Tlist_Max_Tag_length=20
 85         let Tlist_Use_SingleClick=0
 86         let Tlist_Auto_Open=0
 87         let Tlist_Close_On_Select=0
 88         let Tlist_File_Fold_Auto_Close=1
 89         let Tlist_GainFocus_On_ToggleOpen=0
 90         let Tlist_Process_File_Always=1
 91         let Tlist_WinHeight=10
 92         let Tlist_WinWidth=18
 93         let Tlist_Use_Horiz_Window=0
 94 
 95     
 96     此時用vim打開一個c源文件試試:
 97     $ vim ~/vim/src/main.c
 98     
 99     進入vim後用下面的命令打開taglist窗口.
100     :Tlist
101 
102     爲了更方便地使用, 可以在.vimrc文件中加入:
103         map <silent> <leader>tl :TlistToggle<CR>
104     這樣就可以用 ",tl" 命令進行taglist窗口的打開和關閉之間方便切換了. // 這裏
105     的","是我.vimrc設置的leader, 你也可以設置成別的, 在.vimrc中修改即可, 如我
106     的: let mapleader=","
107         
108     
109 #=============================================================================
110 4. WinManager 插件
111 (1). 幫助手冊查看
112     :help winmanager
113 
114 (2). 功能
115     管理各個窗口, 或者說整合各個窗口.
116 
117 (3). 安裝
118     下載WinManager.zip壓縮包, 解壓後把*.vim文件放到 $HOME/.vim/plugin 目錄中,
119     把*.txt文件放到 $HOME/.vim/doc 目錄中.
120 
121 (4). 使用方法
122     在.vimrc中加入如下設置:
123     let g:winManagerWindowLayout='FileExplorer|BufExplorer'  // 這裏可以設置/
124     爲多個窗口, 如'FileExplorer|BufExplorer|TagList'
125     let g:persistentBehaviour=0             // 只剩一個窗口時, 退出vim.
126     let g:winManagerWidth=20
127     let g:defaultExplorer=1
128     nmap <silent> <leader>fir :FirstExplorerWindow<cr>
129     nmap <silent> <leader>bot :BottomExplorerWindow<cr>
130     nmap <silent> <leader>wm :WMToggle<cr>
131 
132 (5). 使用例子
133     在終端輸入vim啓動vim:
134     $vim
135     在正常模式下, 敲入 ",wm" 即可看到, vim的左側新建了兩個窗口:FileExplorer和
136     BufExplorer, 這樣我們即可在FileExplorer窗口很方便地對目錄進行查看, 編輯等
137     操作; 在BufExplorer窗口中查看當前vim已經打開那些文件.
138 
139 
140 #=============================================================================
141 5. cscope
142 (1). 幫助手冊查看
143     :help if_cscop.txt
144 
145 (2). 功能
146     用Cscope自己的話說 - "你可以把它當做是超過頻的ctags", 其功能和強大程度可見
147     一斑吧, 關於它的介紹我就不詳細說了, 如果你安裝好了前文介紹的幫助手冊.
148 
149 (3). 安裝
150     如果是在linux環境中, cscope一般都會隨系統一起安裝了; 在windows環境中, 則需
151     要下載windows版本的(cscope.exe), 然後把它放到path環境變量所設
152     置的目錄中(如: C:/Program Files/Vim/vim72).
153 
154 (4). 使用方法
155     在.vimrc中增加如下設置, 就可以利用相應的快捷鍵進行不同的查找了.
156         if has("cscope")
157             set cscopetag   " 使支持用 Ctrl+]  和 Ctrl+t 快捷鍵在代碼間跳來跳去
158             " check cscope for definition of a symbol before checking ctags:
159             " set to 1 if you want the reverse search order.
160             set csto=1
161 
162             " add any cscope database in current directory
163             if filereadable("cscope.out")
164                 cs add cscope.out
165             " else add the database pointed to by environment variable
166             elseif $CSCOPE_DB !=""
167                 cs add $CSCOPE_DB
168             endif
169 
170             " show msg when any other cscope db added
171             set cscopeverbose
172 
173             nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>
174             nmap <C-/>g :cs find g <C-R>=expand("<cword>")<CR><CR>
175             nmap <C-/>c :cs find c <C-R>=expand("<cword>")<CR><CR>
176             nmap <C-/>t :cs find t <C-R>=expand("<cword>")<CR><CR>
177             nmap <C-/>e :cs find e <C-R>=expand("<cword>")<CR><CR>
178             nmap <C-/>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
179             nmap <C-/>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
180             nmap <C-/>d :cs find d <C-R>=expand("<cword>")<CR><CR>
181         endif
182 
183 (5). 使用例子
184     首先進入源碼目錄, 在linux終端中輸入以下命令以創建cscope數據庫:
185         $ find ~/work/..Project/ -name "*.h" -o -name "*.cpp" > cscope.files
186         $ cscope -bkq -i cscope.files
187     如果是在windows環境中, 則換成如下命令:
188         dir /s /b *.cpp *.h > cscope.files
189         cscope -b -q -k -i cscope.files
190 
191     然後, 用vim打開一個源文件(如: vim main.cpp),
192     打開後, 第一件事就是導入cscope數據庫了:
193         :cs add /home/yourname/workpace/cscope.out /home/yourname/workpace
194 
195     cscope數據庫導入成功後, 就可以利用"步驟(4)"中定義的快捷鍵進行相關的查找,
196     瀏覽等操作了(當然也可以直接利用相關命令, 嘿嘿).
197 
198 #=============================================================================
199 5. c.vim 插件
200 (1). 幫助手冊查看
201     help csupport
202 
203 (2). 功能
204     C/C++-IDE for Vim/gVim. 簡單的說, 就是如果安裝配置好後, vim/gvim就是一個
205     c/c++編程的一個IDE, 其功能堪比windows裏常用的vc.
206 
207 (3). 安裝
208     下載cvim.zip壓縮包後, 把壓縮包copy到 $HOME/.vim 目錄(windows下, copy 到
209             C:/Program Files/Vim/vimfiles)下解壓, 即可.
210         unzip cvim.zip    // 解壓命令
211         
212 (4). 使用方法
213     安裝好後就可以直接用了, 具體例子看"使用例子".
214     
215 (5). 使用例子
216     在終端用vim打開一個c文件:
217         $vim hello.c
218     進入vim, 敲入 "/im" 即可發現一個main函數框架就這樣快捷簡單完美地寫出.    
219 
220     我比效常用的的操作有(第一列爲命令, 第二列爲說明, 第三列爲該命令所支持的模
221             式(n:普通模式, v:可視模式, i:插入模式):
222           -- Help -----------------------------------------------
223           /hm       show manual for word under the cursor(n,i)
224           /hp       show plugin help                      (n,i)
225 
226           -- Comments -------------------------------------------
227           /cl       end-of-line comment                 (n,v,i)
228           /cj       adjust end-of-line comment(s)      (n,v,i)
229           /cs       set end-of-line comment column      (n)
230           /c*       code -> comment /* */               (n,v)
231           /cc       code -> comment //                  (n,v)
232           /co       comment -> code                     (n,v)
233           /cfr      frame comment                       (n,i)
234           /cfu      function comment                    (n,i)
235           /cme      method description                  (n,i)
236           /ccl      class description                  (n,i)
237           /cd       date                                (n,v,i)
238           /ct       date /& time                        (n,v,i)
239 
240           -- Statements ------------------------------------------
241           /sd       do { } while                        (n,v,i)
242           /sfo      for { }                            (n,v,i)
243           /sife     if { } else { }                    (n,v,i)
244           /se       else { }                            (n,v,i)
245           /swh      while { }                          (n,v,i)
246           /ss       switch                              (n,v,i)
247 
248           -- Preprocessor -----------------------------------------
249           /p<       #include <>                        (n,i)
250           /p''      #include ""                        (n,i)
251           /pd       #define                            (n,i)
252           /pu       #undef                              (n,i)
253           /pie      #if  #else #endif                  (n,v,i)
254           /pid      #ifdef #else #endif                (n,v,i)
255           /pin      #ifndef #else #endif                (n,v,i)
256           /pind     #ifndef #def #endif                (n,v,i)
257           /pi0      #if 0 #endif                        (n,v,i)
258           /pr0      remove #if 0 #endif                (n,i)
259           /pe       #error                              (n,i)
260           /pl       #line                              (n,i)
261           /pp       #pragma                            (n,i)
262 
263           -- Idioms ------------------------------------------------
264           /if       function                            (n,v,i)
265           /isf      static function                    (n,v,i)
266           /im       main()                              (n,v,i)
267           /i0       for( x=0; x<n; x+=1 )              (n,v,i)
268           /in       for( x=n-1; x>=0; x-=1 )            (n,v,i)
269           /ie       enum   + typedef                    (n,i)
270           /is       struct + typedef                    (n,i)
271           /iu       union  + typedef                    (n,i)
272           /ip       printf()                            (n,i)
273           /isc      scanf()                            (n,i)
274           /ica      p=calloc()                          (n,i)
275           /ima      p=malloc()                          (n,i)
276           /isi      sizeof()                            (n,v,i)
277           /ias      assert()                            (n,v)
278           /ii       open input file                    (n,i)
279           /io       open output file                    (n,i)
280 
281           -- Snippets ------------------------------------------------
282           /nr       read code snippet                  (n,i)
283           /nw       write code snippet                  (n,v,i)
284           /ne       edit code snippet                  (n,i)
285           /np       pick up prototype                  (n,v,i)
286           /ni       insert prototype(s)                (n,i)
287           /nc       clear  prototype(s)                (n,i)
288           /ns       show   prototype(s)                (n,i)
289           /ntl      edit local templates                (n,i)
290           /ntg      edit global templates              (n,i)
291           /ntr      rebuild templates                  (n,i)
292 
293           -- C++ ----------------------------------------------------
294           /+co      cout  <<  << endl;                  (n,i)
295           /+c       class                              (n,i)
296           /+cn      class (using new)                   (n,i)
297           /+ci      class implementation                (n,i)
298           /+cni     class (using new) implementation    (n,i)
299           /+mi      method implementation              (n,i)
300           /+ai      accessor implementation            (n,i)
301 
302           /+tc      template class                      (n,i)
303           /+tcn     template class (using new)          (n,i)
304           /+tci     template class implementation      (n,i)
305           /+tcni    template class (using new) impl.    (n,i)
306           /+tmi     template method implementation      (n,i)
307           /+tai     template accessor implementation    (n,i)
308 
309           /+tf      template function                  (n,i)
310           /+ec      error class                        (n,i)
311           /+tr      try ... catch                      (n,v,i)
312           /+ca      catch                              (n,v,i)
313           /+c.      catch(...)                          (n,v,i)
314 
315           -- Run ---------------------------------------------------
316           /rc       save and compile                    (n,i)
317           /rl       link                                (n,i)
318           /rr       run                                (n,i)
319           /ra       set comand line arguments          (n,i)
320           /rm       run make                            (n,i)
321           /rg       cmd. line arg. for make            (n,i)
322           /rp       run splint                          (n,i)
323           /ri       cmd. line arg. for splint          (n,i)
324           /rk       run CodeCheck (TM)                  (n,i)
325           /re       cmd. line arg. for CodeCheck(TM)   (n,i)
326           /rd       run indent                          (n,v,i)
327           /rh       hardcopy buffer                    (n,v,i)
328           /rs       show plugin settings                (n,i)
329           /rx       set xterm size                      (n, only Linux/UNIX & GUI)
330           /ro       change output destination          (n,i)
331                 
332     關於此插件的更多功能和各種說明, 請查看幫助手冊, help csupport.
333 
334             
335 #=============================================================================
336 6. omnicppcoplete 插件
337 (1). 幫助手冊查看
338     :help omnicppcoplete
339 (2). 功能
340     實現像vc那樣的代碼自動補全功能, 比如 this-><Ctrl+X><Ctrl+O> 後, 將出現一個
341     提示框, 其中包含了this指針所有可以接收的函數或數據成員等.
342 (3). 安裝
343     把下載下來的 omnicppcoplete-0.41.zip 壓縮包copy到 $HOME/.vim/(windows 復
344             制到 C:/Program Files/Vim/vimfiles ), 然後解壓, 即可.
345 (4). 使用方法
346     在.vimrc中添加以下兩條語句:
347         set nocp   "不兼容vi
348         filetype plugin on  "開啓文件類型識別功能
349     進入c++源碼目錄, 在終端執行命令 ctags -R --c++-kinds=+p --fields=+iaS
350     --extra=+q .
351 (5). 使用例子
352     編寫c++代碼時, 如要自動補全, 敲入 Ctrl+X Ctrl+O, 即可在出現的提示框中用
353     Ctrl+N 選擇符合要求的.
354 
355 
356 #=============================================================================
357 7. a.vim插件
358 (1). 幫助手冊查看
359     這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命令
360     , 但是用起來真的是很方便.
361 (2). 功能
362     在 .h 和 .c/.cpp 文件中切換. (英文原句 "A few of quick commands to swtich
363             between source files and header files quickly.")
364 (3). 安裝
365     把下載到的a.vim插件放到 $HOME/.vim/plugin 目錄下, 即可.
366 (4). 使用方法
367     只要在vim中輸入以下命令即可完成相應的功能:
368         :A switches to the header file corresponding to the current file being
369             edited (or vise versa)
370         :AS splits and switches
371         :AV vertical splits and switches
372         :AT new tab and switches
373         :AN cycles through matches
374         :IH switches to file under cursor
375         :IHS splits and switches
376         :IHV vertical splits and switches
377         :IHT new tab and switches
378         :IHN cycles through matches
379         <Leader>ih switches to file under cursor
380         <Leader>is switches to the alternate file of file under cursor(e.g.
381                 on  <foo.h> switches to foo.cpp)
382         <Leader>ihn cycles through matches
383 
384 #=============================================================================
385 8. VisualMark.vim插件
386 (1). 幫助手冊查看
387     這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命令
388     , 但是用起來真的是很方便.
389 (2). 功能
390     高亮書籤.
391 (3). 安裝
392     把下載好的VisualMark.vim插件放到 $HOME/.vim/plugin 目錄下, 即可.
393 (4). 使用方法
394     只要在vim中執行以下命令即可完成相應的功能:
395          1.  For gvim, use "Ctrl + F2" to toggle a visual mark.
396              For both vim and gvim, use "mm" to toggle a visual mark.
397          2.  Use "F2" to navigate through the visual marks forward in the
398          file.
399          3.  Use "Shift + F2" to navigate backwards.
400 
401 #=============================================================================
402 9. Mark.vim插件
403 (1). 幫助手冊查看
404      這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命
405      令, 但是用起來真的是很方便.
406 
407 (2). 功能
408      這個插件與vim中自帶的'*'與'#'非常相像. 不同之處是: vim中的'*'與'#'命令只
409      能同時高亮一個同類詞組(或正則表達式的搜索結果), 而Mark.vim插件可以同時高
410      亮多個.
411 
412 (3). 安裝
413     把下載好的Mark.vim插件放到 $HOME/.vim/plugin 目錄中, 即可.
414 
415 (4). 使用方法
416     /m      mark or unmark the word under (or before) the cursor
417     /r      manually input a regular expression. 用於搜索.
418     /n      clear this mark (i.e. the mark under the cursor), or clear all
419             highlighted marks .
420     /*      把光標向前切換到當前被Mark的MarkWords中的下一個MarkWord.
421     /#      把光標向後切換到當前被Mark的MarkWords中的上一個MarkWord.
422     //      把光標向前切換到所有被Mark的MarkWords中的下一個MarkWord.
423     /?      把光標向後切換到所有被Mark的MarkWords中的上一個MarkWord.
424 
425         說明: 這些命令中的 '/' 是 vim 中的 mapleader, 你也可以設置爲別的: 如,
426         若要設置爲 ',', 把下面這條語句加到.vimrc文件中, 即可,
427             let mapleader=","
428 
429 
430 #=============================================================================
431 10. code_complete.vim插件
432 (1). 幫助手冊查看
433 (2). 功能
434      函數參數提示.
435 
436 (3). 安裝
437      下載code_complete.vim插件放到 C:/Program Files/Vim/vimfiles 目錄中, 即可.
438 
439 (4). 使用方法
440      進入源碼目錄, 執行如下命令:
441      ctags -R --c-kinds=+p --fields=+S .
442 
443 (5). 使用例子
444 " Usage:
445 "           hotkey:
446 "              "<tab>" (default value of g:completekey)
447 "               Do all the jobs with this key, see
448 "           example:
449 "               press <tab> after function name and (
450 "                 foo ( <tab>
451 "               becomes:
452 "                 foo ( /<first param>`,/<second param>` )
453 "               press <tab> after code template
454 "                 if <tab>
455 "               becomes:
456 "                 if( /<...>` )
457 "                 {
458 "                     /<...>`
459 "                 }
460 
461 
462 #=============================================================================
463 11. autoproto.vim
464 Using this script, typing ``(`` will result in (|), where | is the cursor
465         position and the double backticks are just marking input. Typing a
466         ``)`` will move the cursor outside the parens. This moving outside
467 works even in nested scenarios. Typing ``if(my_array['key`` results in
468         if(my_array['key|']) and ``)`` gets you if(my_array['key'])|.
469 
470 The paired characters are: [, (, {, ", ';   //"
471 
472 If you like this script, you should also check out surround.vim
473 
474 
475 
476 
477 #=============================================================================
478 12. pyclewn
479 pyclewn在unix, windows下的安裝方法:
480 http://pyclewn.wiki.sourceforge.net/install+
481 
482 下載安裝python
483 http://www.python.org/download/
484 
485 python補丁(pywin32-212.win32-py2.6.txt)(對pyclewn)下載安裝
486 http://sourceforge.net/project/platformdownload.php?group_id=78018
487 
488 下載安裝MimGW或Cywin
489 
490 下載安裝pyclewn
491 http://sourceforge.net/project/showfiles.php?group_id=212808
492 
493 (1). 幫助手冊查看
494 (2). 功能
495 (3). 安裝
496 (4). 使用方法
497 (5). 使用例子
498 
499 
500 #=============================================================================
501 13. project.vim
502 (1). 幫助手冊查看
503     :help project.txt
504 
505 (2). 功能
506     組織管理工程, 方便於瀏覽, 打開, 查找文件等.
507 
508 (3). 安裝
509     下載project.vim壓縮包(如: project.gz), 然後把解壓的兩個文件project.vim 和
510     project.txt 分別放到 $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
511 
512 (4). 使用方法
513     在.vimrc中加入以下設置:
514         // 切換打開和關閉project窗口
515         nmap <silent> <Leader>P <Plug>ToggleProject
516         //插件項目窗口寬度.    默認值: 24
517         let g:proj_window_width=20 //當按空格鍵 <space> 或者單擊鼠標左鍵/
518                                 <LeftMouse>時項目窗口寬度增加量,默認值:100
519         let g:proj_window_increment=90
520         let g:proj_flags='i'    //當選擇打開一個文件時會在命令行顯示文件名和當
521                                 前工作路徑.
522         let g:proj_flags='m'    //在常規模式下開啓 |CTRL-W_o| 和
523                                 |CTRL-W_CTRL_O| 映射, 使得當前緩衝區成爲唯一可
524                                 見的緩衝區, 但是項目窗口仍然可見.
525         let g:proj_flags='s'    //開啓語法高亮.
526         let g:proj_flags='t'    //用按 <space> 進行窗口加寬.
527         let g:proj_flags='c'    //設置後, 在項目窗口中打開文件後會自動關閉項目
528                                 窗口.
529         //let g:proj_flags='F'   //顯示浮動項目窗口. 關閉窗口的自動調整大小和窗
530                                 口替換.
531         let g:proj_flags='L'    //自動根據CD設置切換目錄.
532         //let g:proj_flags='n'    //顯示行號.
533         let g:proj_flags='S'    //啓用排序.
534         let g:proj_flags='T'    //子項目的摺疊在更新時會緊跟在當前摺疊下方顯示(
535                                 而不是其底部).
536         let g:proj_flags='v'    //設置後將, 按 /G 搜索時用 :vimgrep 取代 :grep.
537         //let g:proj_run1='!p4 edit %f'    //g:proj_run1 ...  g:proj_run9 用法.
538         let g:proj_run3='silent !gvim %f'
539 
540 (5). 使用例子
541     1. 在源碼目錄下建立一個工程文件: exampleProject
542         $ gvim exampleProject
543 
544     2. 在exampleProject文件中定入:
545        MyProject="E:/desktop_item/tmp/0virtual/nehe2/LVHM/test" CD=. flag=r
546        filter="*akefile*" {
547         Header file=. CD=. flag=r filter="*.h" {
548         }
549         Source file=. CD=. flag=r filter="*.cpp" {
550         }
551        }
552 
553     3. 在光標定位到第一行, 敲入:
554         /R
555        exampleProject文件改變, 如下:
556              MyProject="E:/desktop_item/tmp/0virtual/nehe2/LVHM/test" CD=./
557                              flag=r filter="*akefile*" {
558               makefile
559               Header file=. CD=. flag=r filter="*.h" {
560                MainFrm.h
561                Resource.h
562                StdAfx.h
563                test.h
564                testDoc.h
565                testView.h
566               }
567               Source file=. CD=. flag=r filter="*.cpp" {
568                MainFrm.cpp
569                StdAfx.cpp
570                test.cpp
571                testDoc.cpp
572                testView.cpp
573               }
574              }
575 
576     4. 小測一下:
577         把光標某個文件名上, 敲下 Enter 可以看到, 對應的文件在左邊的窗口顯示出
578         來.
579 
580     5. 更多用法參考.vimrc的相關設置的說明或 help project.txt 查找幫助.
581 
582 
583 #=============================================================================
584 14. NERD_tree.vim
585 (1). 幫助手冊查看
586     help NERD_tree
587 
588 (2). 功能
589     目錄樹, 同時還可以對文件進行打開操作等.
590 
591 (3). 安裝
592     下載NERD_tree壓縮包, 然後把解壓的兩個文件NERD_tree.vim 和 NERD_tree.txt 分
593     別放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
594 
595 (4). 使用方法
596 
597 (5). 使用例子
598     // let loaded_nerd_tree=1    // 禁用所有與NERD_tree有關的命令
599     nmap <silent> <leader>tto :NERDTreeToggle<cr>
600     let NERDTreeIgnore=['/.vim$','/~$']    // 不顯示指定的類型的文件
601     let NERDTreeShowHidden=0    // 不顯示隱藏文件(好像只在linux環境中有效)
602     let NERDTreeSortOrder=['//$','/.cpp$','/.c$','/.h$''*']    // 排序
603     let NERDTreeCaseSensitiveSort=0     // 不分大小寫排序
604     let NERDTreeWinSize=30
605     // let NERDTreeShowLineNumbers=1
606     let NERDTreeShowBookmarks=1
607     let NERDTreeQuitOnOpen=1    // 打開文件後, 關閉NERDTrre窗口
608     // let NERDTreeHighlightCursorline=1     // 高亮NERDTrre窗口的當前行
609     // nmap <silent> <leader>tmk :Bookmark expand(/"<cword>/")<cr>
610 
611 
612 #=============================================================================
613 15. NERD_commenter.vim
614 (1). 幫助手冊查看
615     help NERD_commenter.
616 
617 (2). 功能
618     源碼文檔註釋.
619 
620 (3). 安裝
621     下載NERD_commenter壓縮包, 然後把解壓的兩個文件NERD_commenter.vim 和
622     NERD_commenter.txt 分別放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
623 
624 (4). 使用方法
625 (5). 使用例子
626     " let NERD_java_alt_style=1
627     " Default mapping: [count],cc  " 以行爲單位進行註釋.
628     " ,c<space>    comment <--> uncomment.
629     " ,cm          " 以段作爲單位進行註釋.
630     " ,cs          " 簡潔美觀式註釋.
631     " ,cy          " Same as ,cc except that the commented line(s) are yanked first.
632     " ,c$          " 註釋當前光標到行未的內容.
633     " ,cA          " 在行尾進行手動輸入註釋內容.
634     " ,ca          " 切換註釋方式(/**/ <--> //).
635     " ,cl          " Same cc, 並且左對齊.
636     " ,cb          " Same cc, 並且兩端對齊.
637     " ,cu          " Uncomments the selected line(s).
638 
639 
640 #=============================================================================
641 16. sketch.vim   用鼠標作畫
642 map <silent> <leader>ske :call ToggleSketch()<CR>
643 
644 
645 
646 
647 #=============================================================================
648 17. Calendar.vim
649 map <silent> <leader>cal :Calendar<cr>
650 map <silent> <leader>cah :CalendarH<cr>
651 
652 
653 
654 #=============================================================================
655 18. DoxygenToolkit.vim
656 (1). 代碼文檔工具
657 let g:DoxygenToolkit_commentType = "C"
658 let g:DoxygenToolkit_briefTag_pre="@Synopsis  "
659 let g:DoxygenToolkit_paramTag_pre="@Param"
660 let g:DoxygenToolkit_returnTag="@Returns  "
661 let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
662 let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------"
663 let g:DoxygenToolkit_authorName="Mathias Lorente"
664 let g:DoxygenToolkit_licenseTag="My own license"
665 
666 
667 
668 #=============================================================================
669 19. cpp.vim
670 (1). c/c++類名, 函數等高亮
671 install details
672 Make a backup copy of syntax/vim.cpp and overwrite syntax/vim.cpp with this file.
673 
674 
675 
676 #=============================================================================
677 20. javacomplete.vim
678 (1). 幫助手冊查看
679     :help javacomplete.txt
680 (2). 功能
681     進行java類, 包, 方法等補全.
682 (3). 安裝
683     1. 下載, 解壓, 把相應的文件copy到相應的目錄下.
684     2. 對Reflection.java進行編譯, 編譯命令爲:
685         javac -source 1.4 Reflection.java
686     3. 把編譯生成的Reflection.class文件移動到vim的$HOME目錄下.(注意是移動, 而
687             不是複製, 最好保證系統中只有一個Reflection.class文件, 且在vim的
688             $HOME目錄下.)
689     4. 在.vimrc中加入:
690         setlocal completefunc=javacomplete#CompleteParamsInfo
691         autocmd FileType c set omnifunc=ccomplete#Complete
692         autocmd FileType css set omnifunc=csscomplete#CompleteCSS
693         autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
694         autocmd FileType java set omnifunc=javacomplete#Complete
695         autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
696         autocmd FileType php set omnifunc=phpcomplete#CompletePHP
697         autocmd FileType python set omnifunc=pythoncomplete#Complete
698         autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
699 (4). 使用方法
700 (5). 使用例子
701      Math.<C-X><C-O>
702 
703 
704 
705 #=============================================================================
706 21. JumpInCode_Plus.vim
707 (1). 幫助手冊查看
708     http://www.vim.org/scripts/script.php?script_id=2862
709 
710 (2). 功能
711     <leader>jc  Generate tags and cscope database from current directory to :
712                    CurrentDirectory/OutDB/cscope.out,tags
713     <leader>jst       list existed tags full name and choose tags
714     <leader>jsc      list existed cscope database full name and choose cscope.out
715 
716 (3). 安裝
717     把JumpInCode_Plus.vim 放到 $VIM/vimfiles/plugin
718 
719 (4). 使用方法
720 (5). 使用例子
721 
722 
723 
724 #=============================================================================
725 22. txtbrowser.zip
726 (1). 幫助手冊查看
727     http://www.vim.org/scripts/script.php?script_id=2899
728     http://guoyoooping.blog.163.com/blog/static/1357051832009112910162389/
729     :help txtbrowser
730 
731 (2). 功能
732        show the document map and syntax highlight in plain text.
733 
734 (3). 安裝
735     :help txtbrowser
736     1. 請首先安裝taglist插件(http://www.vim.org/scripts/script.php?script_id=273),
737     我相信玩Vim的沒有幾個人沒有安裝這個插件吧.
738 
739     2. 下載插件後解壓縮到目錄$HOME/.vim(或$HOME/vimfiles, $VIM/vimfiles). 然後將解壓後
740     的.ctag, 剪切到$HOME目錄下即可, 安裝完成後你的文件夾下應該有下面的幾個文件(請
741     注意目錄結構):
742         $HOME/.ctags - 用於標題標籤的生成.
743         $HOME/.vim/syntax/txt.vim - .txt文件的語法高亮文件.
744         $HOME/.vim/plugin/txtbrowser.vim - 瀏覽工具.
745         $HOME/.vim/doc/txtbrowser.txt - 英文幫助文檔.
746         $HOME/.vim/doc/txtbrowser.cnx - 中文幫助文檔.(別忘了打開然後執行
747                           ":helptags ."生成標籤)
748     由於版本1.1.1之前採用老的插件名, 請在安裝前先刪除低版本插件(主要是幫助文件, 原來的
749     名字叫txt.txt和txt_cn.txt), 否則在安裝新的幫助文檔時會提示標籤已經存在..
750 
751     3. 在你的.vimrc文件里加入下面三行, 然後重啓你的Vim:
752         syntax on
753         let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
754         au BufRead,BufNewFile *.txt setlocal ft=txt
755 
756     4. 本插件所有文件以fenc=utf8發佈. 籤於taglist對中文的支持有限, 你需要保證你的文
757     檔的enc值和fenc的值相等(例如, enc=cp936, fenc=cp936). 如果不等請將fenc的值設爲
758     相應的enc的值保(如:set fenc=cp936)存後並刷新(:TlistUpdate).
759 
760 (4). 使用方法
761     :help txtbrowser
762 (5). 使用例子
763 
764 
765 
766 #=============================================================================
767 23.  FindMate.vim
768 (1). 幫助手冊查看
769     help FindMate
770     http://www.vim.org/scripts/script.php?script_id=2871
771 
772 (2). 功能
773     快速查找文件
774 
775 (3). 安裝
776     下載FindMate壓縮包, 然後把解壓的兩個文件FindMate.vim 和 FindMate.txt 分別放到
777     $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
778 
779 (4). 使用方法
780         You can launch FindMate by typing:
781               ,, File_name
782         Or
783               :FindMate File_name
784         The shortcut can be redefined by using:
785               map your_shortcut   <Plug>FindMate
786         In your .vimrc file
787 
788 (5). 使用例子
789 
790 
791 
792 
793 #=============================================================================
794 24. ZoomWin.vim
795 (1). 幫助手冊查看
796     http://www.vim.org/scripts/script.php?script_id=508
797 
798 (2). 功能
799     Press <c-w>o : the current window zooms into a full screen
800     Press <c-w>o again: the previous set of windows is restored
801 
802 (3). 安裝
803     Press <c-w>o : the current window zooms into a full screen
804     Press <c-w>o again: the previous set of windows is restored
805 
806 (4). 使用方法
807 (5). 使用例子
808 
809 
810 
811 #=============================================================================
812 25. cpp_src.tar.bz2
813     tags for std c++ (STL, streams, ...) : Modified libstdc++ headers for use with ctags
814 (1). 幫助手冊查看
815     http://www.vim.org/scripts/script.php?script_id=2358
816 
817 (2). 功能
818 (3). 安裝
819     install details:
820     1. unpack
821     2. run
822         $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
823         $ mv tags cpp # or whatever
824     3. In Vim:
825         set tags+=/my/path/to/tags/cpp 
826 
827 (4). 使用方法
828 (5). 使用例子
829 
830 
831 
832 
833 #=============================================================================
834 26. grep.vim
835 (1). 幫助手冊查看
836     http://www.vim.org/scripts/script.php?script_id=311
837 
838 (2). 功能
839     The grep plugin integrates the grep, fgrep, egrep, and agrep tools with
840     Vim and allows you to search for a pattern in one or more files and jump
841     to them.
842 
843 (3). 安裝
844     1).
845     To use this plugin, you need the grep, fgrep, egrep, agrep, find and
846     xargs utilities. These tools are present in most of the Unix installations.
847     For MS-Windows systems, you can download the GNU grep and find utilities
848     from the following sites:
849        http://gnuwin32.sourceforge.net/packages/grep.htm
850        http://gnuwin32.sourceforge.net/packages/findutils.htm 
851     2).
852     把下載得到的grep.vim複製到 $HOME/plugin 目錄中.
853 
854 (4). 使用方法
855     :Grep
856 
857 (5). 使用例子
858 
859 #=============================================================================
860 27. autocomplpop.zip
861 (1). 幫助手冊查看
862     :help acp
863     http://www.vim.org/scripts/script.php?script_id=1879
864 
865 (2). 功能
866     With this plugin, your vim comes to automatically opens popup menu for
867     completions when you enter characters or move the cursor in Insert mode. It
868     won't prevent you continuing entering characters.
869 
870 (3). 安裝
871     autocomplpop.zip
872     mv plugin/acp.vim $HOME/.vim/plugin/acp.vim
873     mv autoload/acp.vim $HOME/.vim/autoload/acp.vim
874     mv doc/acp.jax $HOME/.vim/doc/acp.jax 
875     mv doc/acp.txt $HOME/.vim/doc/acp.txt 
876     
877 (4). 使用方法
878     Once this plugin is installed, auto-popup is enabled at startup by default.
879     Which completion method is used depends on the text before the cursor. The
880     default behavior is as follows:
881         kind      filetype    text before the cursor ~
882         Keyword   *           two keyword characters
883         Filename  *           a filename character + a path separator
884                               +0 or more filename character
885         Omni      ruby        ".", "::" or non-word character + ":"
886                               (|+ruby| required.)
887         Omni      python      "."(|+python| required.)
888         Omni      xml         "<", "</" or("<" + non-">" characters + " ")
889         Omni      html/xhtml  "<", "</" or("<" + non-">" characters + " ")
890         Omni      css         (":", ";", "{", "^", "@", or "!")
891                               +0 or 1 space

 #=============================================================================
  2  轉載請註明出處: http://blog.csdn.net/tge7618291

                     http://nuoerlz.35free.net

  8 #=============================================================================
  9 1. 查看 key 相關信息說明的命令  :help keycodes
 10 
 11 #=============================================================================
 12 2. ctags
 13 (1). 幫助手冊查看
 14     :help usr_29
 15 
 16 (2). 功能
 17     ctags的功能, 只要在unix/linux環境編程過的人都知道它的歷害! 我在這也作個小
 18     小介紹吧ndow=0: 對瀏覽代碼非常的方便, 可以在函數, 變量之間跳來跳去等等.(注
 19             意: 我這裏說到的僅是小小的一部分!).
 20 
 21 (3). 安裝
 22     首先, 下載ctags安裝包, 然後解壓並安裝, 命令如下:
 23     $ tar -xzvf ctags-5.6.tar.gz
 24     $ cd ctags-5.6
 25     $ make
 26     # make install   // 需要root權限
 27         或:
 28         $ tar -xzvf ctags-5.7.tar.gz
 29         $ cd ctags-5.7
 30         $ ./configure
 31         # make
 32         # make install
 33 
 34 
 35 (4). 使用方法
 36     然後去你的源碼目錄, 如果你的源碼是多層的目錄, 就去最上層的目錄, 在該目錄下
 37     運行命令: ctags -R
 38     我現在以 vim71 的源碼目錄做演示
 39     $ cd /home/nuoerll/vim71
 40     $ ctags -R
 41     
 42     此時在/home/nuoerll/vim71目錄下會生成一個 tags 文件, 現在用vim打開
 43     /home/nuoerll/vim71/src/main.c
 44     $ vim /home/nuoerll/vim71/src/main.c
 45     
 46     再在vim中運行命令:
 47     :set tags=/home/nuoerll/vim71/tags
 48     該命令將tags文件加入到vim中來, 你也可以將這句話放到~/.vimrc中去, 如果你經
 49     常在這個工程編程的話.
 50     對於經常在不同工程間編程, 可以在.vimrc中設置:
 51         set tags=tags;    // ; 不能沒有
 52         set autochdir
 53 
 54 (5). 使用例子
 55     把光標定位到某一函數名上, 按下 Ctar + ], vim就可以自動切換到該函數定義處!
 56     要返回只需要按下Ctrl + t .
 57     更多用法, 在vim命令模式輸入 :help usr_29 查看即可.
 58 
 59 
 60 #=============================================================================
 61 3. TagList 插件
 62 (1). 幫助手冊查看
 63     :help taglist.txt
 64 
 65 (2). 功能
 66     高效地瀏覽源碼, 其功能就像vc中的workpace, 那裏面列出了當前文件中的所有宏,
 67     全局變量, 函數名等.
 68 
 69 (3). 安裝
 70     下載taglist壓縮包, 然後把解壓的兩個文件taglist.vim 和 taglist.txt 分別放到
 71     $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
 72 
 73 (4). 使用方法
 74     首先請先在你的~/.vimrc文件中添加下面語句:
 75         let Tlist_Ctags_Cmd='/bin/ctags'   // 若在windows中應寫成: let/
 76                             Tlist_Ctags_Cmd='ctags.exe'
 77         let Tlist_Show_One_File=1
 78         let Tlist_OnlyWindow=1
 79         let Tlist_Use_Right_Window=0
 80         let Tlist_Sort_Type='name'
 81         let Tlist_Exit_OnlyWindow=1
 82         let Tlist_Show_Menu=1
 83         let Tlist_Max_Submenu_Items=10
 84         let Tlist_Max_Tag_length=20
 85         let Tlist_Use_SingleClick=0
 86         let Tlist_Auto_Open=0
 87         let Tlist_Close_On_Select=0
 88         let Tlist_File_Fold_Auto_Close=1
 89         let Tlist_GainFocus_On_ToggleOpen=0
 90         let Tlist_Process_File_Always=1
 91         let Tlist_WinHeight=10
 92         let Tlist_WinWidth=18
 93         let Tlist_Use_Horiz_Window=0
 94 
 95     
 96     此時用vim打開一個c源文件試試:
 97     $ vim ~/vim/src/main.c
 98     
 99     進入vim後用下面的命令打開taglist窗口.
100     :Tlist
101 
102     爲了更方便地使用, 可以在.vimrc文件中加入:
103         map <silent> <leader>tl :TlistToggle<CR>
104     這樣就可以用 ",tl" 命令進行taglist窗口的打開和關閉之間方便切換了. // 這裏
105     的","是我.vimrc設置的leader, 你也可以設置成別的, 在.vimrc中修改即可, 如我
106     的: let mapleader=","
107         
108     
109 #=============================================================================
110 4. WinManager 插件
111 (1). 幫助手冊查看
112     :help winmanager
113 
114 (2). 功能
115     管理各個窗口, 或者說整合各個窗口.
116 
117 (3). 安裝
118     下載WinManager.zip壓縮包, 解壓後把*.vim文件放到 $HOME/.vim/plugin 目錄中,
119     把*.txt文件放到 $HOME/.vim/doc 目錄中.
120 
121 (4). 使用方法
122     在.vimrc中加入如下設置:
123     let g:winManagerWindowLayout='FileExplorer|BufExplorer'  // 這裏可以設置/
124     爲多個窗口, 如'FileExplorer|BufExplorer|TagList'
125     let g:persistentBehaviour=0             // 只剩一個窗口時, 退出vim.
126     let g:winManagerWidth=20
127     let g:defaultExplorer=1
128     nmap <silent> <leader>fir :FirstExplorerWindow<cr>
129     nmap <silent> <leader>bot :BottomExplorerWindow<cr>
130     nmap <silent> <leader>wm :WMToggle<cr>
131 
132 (5). 使用例子
133     在終端輸入vim啓動vim:
134     $vim
135     在正常模式下, 敲入 ",wm" 即可看到, vim的左側新建了兩個窗口:FileExplorer和
136     BufExplorer, 這樣我們即可在FileExplorer窗口很方便地對目錄進行查看, 編輯等
137     操作; 在BufExplorer窗口中查看當前vim已經打開那些文件.
138 
139 
140 #=============================================================================
141 5. cscope
142 (1). 幫助手冊查看
143     :help if_cscop.txt
144 
145 (2). 功能
146     用Cscope自己的話說 - "你可以把它當做是超過頻的ctags", 其功能和強大程度可見
147     一斑吧, 關於它的介紹我就不詳細說了, 如果你安裝好了前文介紹的幫助手冊.
148 
149 (3). 安裝
150     如果是在linux環境中, cscope一般都會隨系統一起安裝了; 在windows環境中, 則需
151     要下載windows版本的(cscope.exe), 然後把它放到path環境變量所設
152     置的目錄中(如: C:/Program Files/Vim/vim72).
153 
154 (4). 使用方法
155     在.vimrc中增加如下設置, 就可以利用相應的快捷鍵進行不同的查找了.
156         if has("cscope")
157             set cscopetag   " 使支持用 Ctrl+]  和 Ctrl+t 快捷鍵在代碼間跳來跳去
158             " check cscope for definition of a symbol before checking ctags:
159             " set to 1 if you want the reverse search order.
160             set csto=1
161 
162             " add any cscope database in current directory
163             if filereadable("cscope.out")
164                 cs add cscope.out
165             " else add the database pointed to by environment variable
166             elseif $CSCOPE_DB !=""
167                 cs add $CSCOPE_DB
168             endif
169 
170             " show msg when any other cscope db added
171             set cscopeverbose
172 
173             nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>
174             nmap <C-/>g :cs find g <C-R>=expand("<cword>")<CR><CR>
175             nmap <C-/>c :cs find c <C-R>=expand("<cword>")<CR><CR>
176             nmap <C-/>t :cs find t <C-R>=expand("<cword>")<CR><CR>
177             nmap <C-/>e :cs find e <C-R>=expand("<cword>")<CR><CR>
178             nmap <C-/>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
179             nmap <C-/>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
180             nmap <C-/>d :cs find d <C-R>=expand("<cword>")<CR><CR>
181         endif
182 
183 (5). 使用例子
184     首先進入源碼目錄, 在linux終端中輸入以下命令以創建cscope數據庫:
185         $ find ~/work/..Project/ -name "*.h" -o -name "*.cpp" > cscope.files
186         $ cscope -bkq -i cscope.files
187     如果是在windows環境中, 則換成如下命令:
188         dir /s /b *.cpp *.h > cscope.files
189         cscope -b -q -k -i cscope.files
190 
191     然後, 用vim打開一個源文件(如: vim main.cpp),
192     打開後, 第一件事就是導入cscope數據庫了:
193         :cs add /home/yourname/workpace/cscope.out /home/yourname/workpace
194 
195     cscope數據庫導入成功後, 就可以利用"步驟(4)"中定義的快捷鍵進行相關的查找,
196     瀏覽等操作了(當然也可以直接利用相關命令, 嘿嘿).
197 
198 #=============================================================================
199 5. c.vim 插件
200 (1). 幫助手冊查看
201     help csupport
202 
203 (2). 功能
204     C/C++-IDE for Vim/gVim. 簡單的說, 就是如果安裝配置好後, vim/gvim就是一個
205     c/c++編程的一個IDE, 其功能堪比windows裏常用的vc.
206 
207 (3). 安裝
208     下載cvim.zip壓縮包後, 把壓縮包copy到 $HOME/.vim 目錄(windows下, copy 到
209             C:/Program Files/Vim/vimfiles)下解壓, 即可.
210         unzip cvim.zip    // 解壓命令
211         
212 (4). 使用方法
213     安裝好後就可以直接用了, 具體例子看"使用例子".
214     
215 (5). 使用例子
216     在終端用vim打開一個c文件:
217         $vim hello.c
218     進入vim, 敲入 "/im" 即可發現一個main函數框架就這樣快捷簡單完美地寫出.    
219 
220     我比效常用的的操作有(第一列爲命令, 第二列爲說明, 第三列爲該命令所支持的模
221             式(n:普通模式, v:可視模式, i:插入模式):
222           -- Help -----------------------------------------------
223           /hm       show manual for word under the cursor(n,i)
224           /hp       show plugin help                      (n,i)
225 
226           -- Comments -------------------------------------------
227           /cl       end-of-line comment                 (n,v,i)
228           /cj       adjust end-of-line comment(s)      (n,v,i)
229           /cs       set end-of-line comment column      (n)
230           /c*       code -> comment /* */               (n,v)
231           /cc       code -> comment //                  (n,v)
232           /co       comment -> code                     (n,v)
233           /cfr      frame comment                       (n,i)
234           /cfu      function comment                    (n,i)
235           /cme      method description                  (n,i)
236           /ccl      class description                  (n,i)
237           /cd       date                                (n,v,i)
238           /ct       date /& time                        (n,v,i)
239 
240           -- Statements ------------------------------------------
241           /sd       do { } while                        (n,v,i)
242           /sfo      for { }                            (n,v,i)
243           /sife     if { } else { }                    (n,v,i)
244           /se       else { }                            (n,v,i)
245           /swh      while { }                          (n,v,i)
246           /ss       switch                              (n,v,i)
247 
248           -- Preprocessor -----------------------------------------
249           /p<       #include <>                        (n,i)
250           /p''      #include ""                        (n,i)
251           /pd       #define                            (n,i)
252           /pu       #undef                              (n,i)
253           /pie      #if  #else #endif                  (n,v,i)
254           /pid      #ifdef #else #endif                (n,v,i)
255           /pin      #ifndef #else #endif                (n,v,i)
256           /pind     #ifndef #def #endif                (n,v,i)
257           /pi0      #if 0 #endif                        (n,v,i)
258           /pr0      remove #if 0 #endif                (n,i)
259           /pe       #error                              (n,i)
260           /pl       #line                              (n,i)
261           /pp       #pragma                            (n,i)
262 
263           -- Idioms ------------------------------------------------
264           /if       function                            (n,v,i)
265           /isf      static function                    (n,v,i)
266           /im       main()                              (n,v,i)
267           /i0       for( x=0; x<n; x+=1 )              (n,v,i)
268           /in       for( x=n-1; x>=0; x-=1 )            (n,v,i)
269           /ie       enum   + typedef                    (n,i)
270           /is       struct + typedef                    (n,i)
271           /iu       union  + typedef                    (n,i)
272           /ip       printf()                            (n,i)
273           /isc      scanf()                            (n,i)
274           /ica      p=calloc()                          (n,i)
275           /ima      p=malloc()                          (n,i)
276           /isi      sizeof()                            (n,v,i)
277           /ias      assert()                            (n,v)
278           /ii       open input file                    (n,i)
279           /io       open output file                    (n,i)
280 
281           -- Snippets ------------------------------------------------
282           /nr       read code snippet                  (n,i)
283           /nw       write code snippet                  (n,v,i)
284           /ne       edit code snippet                  (n,i)
285           /np       pick up prototype                  (n,v,i)
286           /ni       insert prototype(s)                (n,i)
287           /nc       clear  prototype(s)                (n,i)
288           /ns       show   prototype(s)                (n,i)
289           /ntl      edit local templates                (n,i)
290           /ntg      edit global templates              (n,i)
291           /ntr      rebuild templates                  (n,i)
292 
293           -- C++ ----------------------------------------------------
294           /+co      cout  <<  << endl;                  (n,i)
295           /+c       class                              (n,i)
296           /+cn      class (using new)                   (n,i)
297           /+ci      class implementation                (n,i)
298           /+cni     class (using new) implementation    (n,i)
299           /+mi      method implementation              (n,i)
300           /+ai      accessor implementation            (n,i)
301 
302           /+tc      template class                      (n,i)
303           /+tcn     template class (using new)          (n,i)
304           /+tci     template class implementation      (n,i)
305           /+tcni    template class (using new) impl.    (n,i)
306           /+tmi     template method implementation      (n,i)
307           /+tai     template accessor implementation    (n,i)
308 
309           /+tf      template function                  (n,i)
310           /+ec      error class                        (n,i)
311           /+tr      try ... catch                      (n,v,i)
312           /+ca      catch                              (n,v,i)
313           /+c.      catch(...)                          (n,v,i)
314 
315           -- Run ---------------------------------------------------
316           /rc       save and compile                    (n,i)
317           /rl       link                                (n,i)
318           /rr       run                                (n,i)
319           /ra       set comand line arguments          (n,i)
320           /rm       run make                            (n,i)
321           /rg       cmd. line arg. for make            (n,i)
322           /rp       run splint                          (n,i)
323           /ri       cmd. line arg. for splint          (n,i)
324           /rk       run CodeCheck (TM)                  (n,i)
325           /re       cmd. line arg. for CodeCheck(TM)   (n,i)
326           /rd       run indent                          (n,v,i)
327           /rh       hardcopy buffer                    (n,v,i)
328           /rs       show plugin settings                (n,i)
329           /rx       set xterm size                      (n, only Linux/UNIX & GUI)
330           /ro       change output destination          (n,i)
331                 
332     關於此插件的更多功能和各種說明, 請查看幫助手冊, help csupport.
333 
334             
335 #=============================================================================
336 6. omnicppcoplete 插件
337 (1). 幫助手冊查看
338     :help omnicppcoplete
339 (2). 功能
340     實現像vc那樣的代碼自動補全功能, 比如 this-><Ctrl+X><Ctrl+O> 後, 將出現一個
341     提示框, 其中包含了this指針所有可以接收的函數或數據成員等.
342 (3). 安裝
343     把下載下來的 omnicppcoplete-0.41.zip 壓縮包copy到 $HOME/.vim/(windows 復
344             制到 C:/Program Files/Vim/vimfiles ), 然後解壓, 即可.
345 (4). 使用方法
346     在.vimrc中添加以下兩條語句:
347         set nocp   "不兼容vi
348         filetype plugin on  "開啓文件類型識別功能
349     進入c++源碼目錄, 在終端執行命令 ctags -R --c++-kinds=+p --fields=+iaS
350     --extra=+q .
351 (5). 使用例子
352     編寫c++代碼時, 如要自動補全, 敲入 Ctrl+X Ctrl+O, 即可在出現的提示框中用
353     Ctrl+N 選擇符合要求的.
354 
355 
356 #=============================================================================
357 7. a.vim插件
358 (1). 幫助手冊查看
359     這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命令
360     , 但是用起來真的是很方便.
361 (2). 功能
362     在 .h 和 .c/.cpp 文件中切換. (英文原句 "A few of quick commands to swtich
363             between source files and header files quickly.")
364 (3). 安裝
365     把下載到的a.vim插件放到 $HOME/.vim/plugin 目錄下, 即可.
366 (4). 使用方法
367     只要在vim中輸入以下命令即可完成相應的功能:
368         :A switches to the header file corresponding to the current file being
369             edited (or vise versa)
370         :AS splits and switches
371         :AV vertical splits and switches
372         :AT new tab and switches
373         :AN cycles through matches
374         :IH switches to file under cursor
375         :IHS splits and switches
376         :IHV vertical splits and switches
377         :IHT new tab and switches
378         :IHN cycles through matches
379         <Leader>ih switches to file under cursor
380         <Leader>is switches to the alternate file of file under cursor(e.g.
381                 on  <foo.h> switches to foo.cpp)
382         <Leader>ihn cycles through matches
383 
384 #=============================================================================
385 8. VisualMark.vim插件
386 (1). 幫助手冊查看
387     這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命令
388     , 但是用起來真的是很方便.
389 (2). 功能
390     高亮書籤.
391 (3). 安裝
392     把下載好的VisualMark.vim插件放到 $HOME/.vim/plugin 目錄下, 即可.
393 (4). 使用方法
394     只要在vim中執行以下命令即可完成相應的功能:
395          1.  For gvim, use "Ctrl + F2" to toggle a visual mark.
396              For both vim and gvim, use "mm" to toggle a visual mark.
397          2.  Use "F2" to navigate through the visual marks forward in the
398          file.
399          3.  Use "Shift + F2" to navigate backwards.
400 
401 #=============================================================================
402 9. Mark.vim插件
403 (1). 幫助手冊查看
404      這個插件沒有幫助手冊, 不過大可放心使用, 其提供的功能也不是很多, 就幾條命
405      令, 但是用起來真的是很方便.
406 
407 (2). 功能
408      這個插件與vim中自帶的'*'與'#'非常相像. 不同之處是: vim中的'*'與'#'命令只
409      能同時高亮一個同類詞組(或正則表達式的搜索結果), 而Mark.vim插件可以同時高
410      亮多個.
411 
412 (3). 安裝
413     把下載好的Mark.vim插件放到 $HOME/.vim/plugin 目錄中, 即可.
414 
415 (4). 使用方法
416     /m      mark or unmark the word under (or before) the cursor
417     /r      manually input a regular expression. 用於搜索.
418     /n      clear this mark (i.e. the mark under the cursor), or clear all
419             highlighted marks .
420     /*      把光標向前切換到當前被Mark的MarkWords中的下一個MarkWord.
421     /#      把光標向後切換到當前被Mark的MarkWords中的上一個MarkWord.
422     //      把光標向前切換到所有被Mark的MarkWords中的下一個MarkWord.
423     /?      把光標向後切換到所有被Mark的MarkWords中的上一個MarkWord.
424 
425         說明: 這些命令中的 '/' 是 vim 中的 mapleader, 你也可以設置爲別的: 如,
426         若要設置爲 ',', 把下面這條語句加到.vimrc文件中, 即可,
427             let mapleader=","
428 
429 
430 #=============================================================================
431 10. code_complete.vim插件
432 (1). 幫助手冊查看
433 (2). 功能
434      函數參數提示.
435 
436 (3). 安裝
437      下載code_complete.vim插件放到 C:/Program Files/Vim/vimfiles 目錄中, 即可.
438 
439 (4). 使用方法
440      進入源碼目錄, 執行如下命令:
441      ctags -R --c-kinds=+p --fields=+S .
442 
443 (5). 使用例子
444 " Usage:
445 "           hotkey:
446 "              "<tab>" (default value of g:completekey)
447 "               Do all the jobs with this key, see
448 "           example:
449 "               press <tab> after function name and (
450 "                 foo ( <tab>
451 "               becomes:
452 "                 foo ( /<first param>`,/<second param>` )
453 "               press <tab> after code template
454 "                 if <tab>
455 "               becomes:
456 "                 if( /<...>` )
457 "                 {
458 "                     /<...>`
459 "                 }
460 
461 
462 #=============================================================================
463 11. autoproto.vim
464 Using this script, typing ``(`` will result in (|), where | is the cursor
465         position and the double backticks are just marking input. Typing a
466         ``)`` will move the cursor outside the parens. This moving outside
467 works even in nested scenarios. Typing ``if(my_array['key`` results in
468         if(my_array['key|']) and ``)`` gets you if(my_array['key'])|.
469 
470 The paired characters are: [, (, {, ", ';   //"
471 
472 If you like this script, you should also check out surround.vim
473 
474 
475 
476 
477 #=============================================================================
478 12. pyclewn
479 pyclewn在unix, windows下的安裝方法:
480 http://pyclewn.wiki.sourceforge.net/install+
481 
482 下載安裝python
483 http://www.python.org/download/
484 
485 python補丁(pywin32-212.win32-py2.6.txt)(對pyclewn)下載安裝
486 http://sourceforge.net/project/platformdownload.php?group_id=78018
487 
488 下載安裝MimGW或Cywin
489 
490 下載安裝pyclewn
491 http://sourceforge.net/project/showfiles.php?group_id=212808
492 
493 (1). 幫助手冊查看
494 (2). 功能
495 (3). 安裝
496 (4). 使用方法
497 (5). 使用例子
498 
499 
500 #=============================================================================
501 13. project.vim
502 (1). 幫助手冊查看
503     :help project.txt
504 
505 (2). 功能
506     組織管理工程, 方便於瀏覽, 打開, 查找文件等.
507 
508 (3). 安裝
509     下載project.vim壓縮包(如: project.gz), 然後把解壓的兩個文件project.vim 和
510     project.txt 分別放到 $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
511 
512 (4). 使用方法
513     在.vimrc中加入以下設置:
514         // 切換打開和關閉project窗口
515         nmap <silent> <Leader>P <Plug>ToggleProject
516         //插件項目窗口寬度.    默認值: 24
517         let g:proj_window_width=20 //當按空格鍵 <space> 或者單擊鼠標左鍵/
518                                 <LeftMouse>時項目窗口寬度增加量,默認值:100
519         let g:proj_window_increment=90
520         let g:proj_flags='i'    //當選擇打開一個文件時會在命令行顯示文件名和當
521                                 前工作路徑.
522         let g:proj_flags='m'    //在常規模式下開啓 |CTRL-W_o| 和
523                                 |CTRL-W_CTRL_O| 映射, 使得當前緩衝區成爲唯一可
524                                 見的緩衝區, 但是項目窗口仍然可見.
525         let g:proj_flags='s'    //開啓語法高亮.
526         let g:proj_flags='t'    //用按 <space> 進行窗口加寬.
527         let g:proj_flags='c'    //設置後, 在項目窗口中打開文件後會自動關閉項目
528                                 窗口.
529         //let g:proj_flags='F'   //顯示浮動項目窗口. 關閉窗口的自動調整大小和窗
530                                 口替換.
531         let g:proj_flags='L'    //自動根據CD設置切換目錄.
532         //let g:proj_flags='n'    //顯示行號.
533         let g:proj_flags='S'    //啓用排序.
534         let g:proj_flags='T'    //子項目的摺疊在更新時會緊跟在當前摺疊下方顯示(
535                                 而不是其底部).
536         let g:proj_flags='v'    //設置後將, 按 /G 搜索時用 :vimgrep 取代 :grep.
537         //let g:proj_run1='!p4 edit %f'    //g:proj_run1 ...  g:proj_run9 用法.
538         let g:proj_run3='silent !gvim %f'
539 
540 (5). 使用例子
541     1. 在源碼目錄下建立一個工程文件: exampleProject
542         $ gvim exampleProject
543 
544     2. 在exampleProject文件中定入:
545        MyProject="E:/desktop_item/tmp/0virtual/nehe2/LVHM/test" CD=. flag=r
546        filter="*akefile*" {
547         Header file=. CD=. flag=r filter="*.h" {
548         }
549         Source file=. CD=. flag=r filter="*.cpp" {
550         }
551        }
552 
553     3. 在光標定位到第一行, 敲入:
554         /R
555        exampleProject文件改變, 如下:
556              MyProject="E:/desktop_item/tmp/0virtual/nehe2/LVHM/test" CD=./
557                              flag=r filter="*akefile*" {
558               makefile
559               Header file=. CD=. flag=r filter="*.h" {
560                MainFrm.h
561                Resource.h
562                StdAfx.h
563                test.h
564                testDoc.h
565                testView.h
566               }
567               Source file=. CD=. flag=r filter="*.cpp" {
568                MainFrm.cpp
569                StdAfx.cpp
570                test.cpp
571                testDoc.cpp
572                testView.cpp
573               }
574              }
575 
576     4. 小測一下:
577         把光標某個文件名上, 敲下 Enter 可以看到, 對應的文件在左邊的窗口顯示出
578         來.
579 
580     5. 更多用法參考.vimrc的相關設置的說明或 help project.txt 查找幫助.
581 
582 
583 #=============================================================================
584 14. NERD_tree.vim
585 (1). 幫助手冊查看
586     help NERD_tree
587 
588 (2). 功能
589     目錄樹, 同時還可以對文件進行打開操作等.
590 
591 (3). 安裝
592     下載NERD_tree壓縮包, 然後把解壓的兩個文件NERD_tree.vim 和 NERD_tree.txt 分
593     別放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
594 
595 (4). 使用方法
596 
597 (5). 使用例子
598     // let loaded_nerd_tree=1    // 禁用所有與NERD_tree有關的命令
599     nmap <silent> <leader>tto :NERDTreeToggle<cr>
600     let NERDTreeIgnore=['/.vim$','/~$']    // 不顯示指定的類型的文件
601     let NERDTreeShowHidden=0    // 不顯示隱藏文件(好像只在linux環境中有效)
602     let NERDTreeSortOrder=['//$','/.cpp$','/.c$','/.h$''*']    // 排序
603     let NERDTreeCaseSensitiveSort=0     // 不分大小寫排序
604     let NERDTreeWinSize=30
605     // let NERDTreeShowLineNumbers=1
606     let NERDTreeShowBookmarks=1
607     let NERDTreeQuitOnOpen=1    // 打開文件後, 關閉NERDTrre窗口
608     // let NERDTreeHighlightCursorline=1     // 高亮NERDTrre窗口的當前行
609     // nmap <silent> <leader>tmk :Bookmark expand(/"<cword>/")<cr>
610 
611 
612 #=============================================================================
613 15. NERD_commenter.vim
614 (1). 幫助手冊查看
615     help NERD_commenter.
616 
617 (2). 功能
618     源碼文檔註釋.
619 
620 (3). 安裝
621     下載NERD_commenter壓縮包, 然後把解壓的兩個文件NERD_commenter.vim 和
622     NERD_commenter.txt 分別放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
623 
624 (4). 使用方法
625 (5). 使用例子
626     " let NERD_java_alt_style=1
627     " Default mapping: [count],cc  " 以行爲單位進行註釋.
628     " ,c<space>    comment <--> uncomment.
629     " ,cm          " 以段作爲單位進行註釋.
630     " ,cs          " 簡潔美觀式註釋.
631     " ,cy          " Same as ,cc except that the commented line(s) are yanked first.
632     " ,c$          " 註釋當前光標到行未的內容.
633     " ,cA          " 在行尾進行手動輸入註釋內容.
634     " ,ca          " 切換註釋方式(/**/ <--> //).
635     " ,cl          " Same cc, 並且左對齊.
636     " ,cb          " Same cc, 並且兩端對齊.
637     " ,cu          " Uncomments the selected line(s).
638 
639 
640 #=============================================================================
641 16. sketch.vim   用鼠標作畫
642 map <silent> <leader>ske :call ToggleSketch()<CR>
643 
644 
645 
646 
647 #=============================================================================
648 17. Calendar.vim
649 map <silent> <leader>cal :Calendar<cr>
650 map <silent> <leader>cah :CalendarH<cr>
651 
652 
653 
654 #=============================================================================
655 18. DoxygenToolkit.vim
656 (1). 代碼文檔工具
657 let g:DoxygenToolkit_commentType = "C"
658 let g:DoxygenToolkit_briefTag_pre="@Synopsis  "
659 let g:DoxygenToolkit_paramTag_pre="@Param"
660 let g:DoxygenToolkit_returnTag="@Returns  "
661 let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
662 let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------"
663 let g:DoxygenToolkit_authorName="Mathias Lorente"
664 let g:DoxygenToolkit_licenseTag="My own license"
665 
666 
667 
668 #=============================================================================
669 19. cpp.vim
670 (1). c/c++類名, 函數等高亮
671 install details
672 Make a backup copy of syntax/vim.cpp and overwrite syntax/vim.cpp with this file.
673 
674 
675 
676 #=============================================================================
677 20. javacomplete.vim
678 (1). 幫助手冊查看
679     :help javacomplete.txt
680 (2). 功能
681     進行java類, 包, 方法等補全.
682 (3). 安裝
683     1. 下載, 解壓, 把相應的文件copy到相應的目錄下.
684     2. 對Reflection.java進行編譯, 編譯命令爲:
685         javac -source 1.4 Reflection.java
686     3. 把編譯生成的Reflection.class文件移動到vim的$HOME目錄下.(注意是移動, 而
687             不是複製, 最好保證系統中只有一個Reflection.class文件, 且在vim的
688             $HOME目錄下.)
689     4. 在.vimrc中加入:
690         setlocal completefunc=javacomplete#CompleteParamsInfo
691         autocmd FileType c set omnifunc=ccomplete#Complete
692         autocmd FileType css set omnifunc=csscomplete#CompleteCSS
693         autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
694         autocmd FileType java set omnifunc=javacomplete#Complete
695         autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
696         autocmd FileType php set omnifunc=phpcomplete#CompletePHP
697         autocmd FileType python set omnifunc=pythoncomplete#Complete
698         autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
699 (4). 使用方法
700 (5). 使用例子
701      Math.<C-X><C-O>
702 
703 
704 
705 #=============================================================================
706 21. JumpInCode_Plus.vim
707 (1). 幫助手冊查看
708     http://www.vim.org/scripts/script.php?script_id=2862
709 
710 (2). 功能
711     <leader>jc  Generate tags and cscope database from current directory to :
712                    CurrentDirectory/OutDB/cscope.out,tags
713     <leader>jst       list existed tags full name and choose tags
714     <leader>jsc      list existed cscope database full name and choose cscope.out
715 
716 (3). 安裝
717     把JumpInCode_Plus.vim 放到 $VIM/vimfiles/plugin
718 
719 (4). 使用方法
720 (5). 使用例子
721 
722 
723 
724 #=============================================================================
725 22. txtbrowser.zip
726 (1). 幫助手冊查看
727     http://www.vim.org/scripts/script.php?script_id=2899
728     http://guoyoooping.blog.163.com/blog/static/1357051832009112910162389/
729     :help txtbrowser
730 
731 (2). 功能
732        show the document map and syntax highlight in plain text.
733 
734 (3). 安裝
735     :help txtbrowser
736     1. 請首先安裝taglist插件(http://www.vim.org/scripts/script.php?script_id=273),
737     我相信玩Vim的沒有幾個人沒有安裝這個插件吧.
738 
739     2. 下載插件後解壓縮到目錄$HOME/.vim(或$HOME/vimfiles, $VIM/vimfiles). 然後將解壓後
740     的.ctag, 剪切到$HOME目錄下即可, 安裝完成後你的文件夾下應該有下面的幾個文件(請
741     注意目錄結構):
742         $HOME/.ctags - 用於標題標籤的生成.
743         $HOME/.vim/syntax/txt.vim - .txt文件的語法高亮文件.
744         $HOME/.vim/plugin/txtbrowser.vim - 瀏覽工具.
745         $HOME/.vim/doc/txtbrowser.txt - 英文幫助文檔.
746         $HOME/.vim/doc/txtbrowser.cnx - 中文幫助文檔.(別忘了打開然後執行
747                           ":helptags ."生成標籤)
748     由於版本1.1.1之前採用老的插件名, 請在安裝前先刪除低版本插件(主要是幫助文件, 原來的
749     名字叫txt.txt和txt_cn.txt), 否則在安裝新的幫助文檔時會提示標籤已經存在..
750 
751     3. 在你的.vimrc文件里加入下面三行, 然後重啓你的Vim:
752         syntax on
753         let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
754         au BufRead,BufNewFile *.txt setlocal ft=txt
755 
756     4. 本插件所有文件以fenc=utf8發佈. 籤於taglist對中文的支持有限, 你需要保證你的文
757     檔的enc值和fenc的值相等(例如, enc=cp936, fenc=cp936). 如果不等請將fenc的值設爲
758     相應的enc的值保(如:set fenc=cp936)存後並刷新(:TlistUpdate).
759 
760 (4). 使用方法
761     :help txtbrowser
762 (5). 使用例子
763 
764 
765 
766 #=============================================================================
767 23.  FindMate.vim
768 (1). 幫助手冊查看
769     help FindMate
770     http://www.vim.org/scripts/script.php?script_id=2871
771 
772 (2). 功能
773     快速查找文件
774 
775 (3). 安裝
776     下載FindMate壓縮包, 然後把解壓的兩個文件FindMate.vim 和 FindMate.txt 分別放到
777     $HOME/.vim/plugin 和 $HOME/.vim/doc 目錄中.
778 
779 (4). 使用方法
780         You can launch FindMate by typing:
781               ,, File_name
782         Or
783               :FindMate File_name
784         The shortcut can be redefined by using:
785               map your_shortcut   <Plug>FindMate
786         In your .vimrc file
787 
788 (5). 使用例子
789 
790 
791 
792 
793 #=============================================================================
794 24. ZoomWin.vim
795 (1). 幫助手冊查看
796     http://www.vim.org/scripts/script.php?script_id=508
797 
798 (2). 功能
799     Press <c-w>o : the current window zooms into a full screen
800     Press <c-w>o again: the previous set of windows is restored
801 
802 (3). 安裝
803     Press <c-w>o : the current window zooms into a full screen
804     Press <c-w>o again: the previous set of windows is restored
805 
806 (4). 使用方法
807 (5). 使用例子
808 
809 
810 
811 #=============================================================================
812 25. cpp_src.tar.bz2
813     tags for std c++ (STL, streams, ...) : Modified libstdc++ headers for use with ctags
814 (1). 幫助手冊查看
815     http://www.vim.org/scripts/script.php?script_id=2358
816 
817 (2). 功能
818 (3). 安裝
819     install details:
820     1. unpack
821     2. run
822         $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
823         $ mv tags cpp # or whatever
824     3. In Vim:
825         set tags+=/my/path/to/tags/cpp 
826 
827 (4). 使用方法
828 (5). 使用例子
829 
830 
831 
832 
833 #=============================================================================
834 26. grep.vim
835 (1). 幫助手冊查看
836     http://www.vim.org/scripts/script.php?script_id=311
837 
838 (2). 功能
839     The grep plugin integrates the grep, fgrep, egrep, and agrep tools with
840     Vim and allows you to search for a pattern in one or more files and jump
841     to them.
842 
843 (3). 安裝
844     1).
845     To use this plugin, you need the grep, fgrep, egrep, agrep, find and
846     xargs utilities. These tools are present in most of the Unix installations.
847     For MS-Windows systems, you can download the GNU grep and find utilities
848     from the following sites:
849        http://gnuwin32.sourceforge.net/packages/grep.htm
850        http://gnuwin32.sourceforge.net/packages/findutils.htm 
851     2).
852     把下載得到的grep.vim複製到 $HOME/plugin 目錄中.
853 
854 (4). 使用方法
855     :Grep
856 
857 (5). 使用例子
858 
859 #=============================================================================
860 27. autocomplpop.zip
861 (1). 幫助手冊查看
862     :help acp
863     http://www.vim.org/scripts/script.php?script_id=1879
864 
865 (2). 功能
866     With this plugin, your vim comes to automatically opens popup menu for
867     completions when you enter characters or move the cursor in Insert mode. It
868     won't prevent you continuing entering characters.
869 
870 (3). 安裝
871     autocomplpop.zip
872     mv plugin/acp.vim $HOME/.vim/plugin/acp.vim
873     mv autoload/acp.vim $HOME/.vim/autoload/acp.vim
874     mv doc/acp.jax $HOME/.vim/doc/acp.jax 
875     mv doc/acp.txt $HOME/.vim/doc/acp.txt 
876     
877 (4). 使用方法
878     Once this plugin is installed, auto-popup is enabled at startup by default.
879     Which completion method is used depends on the text before the cursor. The
880     default behavior is as follows:
881         kind      filetype    text before the cursor ~
882         Keyword   *           two keyword characters
883         Filename  *           a filename character + a path separator
884                               +0 or more filename character
885         Omni      ruby        ".", "::" or non-word character + ":"
886                               (|+ruby| required.)
887         Omni      python      "."(|+python| required.)
888         Omni      xml         "<", "</" or("<" + non-">" characters + " ")
889         Omni      html/xhtml  "<", "</" or("<" + non-">" characters + " ")
890         Omni      css         (":", ";", "{", "^", "@", or "!")
891                               +0 or 1 space

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章