三种模式
一般指令模式
移动
hjkl:
10h:向左移动10字符
10j: 向下移动10行
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 的显示结果!
显示/不显示行号
区块选择 - 复制、粘贴、删除
多文件编辑
vim [path]filename1 [path]filename2 [path]filenamen...
多窗口编辑
补全
暂存档
.filename.swap 在所编辑文件同一个目录下
意外情况中断编辑时,再次用vim打开文件会出现警告
警告信息最后一行:
O:只读
E:正常编辑,不会加载暂盘档内容。
R:加载暂存盘内容,救回未存储的工作。储存离开 vim后,还是要手动自行删除那个暂存档 。
D:(如果确定该暂存盘是无用的)删掉这个暂存盘再开启文件。
Q:离开vim
A:忽略这个编辑行为