Vim 常用命令
目录
vimtutor zh_CN 进入《Vim 使用教程》
模式
ESC
返回正常模式v
进入可视模式R
进入替换模式
进入与退出
进入:
vim 文件名 <回车>
普通进入sudo vim 文件名 <回车>
管理员进入
退去:
:q!
取消所有改动并退出:wq
保存改动并退出
命令和对象
许多改变文本的命令都由一个操作符和一个动作构成 在正常模式下修改命令的格式是:
operator [number] motion
其中:
operator
操作符,代表要做的事情,比如 d 代表删除[number]
可以附加的数字,代表动作重复的次数motion
动作,代表在所操作的文本上的移动,例如 w 代表单词(word),$ 代表行末等等
撤销
u
撤销之前的操作U
撤销在一行中所做的改动CTRL-R
撤销之前的撤销命令
滚屏
CTRL-f
向上滚动一屏CTRL-b
向下滚动一屏CTRL-d
向下滚动半屏CTRL-u
向上滚动半屏CTRL-e
向上滚动一行CTRL-y
向下滚动一行zz
将当前行移动到屏幕中央zt
将当前行移动到屏幕顶部zb
将当前行移动到屏幕底部
定位及文件状态
G
使当前光标跳转到文件最后一行gg
使当前光标跳转到文件第一行CTRL-G
显示当前编辑的文件名和文件中光标位置
移动
k
向上移动光标j
向下移动光标h
向左移动光标l
向右移动光标0
移动光标到行首^
移动光标到行首-非空字符$
移动光标到行末w
移动光标到下一个单词的开头e
移动光标到下一个单词的末尾b
移动光标到上一个单词的开头ge
移动光标到上一个单词的开头H
移动到屏幕顶部L
移动到屏幕低部:5
移动到第5行5|
移动到第5列
插入
i
从当前光标之前插入a
从当前光标之后插入I
从当前光标所在行首处插入A
从当前光标所在行的末尾插入o
在光标下方新的一行插入O
在光标上方新的一行插入
删除
x
删除当前光标字符dw
删除当前光标至下一个单词d$
或D
删除当前光标至整行的末尾dd
删除整行
复制
v
进入可视模式,移动光标选择要复制的字符y
复制高亮的文本yw
复制一个单词y$
复制当前光标至整行的末尾yy
复制当前光标所在行
置入
p
将最后一次删除的内容置入光标之后
更改
ch
以输入的文本替代前一个光标cl
或s
以输入的文本替代当前光标cc
或S
修改当前行ce
以输入的文本替代光标所在单词的末尾C
以输入的文本替代光标到所在行的末尾
替换
r
[替换字符] 将当前光标所在位置的字符替换掉R
[替换字符…] 将当前光标所在位置的字符连续替换掉:s/old/new
在一行内替换头一个字符串 old 为新的字符串 new:s/old/new/s
在一行内替换所有到字符串 old 为新的字符串 new:#,#s/old/new/g
在两行内替换所有到字符串 old 为新的字符串 new.其中 #,# 代表的是替换操作的若干行中首尾两行的行号:%s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new:%s/old/new/gc
进行全文替换时询问用户确认每个替换需添加 c 标志:%s/^/hello/g
在每一行开头加入hello:%s/$/hello/g
在每一行结尾加入hello:%s/ *$//g
删除每行末尾无用空格
搜索类
/kim
在当前文件中从上到下查找 kim/\cKim
在当前文件中从上到下查找 Kim 不区分大小写/jo[ha]n
搜索 john 或 joan?kim
在当前文件中从下到上查找 kim*
搜索当前光标下单词n
查找同上一次的字符串N
反向查找同上一次的字符串?
[搜索字符] 在当前文件中逆向查找该字符串CTRL-O
回到你之前的位置CTRL-I
会跳转到较新到位置
大小写
Vu
整行小写VU
整行大写veu
单词小写veU
单词大写
标记
m{a-z}
标记光标所在的位置,局部标记,只用于当前文件- `{a-z} 移动到标记位置
匹配命令
%
将光标放在)、]、},按下%会自动匹配对应到字符
自动补全
<TAB>
自己补全一个CTRL-D
查看有可能的补全结果
外部命令
:!command
显示外部命令 command:w FILENAME
将当前编辑文件保存到名为 FILENAME 的文件中:r FILENAME
提取磁盘文件 FILENAME 并将其插入当前文件的光标位置后面
设置类命令的选项
:set
ic
忽略大小写noic
禁用忽略大小写is
查找短语时显示部分匹配hls
高亮显示所有的匹配短语