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 并将其插入当前文件的光标位置后面
设置类命令的选项
:setic忽略大小写noic禁用忽略大小写is查找短语时显示部分匹配hls高亮显示所有的匹配短语
