vim学习笔记(10):vim命令大全

时间:2022-08-31 17:01:08
  1 进入vim的命令:      
  2 
  3     vim filename :打开或新建文件,并将光标置于第一行首  
  4 
  5     vim +n filename :打开文件,并将光标置于第n行首  
  6 
  7     vim + filename :打开文件,并将光标置于最后一行首  
  8 
  9     vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处  
 10 
 11     vim -r filename :在上次正用vim编辑时发生系统崩溃,恢复filename  
 12 
 13     vim filename….filename :打开多个文件,依次编辑  
 14 
 15 Vim配置:  
 16 
 17     all:列出所有选项设置情况  
 18 
 19     term:设置终端类型  
 20 
 21     ignorance:在搜索中忽略大小写  
 22 
 23     list:显示制表位(Ctrl+I)和行尾标志($)  
 24 
 25     number:显示行号  
 26 
 27     report:显示由面向行的命令修改过的数目  
 28 
 29     terse:显示简短的警告信息  
 30 
 31     warn:在转到别的文件时若没保存当前文件则显示NO write信息  
 32 
 33     nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符  
 34 
 35     nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始  
 36 
 37     mesg:允许vi显示其他用户用write写到自己终端上的信息  
 38 
 39     :set number / set nonumber :显示/不显示行号  
 40 
 41     :set ruler /set noruler:显示/不显示标尺  
 42 
 43     :set hlsearch 高亮显示查找到的单词  
 44 
 45     :set nohlsearch 关闭高亮显示  
 46 
 47     :syntax on        #语法高亮  
 48 
 49     :set nu        #显示行号  
 50 
 51     :set tabstop=4    #设置tab大小  
 52 
 53     :set softtabstop=4  
 54 
 55     :set autoindent    #自动缩进  
 56 
 57     :set cindent    #C语言格式里面的自动缩进  
 58 
 59 移动光标:  
 60 
 61     上:k nk:向上移动n行  
 62 
 63     下:j nj:向下移动n行  
 64 
 65     左:h nh:向左移动n列  
 66 
 67     右:l nl:向右移动n列  
 68 
 69     space:光标右移一个字符  
 70 
 71     Backspace:光标左移一个字符  
 72 
 73     Enter :光标下移一行  
 74 
 75     w或W :光标右移一个字至字首  
 76 
 77     b或B :光标左移一个字至字首  
 78 
 79     e或E :光标右移一个字至字尾  
 80 
 81     ) :光标移至句尾  
 82 
 83     ( :光标移至句首  
 84 
 85     }:光标移至段落开头  
 86 
 87     {:光标移至段落结尾  
 88 
 89     n$:光标移至第n行尾  
 90 
 91     H :光标移至屏幕顶行  
 92 
 93     M :光标移至屏幕中间行  
 94 
 95     L :光标移至屏幕最后行  
 96 
 97     0:(注意是数字零)光标移至当前行首  
 98 
 99     ^:移动光标到行首第一个非空字符上去  
100 
101     $:光标移至当前行尾  
102 
103     gg可以移到第一行  
104 
105     G移到最后一行  
106 
107     f<a>:移动光标到当前行的字符a上  
108 
109     F:相反  
110 
111     %:移动到与制匹配的括号上去(),{},[],<>等。  
112 
113     nG:移动到第n行上  
114 
115     G:到最后一行  
116 
117 屏幕翻滚类命令:  
118 
119     Ctrl+u:向文件首翻半屏  
120 
121     Ctrl+d:向文件尾翻半屏  
122 
123     Ctrl+f:向文件尾翻一屏  
124 
125     Ctrl+b:向文件首翻一屏  
126 
127     nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部  
128 
129 插入文本类命令:
130 
131     i :在光标前  
132 
133     I :在当前行首  
134 
135     a:光标后  
136 
137     A:在当前行尾  
138 
139     o:在当前行之下新开一行  
140 
141     O:在当前行之上新开一行  
142 
143     r:替换当前字符  
144 
145     R:替换当前字符及其后的字符,直至按ESC键  
146 
147     s:从当前光标位置处开始,以输入的文本替代指定数目的字符  
148 
149     S:删除指定数目的行,并以所输入文本代替之  
150 
151     ncw或nCW:修改指定数目的字  
152 
153     nCC:修改指定数目的行  
154 
155 删除命令:
156 
157     x或X:删除一个字符,x删除光标后的,而X删除光标前的  
158 
159     dw:删除一个单词  
160 
161     dnw:删除n个单词  
162 
163     dne:也可,只是删除到单词尾  
164 
165 do:删至行首  
166 
167     d$:删至行尾  
168 
169     dd:删除一行  
170 
171     ndd:删除当前行及其后n-1行  
172 
173     dnl:向右删除n个字母  
174 
175     dnh:向左删除n个字母  
176 
177     dnj:向下删除n行  
178 
179     dnk:向上删除n行  
180 
181     cnw[word]:将n个word改变为word  
182 
183     C$:改变到行尾  
184 
185     cc:改变整行  
186 
187     shift+j:删除行尾的换行符,下一行接上来了.  
188 
189 复制粘贴:  
190 
191     p:粘贴用x或d删除的文本  
192 
193     ynw:复制n个单词  
194 
195     yy:复制一行  
196 
197     ynl:复制n个字符  
198 
199     y$:复制当前光标至行尾处  
200 
201     nyy:拷贝n行  
202 
203 撤销:  
204 
205     u: 撤销前一次的操作  
206 
207     shif+u(U):撤销对该行的所有操作。  
208 
209 搜索及替换命令 :  
210 
211     /pattern:从光标开始处向文件尾搜索pattern  
212 
213     ?pattern:从光标开始处向文件首搜索pattern  
214 
215     n:在同一方向重复上一次搜索命令  
216 
217     N:在反方向上重复上一次搜索命令  
218 
219     cw【newword】:替换为newword  
220 
221     n: 继续查找  
222 
223     .:执行替换  
224 
225     :s/p1/p2/g:将当前行中所有p1均用p2替代,g表示执行用c表示需要确认  
226 
227     :n1,n2 s/p1/p2/g:将第n1至n2行中所有p1均用p2替代  
228 
229     :g/p1/s//p2/g:将文件中所有p1均用p2替换  
230 
231     :1,$ s/string1/string2/g:在全文中将string1替换为string2  
232 
233 书签:  
234 
235     m[a-z]:在文中做标记,标记号可为a-z的26个字母  
236 
237     `a:移动到标记a处  
238 
239 visual 模式:  
240 
241     v:进入visual 模式  
242 
243     V:进入行的visual 模式  
244 
245     ctrl+v:进如块操作模式用o和O改变选择的边的大小  
246 
247     在所有行插入相同的内容如include<,操作方法如下:  
248 
249     将光标移到开始插入的位置,按CTRL+V进入VISUAL模式,选择好模块后按I(shift+i),后插入要插入的文本,按[ESC]完成  
250 
251 行方式命令:  
252 
253     :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下  
254 
255     :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下  
256 
257     :n1,n2 d :将n1行到n2行之间的内容删除  
258 
259     :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之  
260 
261             若不指定n1,n2,则表示将整个文件内容作为command的输入  
262 
263 宏:  
264 
265     q[a-z]:开始记录但前开始的操作为宏,名称可为【a-z】,然后用q终止录制宏  
266 
267     reg:显示当前定义的所有的宏,用@[a-z]来在当前光标处执行宏[a-z]  
268 
269 窗口操作:  
270 
271     :split:分割一个窗口  
272 
273     :split file.c :为另一个文件file.c分隔窗口  
274 
275     :nsplit file.c: 为另一个文件file.c分隔窗口,并指定其行数  
276 
277     ctrl+w在窗口中切换  
278 
279     :close:关闭当前窗口  
280 
281 文件及其他:  
282 
283     :q:退出vi  
284 
285     :q!:不保存文件并退出vi  
286 
287     :e filename:打开文件filename进行编辑  
288 
289     :e! :放弃修改文件内容,重新载入该文件编辑  
290 
291     :w :保存当前文件  
292 
293     :wq :存盘退出  
294 
295     :ZZ:保存当前文档并退出VIM  
296 
297     :!command:执行shell命令command  
298 
299     :r!command:将命令command的输出结果放到当前行  
300 
301     :n1,n2 write temp.c 将本文件中的n1,到n2行写入temp.c这个文件中去  
302 
303     :read file.c 将文件file.c的内容插入到当前光标所在的下面  
304 
305     :0read file.c 将文件file.c的内容插入到当前文件的开始处(第0行)  
306 
307     :nread file.c 将文件file.c的内容插入到当前文件的第n行后面  
308 
309     :read !cmd :将外部命令cmd的输出插如到当前光标所在的下面  
310 
311 帮助:  
312 
313     :help :查看帮助文档,在这之中,按CTRL+] 进入超连接,按CTRL+O 返回。  
314 
315     :help subject :看某一主题的帮助,ZZ 退出帮助  
316 
317 其它常用:  
318 
319     :newtab   新建标签  
320 
321     :gt   转至下一个标签  
322 
323     :gT   转到上一个标签  
324 
325     :au GUIEnter * simalt ~x   启动时最大化 
326   
327