三种模式

一般指令模式

移动
hjkl:
10h:向左移动10字符
10j: 向下移动10行
n

: 向下移动n列
翻页
[Ctrl] + [f] : front one page
[Ctrl] + [b] : back one page

[Ctrl] + [d] : down half page
[Ctrl] + [u] : up half page
定位
Home/End : first word
G : Last row

gg/1G : First row
搜寻
/word
?word
n:下一个
N:上一个
查找替换
:n1,n2s/word1/word2/g n1与n2之间,word2替换word1
:1,$s/word1/word2/g 第一列到最后一列
:1,$s/word1/word2/gc 加上动作确认提示
删除
x 向后删除一个字符 (相当于 [del] 按键),
X 向前删除一个字符
dd 删除一行
ndd 向下删除n行
复制粘贴
yy 复制一行
nyy 向下复制n行
p 贴在游标下一列
P 贴在游标上一列
复原:u
重复上一个动作:.

切换到编辑模式

插入模式

i 光标所在处插入
I 光标所在行第一个非空格符处插入
a 光标所在的下一个字符
A 光标所在行最后一个字符
o 光标所在的下一行
O 光标所在的上一行

取代模式

r 取代光标所在字符一次
R 取代光标所在字符,直到按下ESC为止

vim 指令列模式

保存和退出

:w
:w! 【只读】文件强制写入
:q
:q! 不保存退出
:wq 保存退出
:wq! 强制保存退出
:w [filename] 另存
:r [filename] 读入另一文件数据,加到游标所在列后面

暂时执行其他命令

:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!

显示/不显示行号

:set nu
:set nonu

区块选择 - 复制、粘贴、删除

image.png

多文件编辑

  1. vim [path]filename1 [path]filename2 [path]filenamen...

image.png

多窗口编辑

image.png
image.png

补全

输入字符后
image.png

暂存档

.filename.swap 在所编辑文件同一个目录下

意外情况中断编辑时,再次用vim打开文件会出现警告
警告信息最后一行:
image.png
O:只读
E:正常编辑,不会加载暂盘档内容。
R:加载暂存盘内容,救回未存储的工作。储存离开 vim后,还是要手动自行删除那个暂存档 。
D:(如果确定该暂存盘是无用的)删掉这个暂存盘再开启文件。
Q:离开vim
A:忽略这个编辑行为