经典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
892
893 (5). 使用例子
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911 #=============================================================================
912 "http://www.vim.org/scripts/script.php?script_id=1638" SourceCodeObedience
913 "http://www.vim.org/scripts/script.php?script_id=1581" lookupfile
914 "http://insenvim.sourceforge.net/index.php" Vim Intellisense
轉載于:https://blog.51cto.com/584250550/1242746
總結
以上是生活随笔為你收集整理的经典vim插件功能说明、安装方法和使用方法介绍(已更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么项目开放源代码之后就变成死项目 很
- 下一篇: 一台机器上运行多个ActiveMq