【原创】VIM常用命令
如有错误请指正 转载请注明来源
i:在光标位置前插入
I(大写i):在当前行行首插入
a:追加,在光标后插入
A:在当前行行尾追加
o:在当前行下另起一行插入
O:在当前行前新起一行插入
yy+n :复制当前行及前n-1行的内容 缺省n为当前行
p:粘贴 前加数字表示粘贴几次
x:删除光标所在处的字符 前加数字表示向后删除几个字符
X:删除光标前的字符 前加数字表示向前删除几个字符
d0:删除光标前一个字符到行首的内容
dw:删除一个单词
dd:删除整行
0.后悔药
u:撤销操作
1.光标移动
单字符移动
行内移动
0:移动到行首
^:移动到行首第一个非空字符
$:移动到行尾
f :向右跳到下一个相同字符位置,之后按;可以继续跳到再下一个相同字符位置
F:向左跳到下一个相同字符位置
A:移动到行位并处于追加状态
w或W:向右跳到下一个词的词首
e或E:移动到最近的单词词尾
b或B:移动到最近的单词词首
行间移动
gg: 移动到首行
G: 移动到末行
:n:移动到n行
:$ :移动到末行
ctrl+b :向上翻页
ctrl+f :向下翻页
ctrl+u :向上翻半页
ctrl+d :向后翻半页
H:移动到当前屏幕首行
M:移动到当前屏幕中间一行
L:移动到当前屏幕末行
- :上一行行首
+:下一行行首
2.窗口操作
开启新窗口
ctrl w n
:new :新建一个无名窗口
:new name 新建一个名字叫name的窗口
水平分割窗口
ctrl w s
:sp name 横向分割 在上方新打开一个名字叫name的文件 原本打开的窗口在下方
:vsp name 垂直分割 在左边新打开一个名字叫name的文件 原本打开的窗口在右边
窗口切换
通过ctrl w + j/k/h/l按方向切换窗口
连续按两次ctrl w轮换切换窗口
3.文本搜索与替换
替换命令 :[rang]s/src/dest/[flags]
[rang]:缺省为光标所在行
.:光标所在行
1:第一行
$:末行
'a :标记a所在行
.+1:光标所在行的下一行
$-1:倒数第二行
22,33:第22到第33行
%:所有行
[flags] 缺省为对[rang]范围内的第一个匹配项进行替换
g:对[rang]范围内的所有匹配项进行替换
c:在替换前请求用户确认
e:忽略执行过程中的错误
替换当前行中的内容 :s/src/dest/
:s/src/dest/:将当前行中的第一个src替换成dest
:s/src/dest/g :将当前行中所有的src替换成dest
:s/src/dest/gc:同上,但是每次替换会请求
注意:src可以使用正则表达式
替换某一行的内容 :行号s/src/dest/
:33s/src/dest/g :将33行中所有的src替换成dest
替换范围行的内容 :起始,末尾s/src/dest/
:10,20s/src/dest/g :将10到20行中的src都替换成dest
:%s/src/dest/g :将当前文档中所有的src替换成dest
:%s/^#//g:将全文开头的#去除
4.匹配删除 [rang]g/xxxx/d
[rang]缺省值为全文档范围
删除空行 :g/^\s*$/d
删除带“comment”的行 :g/comment/d
删除“#”开头的行:g/^#/d
5.列操作
①进入列操作模式:ctrl v
②光标移动选择区块
③针对选择的区块进行操作
复制 y
删除 d
替换 c
插入 shift i 然后输入要插入的内容
④退出列操作模式 连按两次ESC

浙公网安备 33010602011771号