**
vim是由vi发展演变过来的文本编辑器,因其具有语法高亮显示,多视窗编辑,代码折叠,支持插件等功能,现已成为linux发行版本的标配。下面时vim编辑器的详细操作。
vim具有多种工作模式,常用的工作模式有:普通模式,插入模式,命令模式
vim编辑器会默认进入普通模式,插入模式可以通过以下按键进入。
按键 | 功能 |
---|---|
a | 进入插入模式,后续输入的内容将插入至当前光标的后面 |
A | 进入插入模式,后续输入的内容将插入至当前段落的段尾 |
i | 进入插入模式,后续输入的内容将插入至当前光标的前面 |
I | 进入插入模式,后续输入的内容将插入至当前段落的段首 |
o | 进入插入模式并在当前行的后面创建新的空白行 |
O | 进入插入模式并在当前行的前面创建新的空白行 |
当自己不知道处于什么模式时,可以通过Esc键返回到普通模式,然后在普通模式下输入“:”,即可进入命令模式;在“:”后输入的常用指令有,如下表
指令 | 功能 |
---|---|
q! | 不保存,强制退出编辑器 |
q | 不保存并退出 |
wq | 保存并退出 |
x | 保存并退出 |
w | 保存 |
w b.txt | 另存为b.txt |
**提示:**vim提示错误信息E32:No file name时,说明你没有为文件设置文件名,需要在w后跟上文件名称。
vim光标操作
vim中最简单的移动光标就是使用方向键(上,下,左,右)操作,但是这种方式效率低下,更高效的方式是使用快捷键操作。所有快捷键均在普通模式下直接使用
如下表:
快捷键 | 功能 |
---|---|
h | 光标向左移动一位 |
j | 光标向下移动一行 (以回车为换行符) |
k | 光标向上移动一行 |
l | 光标向右移动一位 |
gg | 移动光标至文件首行 |
G | 移动光标至文件末尾 |
nG | 移动光标至第n行(n为数字) |
^ | 光标移至当前行的首字符 |
$ | 光标移至当前行的尾字符 |
fx | 光标移至当前行的下一个x字符处 |
Fx | 光标移至当前行的上一个x字符处 |
W | 光标向右移动一个单词 |
nw | 光标向右移动n个单词(n为数字) |
b | 光标向左移动一个单词 |
nb | 光标向左移动n个单词(n为数字) |
vim编辑文档
vim编辑器中编辑文档两种常用方式:进入编辑模式操作和快捷键操作。进入编辑模式后,即可通过移动光标进行基本操作,这是最简单的方法。另外,快捷键操作在普通模式下输入相应快捷键实现对应功能。快捷键功能,如下表:
快捷键 | 功能 |
---|---|
x | 删除光标当前字符 |
dd | 删除一行 |
ndd | 删除n行(n为数字) |
d$ | 删除光标至行尾的内容 |
J | 删除换行符,可以将两行合并为一行 |
u | 撤销上一部操作,可以多次使用,如输入两个u,表示撤销两步操作 |
rx | 将光标当前字符替换为x(x为任何键盘单个输入) |
yy | 复制当前行 |
nyy | 复制n行 |
p | 粘贴至当前行之后 |
P | 粘贴至当前行之前 |
vim查找与替换
当文档很长时,我们可以通过查找快速定位要找的内容,在vim中通过在普通模式下输入“/”关键词,实现自上往下的查找功能,如,/host在当前文档的光标处向下查找host并显示,如果一个文档中有多个host,可以通过快捷键n跳转只下一个匹配的关键词处,快捷键N将跳转至上一个匹配的关键词处。另外,通过在普通模式下输入“?“加关键词,可以实现自下往上的查找功能,如,?host从当前文档的光标处向上查找host并显示,此时快捷键n表示查看上一匹配,N表示查看下一匹配。
vim提供了非常好的替换功能,可以快速完成大量的替换工作。
[root@gao shell]# cp /etc/passwd /root
[root@gao shell]# vim /root/passwd
通过上面两条命令复制一份临时测试文档并编辑,我们可以对该文件实现多种替换功能。如下表(在命令模式完成替换):
指令 | 功能 |
---|---|
: s/root/admin/ | 将光标当前行中第一个出现root |
: s/root/admin/g | 将光标当前行中所有的root替换为admin |
:3,5 s/bin/sbin/g | 将第三行至第五行之间的所有sbin替换为bin |
:% s/nologin/fault/g | 将所有行的nologin都改为fault |
vim小技巧
1.显示行号
添加行号的方法是在命令模式下输入:
:set number 或者 :set nu
2.忽略大小写
vim默认区分大小写,这时可以通过以下命令,实现忽略大小写。
:set ignorecase