Vim 学习笔记¶
基本¶
-
编辑 退出
iEsc(进入/退出编辑模式)ZZ(:wq)ZQ(:q!)(保存退出/舍弃更改退出) -
文件
:w(保存):w <filename>(另存):<start_line>,<end_line> w <filename>(指定行另存):!ls(不退出vim用bash在当前文件夹下执行ls命令) -
行号
:set nu(显示行号):set nonu
移动¶
移动页面¶
-
翻页
⌃F ⌃B
-
翻半页
⌃D ⌃U
-
滑动
⌃E ⌃Y
-
移动cursor所在行到屏幕上/中/下
ztzzzb
移动cursor¶
-
下/上
jenterk<n>enter<n>j(下移n行)+- -
左右
hlspace<n>space<n>l(右移n个字符)wb(词) -
行尾/行首
$0 -
文档首行/末尾
1GG<n>G(文档第n行) -
屏幕上/中/下
HML -
括号两侧
%
删除 复制 粘贴¶
删除 / 剪切¶
-
d<移动cursor操作>如:
d3h(向左删3下)dw(向后删除一个词)d$(D)(删除到行末)dG(删除到文档尾)1GdG(删除全部)dL(删除屏幕下半内容) -
⌫ / fn ⌫
X(dh)x(dl) -
行
dd(删除当前行)<n>dd(向下删除n行) -
选中删除
v 移动cursor d(先高亮选中再删除)注:⌃V(块选中)
复制¶
将上面删除中的d换为y即可
粘贴¶
向后/前粘贴
p P
撤销 重做 重复¶
u ⌃R .
编辑¶
-
缩进
>><<
搜索 替换¶
-
用正则表达式搜索
向后 向前
/<regular expression> enter?<regular expression> enter继续搜索
n N -
用当前光标所在位置词语搜索
向后 向前
* # -
替换
将当前行的所有expr1替换为expr2
:s/<expr1>/<expr2>/g将两行之间的所有expr1替换为expr2
:<start_line>,<end_line>s/<expr1>/<expr2>/g将全文档的所有expr1替换为expr2
:%s/<expr1>/<expr2>/g
References¶
Graphical vi-vim Cheat Sheet and Tutorial
可下载到vim键位表(svg)及其中文版(gif)、分lesson的键位表(svg)、合集(PDF)