vi来自于unix系统。vim则是vi的改进版。更多命令可以看终端里的提示,需要注意的是,终端的提示的意思是,首先需要输入一个冒号,然后再输入需要的命令。
基本步骤
- 使用
vim file_name
打开文件,此时进入普通模式。普通模式下,不能编辑文本,主要操作为删除、复制和粘贴。 - 按
insert
进入编辑模式,此时可以编辑文本。 - 按
Esc
退出编辑模式。 - 如果保存修改,输入
:w
; - 如果要退出vim,输入
:q
。
快捷键
CTRL+S
: stop的缩写,停止向终端停止输出;CTRL+Q
: 恢复向终端输出流。期间的输入会缓存在流中,恢复输出流后一次性输出至终端。
普通模式
命令 | 作用 |
---|---|
yy | 复制当前行 |
5yy | 复制当前行及以下4行 |
p | 粘贴复制的内容 |
3p | 将粘贴的内容复制3次 |
dd | 删除当前行 |
3dd | 删除3行(本行及之后) |
u | 撤销之前的一次操作 |
y$ | 复制光标到本行结尾的字符 |
y^ | 复制本行至光标处的字符 |
w | 跳到当前的下一个单词 |
yw | 复制当前单词,包含单词后的空格 |
dw | 删除当前光标至所在单词结束,包括单词后的空格 |
x | 剪切光标位置的字符 |
X | 退格(删除) |
r | 改写光标处的字符 |
R | 替换 |
^ | 移动到行首 |
$ | 移动到行尾 |
J | 文档末尾 |
L | 文档末行行首 |
3J | 跳转到第三行 |
编辑模式
命令 | 作用 |
---|---|
i |
命令模式
命令 | 作用 |
---|---|
:w | 保存 |
:q! | 强制退出 |
:wq! | 强制保存并退出,可用于修改只读文件 |
set nu | 显示行号 |
set nonu | 隐藏行号 |
:/ | 查找; 光标跳转到首个结果; 按n跳转到下一个结果 |
:noh | 取消高亮状态 |
:s/boot/booot | 把当前行的首个boot替换为booot |
:s/boot/booot/g | 把当前行的boot替换为booot |
%s/boot/booot | 把每行的首个boot替换为booot |