Linux中vim编辑器常用操作技巧
更详细说明见:Linux中vim编辑器的总结
|
普通模式:光标移动 |
|
|
G Shift + g |
文件最后一行 |
|
gg 1gg 1G |
文件首行 |
|
0 ^ |
零,本行行首 |
|
$ |
本行行尾 |
|
n<Enter> |
数字n之后回车,下移n行 |
|
ngg nG |
移动到文件的第n行,常配合 :set nu |
|
H |
移动到本窗口的最上面一行 |
|
M |
移动到本窗口的最中间一行 |
|
L |
移动到本窗口的最下面一行 |
|
h ← |
左移一个字符 |
|
j ↓ |
下移一个字符 |
|
k ↑ |
上移一个字符 |
|
l → |
右移一个字符 |
|
普通模式:搜索与替换 |
|
|
/str |
从当前位置开始,向下寻找str字符串 |
|
?str |
从当前位置开始,向上寻找str字符串 |
|
n |
从当前位置开始,向下重复上一个搜索动作 |
|
N |
从当前位置开始,向上重复上一个搜索动作 |
|
:g/A/s//B/g |
把符合A的内容全部替换为B,斜线为分隔符(也可以是@、#等) |
|
:%s/A/B/g |
把符合A的内容全部替换为B,斜线为分隔符(也可以是@、#等) |
|
:n1,n2s/A/B/g |
将第n1至n2行中符合A的内容全部替换为B,斜线为分隔符 |
|
普通模式:复制(y,yank)、粘贴p(paste)、删除d(delete) |
|
|
yy Y |
复制当前行 |
|
nyy |
复制从当前行开始向下的n行 |
|
p |
小写,粘贴到当前行的下一行 |
|
P |
大写,粘贴到当前行的上一行 |
|
dd |
删除当前行 |
|
ndd |
删除从当前行开始向下的n行 |
|
x |
删除光标所在的字符 |
|
u |
恢复/回滚前一个操作 |
|
. |
重复前一个操作 |
|
进入编辑模式 |
|
|
i |
当前光标处插入文字 |
|
a |
当前光标处的下一个字符插入文字 |
|
I |
在当前行行首第一个非空格字符处插入文字 |
|
A |
在当前行行尾插入文字 |
|
O |
在当前行的上一行插入新的一行 |
|
o |
在当前行的下一行插入新的一行 |
|
ESC |
退出编辑模式,回到命令模式 |
|
命令行(末行)模式 |
|
|
:wq |
保存退出 |
|
:wq! |
退出并强制保存 |
|
:q! |
强制退出 |
|
:n1,n2 w filename |
从第n1至第n2行保存成文件filename中 (剪切并另存为) |
|
:n1,n2 co n3 |
将第n1至第n2行复制到第n3行的下面 |
|
:n1,n2 m n3 |
将第n1至第n2行移动到第n3行的下面 |
|
:!command |
暂时离开vi,到命令行模式下执行command命令并显示执行结果 |
|
:set nu |
显示行号 |
|
:set nonu |
不显示行号 |
|
:vs filename |
垂直分屏显示当前文件和filename文件的内容 |
|
:sp filename |
水平分屏显示当前文件和filename文件的内容 |
|
Ctrl + V |
可视块模式(竖行操作模式) |
多文件分屏对比
[root@ant tmp]# vimdiff ./fstab /etc/fstab

浙公网安备 33010602011771号