Vim 学习笔记¶
基本¶
- 编辑 退出
i Esc(进入/退出编辑模式)
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所在行到屏幕上/中/下
zt zz zb
移动cursor¶
- 下/上
j enter k
<n>enter <n>j(下移n行)
+ -
- 左右
h l space
<n>space <n>l(右移n个字符)
w b(词)
- 行尾/行首
$ 0
- 文档首行/末尾
1G G
<n>G(文档第n行)
- 屏幕上/中/下
H M L
- 括号两侧
%
删除 复制 粘贴¶
删除 / 剪切¶
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)