打开Vim
Linux系统下,打开Terminal,在Terminal中敲击“gvim”命令,直接用GUI的模式打开。如果直接用“vim”命令方式打开,vim会直接在terminal 中显示,并不是很方便查看。
工作模式
Vim有三种工作模式,分别是命令模式、编辑模式和输入模式。
1. 命令模式
- 开始进入默认是命令模式。
2. 输入模式
- 可以执行对文本的写操作;
- 当文件编辑完成,按Esc即可返回命令模式。
3. 编辑模式
- 可以对文件的指定内容执行保存(:w)、查找和替换等操作。
- 在命令模式下按 “:“键,此时vim切换到编辑模式。此时Vim窗口左下方出现一个“:”,这时候输入相关指令。
- 指令执行后,Vim会自动返回命令模式。如果想直接返回命令模式,按Esc即可。
常用命令如下:
移动光标
注意:以下都是在“命令模式”下敲击的指令
h 、l、j、k | 光标左移、右移、上移、下移,跟上下左右键作用相同 |
---|---|
w | 跳转至下一个字母的开头 |
e | 跳转至下一个字母的结尾 |
b | 跳转至上一各单词的开头 |
0(数字零)或 ^ | 光标移至当前行的行首 |
$ | 光标移至当前行的行尾 |
gg | 光标移动至文件的开头 |
G | 光标移动至文件的末尾 |
:n | 光标移动至n行的行首,n为数字 |
注意:大写字母可以按“shift+字母”,比如大写G,“shift+g”;
查找匹配的括号
多个括号()、花括号嵌套时非常碍眼,如何找到它们对应的“另一半”?
命令模式 | 作用 |
---|---|
% | 找到()[ ] { }对应的另一半;还可以找到begin…end、module…endmodule、task…endtask等类似的。 |
查找文本
注意:以下都是在“编辑模式”下敲击的指令,也就是:开头。
:/abc | 从光标所在位置向前查找字符串“abc” |
---|---|
: shift +* | 向后查找相同的单词 |
替换文本
注意:以下都是在“编辑模式”下敲击的指令,也就是:开头。
:r | 替换单个字符;会在对应字符下出现光标 |
---|---|
:R | 连续替换,直到按Esc键退出; |
:s/a1/a2/g | 将光标所在行中的所有a1用a2替换; |
:n1,n2s/a1/a2/g | 将文件中n1到n2行中所有a1用a2替换 |
:g/a1/a2/g | 将文件中所有a1用a2替换; |
为了防止替换出错,可以让Vim提示你每个要替换的目标是否替换
-
:n1,n2s/a1/a2/gc :将文件中n1到n2行中所有a1用a2替换,但会给你提示,要不要替换;
替换键入y,不替换键入n
注:这里的斜杆"/"也可以用分号“;”表示。
删除文本
注意:以下都是在“命令模式”下敲击的指令
x | 选中当前光标所在的单词 |
---|---|
ndd | 删除从此行开始到第n行,n为数字 |
dd | 删除光标所在行; |
D | 删除光标位置开始到行尾的内容 |
复制和粘贴
命令模式下:
p | 将粘贴板中的内容粘贴到光标后,类似word中的ctrl + v |
---|---|
y | 复制已经选中的文本,类似word中的ctrl + c |
yw | 复制光标所在的单词 |
yy | 将光标所在行全部复制 |
nyy | 将光标所在行开始,向后复制n行,n为数字 |
保存并退出
编辑模式:
:w | 只保存,不退出Vim |
---|---|
:wd | 保存并退出Vim编辑器 |
撤消
u | 回撤,取消上一次操作,相当于word中的ctrl+z的功能 |
---|---|
ctrl+r | redo,恢复上一次操作,相当于word中的ctrl+alt+z的功能 |