Vim使用技巧不完全总结[不定期更新]

本文最后更新于2014年6月22日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

Vim操作/使用技巧

zz #将当前行放置在屏幕中间
z+[Enter] #将当前行滚至屏幕顶部
nz+[Enter] #将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

r #替换当前字符
R #替换当前字符及其后的字符,直至按下ESC键

s #删除当前字符,同时进入insert模式{相当于先按下x然后按下i}
S #删除当前行,并以所输入的文本代替{同时进入insert模式}

w #以单词为单位进行向后跳跃
b #以单词为单位进行向前跳跃

dw #删除以光标所在位置开头的那个单词[db则是进行反向删除单词]
d0 #删至行首
d$ #删至行尾


Vim操作技巧
插入文本类命令:
r  #替换当前字符
x  #删除当前字符
删除/复制命令:
d0  #删除至行首
d$  #删除至行尾
dd  #删除当前行
ndd  #删除当前行+其后(n-1)行
p   #粘贴(刚才复制/删除的内容)至当前行下面
P   #粘贴至当前行上面
y0  #复制至行首
y$  #复制至行尾
yy  #复制当前行
nyy  #复制当前行+其后(n-1)行
最后行方式命令:
:1,3 co 6  #将第1行到第3行之间的内容复制到第6行下
:1,3 m 6  #将第1行到第3行之间的内容移动到第6行下
:1,3 w file1.txt #将第1行到第3行之间的内容写入文件file1.txt
:e filename #打开文件filename进行编辑
:!command  #执行shell命令command
:r filename #将文件filename的内容引入当前行
:r !command #将shell命令command的执行结果引入当前行
:w !sudo tee %  #在编辑了一个只读文件之后发现本没有权限修改的情况下,保存修改
搜索及替换命令:
:s/com/con/g  #将文件内容中所有的com用con进行替换
搜索某个单词出现的次数『在163邮箱中搜索:vim count』:
:%s/the/&/gn #字符串”the”出现的次数(最后面的n表示不进行替换,只显示次数)
:%s/<the>/&/gn #单词”the”出现的次数(最后面的n表示不进行替换,只显示次数)
浏览目录:
:E  #注意,是大写的e (你可以用 j, k键上下移动,然后回车,进入一个目录,或是打开一个文件)
:ls  #查看缓冲区(:bn :bf :bl :bp)
Vim的字符相关技巧:
【guu 】 – 把一行的文字变成全小写。或是【Vu】
【gUU】 – 把一行的文件变成全大写。或是【VU】
按【v】键进入选择模式,然后移动光标选择你要的文本,按【u】转小写,按【U】转大写
【ga】 –  查看光标处字符的ascii码
【g8】 – 查看光标处字符的utf-8编码
【gf】  – 打开光标处所指的文件 (这个命令在打到#include头文件时挺好用的,当然,仅限于有路径的)
【*】或【#】在当前文件中搜索当前光标的单词  #相当于是单词搜索的快捷方式
Vim的复制粘贴相关技巧:
按【v】 键进入选择模式,然后按h,j,k,l移动光标,选择文本,然后按 【y】 进行复制,按 【p】 进行粘贴。
【dd】剪切一行(前面加个数字可以剪切n行),【p】粘贴
【yy】复制一行(前面加个数字可以复制n行),【p】粘贴
光标移动相关技巧:
【Ctrl + O】向后回退你的光标移动
【Ctrl + I 】向前追赶你的光标移动
这两个快捷键很有用,可以在Tab页和Windows中向前和向后trace你的光标键,这也方便你跳转光标。
在Vim中分屏浏览文件:
分屏启动Vim:

使用大写的O参数来垂直分屏
vim -On file1 file2 …

使用小写的o参数来水平分屏
vim -on file1 file2 …
注释: n是数字,表示分成几个屏。
关闭分屏:
关闭当前窗口。
Ctrl+W c
关闭当前窗口,如果只剩最后一个了,则退出Vim。
Ctrl+W q
分屏:
上下分割当前打开的文件。
Ctrl+W s
上下分割,并打开一个新的文件。
:sp filename
左右分割当前打开的文件。
Ctrl+W v
左右分割,并打开一个新的文件。
:vsp filename
在Vim中以Tab页方式浏览目录/文件:
分屏可能会让你不爽,你可能更喜欢像Chrome这样的分页式的浏览,那么你可以用下面的命令:
    :Te  全称是 :Texplorer
我们要在多个Tabe页中切换,在normal模式下,你可以使用下面三个按键(注意没有冒号):
    gt  – 到下一个页
    gT  –  到前一个页
   {i} gt – i是数字,到指定页,比如:5 gt 就是到第5页
你可以以使用 【:tabm {n}】来切换Tab页。
Vim光标跳转:
%  #跳转到相匹配的括号处
参考文章:

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/39.html

发表评论

邮箱地址不会被公开。 必填项已用*标注