记录一些必要的基本命令。常用命令也可在终端输入 vimtutor 查看教程。
光标移动
h
光标向左移动;l
光标向右移动;j
光标向下移动;k
光标向上移动;w
光标向右移动一个单词;0
将光标移动到行首;CTRL f
向下翻页;CTRL b
向上翻页;CTRL d
向上翻半页;CTRL u
向上翻半页;
vim 的进入和退出
:q! <回车>
不保存退出;wq <回车>
保存退出;
文本编辑
删除
x
删除单个字符;dw
可从光标出删除至一个单词的末尾,就是删除一个单词,不包含它的第一个字符;d$
从当前光标删除到行末, 及删除光标后的全部内容;de
从当前光标删除至单词末尾,包括最后一个字符;dd
删除整行
插入
- 按
i
可插入文本; - 按
a
可在光标后插入文本;
添加
- 按
A
可在当前段末添加文本; - 按
a
可在当前光标后添加文本;
使用计数指定动作
在指令前输入数字会使它重复那么多次。
计数移动
- 输入
2w
会使光标向右移动两个单词; - 输入
3e
使光标向右移动到第三个单词的末尾;
计数删除
命令同文本编辑-删除,在命令中插入一个数字以删除更多;
如 d2w
删除两个单词、d2d
删除 2 行
撤销类命令
输入 u
撤销最后执行的命令,U
撤销对整行的修改, 欲撤消以前的撤消命令,恢复以前的操作结果,输入 CTRL - R
复制/置入类命令
- 输入
p
将最后一次删除的内容置入光标之后; - 输入
y
复制文本,使用p
粘贴文本;
使用v
进入可视模式,移动光标选中要复制的文本,按y
复制,p
粘贴;
替换类命令
- 输入
r 和一个字符
替换光标所在位置的字符 - 输入
R
可连续替换多个字符; - 输入
:s/old/new/g
可以替换 old 为 new ,/g
为全行匹配; - 替换两行之间出现的每个匹配串
:#,#s/old/new/g
其中#,#
代表的是替换操作的若干行中首位两行的行号;:%s/old/new/g
是替换整个文件中的每个匹配串;:%s/old/new/gc
会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换;
更改类命令
输入 ce
改变文本直到一个单词的末尾
c [number] motaion
number 表示数量, motaion 表示指令,如 w
代表单词, $
代表行末
定位及文件状态
CTRL G
显示当前编辑文件中当前光标所在位置以及文件状态信息。输入 G
则直接跳转到文件的某一指定行。
:number
跳转至指定行
搜索/查找
输入
/ 加任意字符
可在当前文件中查找该字符串,要回到之前的位置 按CTRL 0
,按n
切换至下一个;输入
%
可以查找配对的括号 )、]、} 将光标移动到( [ { 处,按%
可定位至配对的括号处;:set hls is
设置搜索匹配项高亮,:nohlsearch
移除高亮;:set ic
搜索忽略大小写;:set noic
禁用忽略大小写;
vim 内执行外部命令的方法
- 输入
:!
然后接着输入一个外部命令可以执行该外部命令;
保存文件
:w FILENAME
将当前文件保存至 FILENAME 里;v [motion] :w FILENAME
移动光标至目标行,按v
,然后移动光标选中要复制的文本,按:
会出现'<,'>
之后输入文件名,按回车即可将选中内容复制到新文件里。