Vim
《Vim Tutor》
《Viim 实用技巧》
Vim Tutor
打开 保存 退出
在命令模式下
命令 | 功能 |
---|---|
:e test.md | 打开 test.md文件, 如果不存在则创建。 |
:w | 保存 |
:w! | 强制保存 |
:q | 退出 |
:wq | 保存并退出 |
:x | 同:wq |
:q! | 强制退出 不保存并退出 |
hjkl | ←↓↑→ |
删除和追加
命令 | 功能 |
---|---|
x | 删除光标处的一个字符 |
a | 追加文本 |
i | 插入文本 |
关于对象的小清单
命令 | 功能 |
---|---|
w | 到下一个单词头,除开所在的第一个字符。 |
b | 到上一个单词头,包括所在单词的第一个字符。 |
e | 到下一个单词尾,包括所在单词的最后一个字符。 |
$ | 到行尾,包括了最后一个字符。 |
0 | 到行首,包含空格。 |
^ | 到行首,不含空格。 |
G | 到文本最后一行首 |
gg | 到文本首行。 |
恢复命令
命令 | 功能 |
---|---|
u | 恢复之前的动作 |
U | 恢复对一行的所有改变 |
CTRL+R | 反恢复 |
删除操作
命令 | 功能 |
---|---|
d | 删除 |
dd | 删除一行 |
d3w | 删除三个词 |
粘贴
命令 | 功能 |
---|---|
p | 以在光标处粘贴先前删除的文本 |
r | 替换 |
c | 修改,功能等于删除单词并定位到插入模式。c 和 d 一样属于操作码 |
文件状态、光标定位
命令 | 功能 |
---|---|
Ctrl+G | 查看文件状态及光标定位 |
100G | 跳转到100行 |
搜索
命令 | 功能 |
---|---|
/keyword | 搜索 |
?keyword | 反向搜索 |
n | 搜索下一条 |
N | 搜索上一条 |
CTRL+o | 搜索下一条 |
CTRL+i | 搜索上一条 |
% | 括号匹配搜索,可匹配 (,),[,],{ or },跳转到对应的起点/终点 |
替换命令
命令 | 功能 |
---|---|
:s/old/new | 替换本行第一个的 |
:s/old/new/g | 替换本行所有的 |
:%s/old/new/g | 更改全文件中的所有 |
:%s/old/new/gc | 更改全文件中的所有,并给出替换与否的提示 |
:#,#s/old/new/g | #,#是要更改的行号的范围 |
外部命令
命令 | 功能 |
---|---|
:!command | :!command 执行外部 shell 命令。例如 :!ls |
:w FILENAME | 将当前的vim 文件以FILENAME 文件名写进磁盘 |
v 对象 :w FILENAME | 保存选定选择行到FILENAME 文件 |
:r FILENAME | 恢复磁盘文件FILENAME到光标下 |
:r !ls | 读取 ls 命令的输出并粘贴到光标下 |
命令 | 功能 |
---|---|
o | 在光标后插入一行,并进入插入模式 |
O | 以在光标前插入一行 |
a | 在光标后插入文本 |
A | 在行尾插入文本 |
y | 复制命令 |
p | 粘贴命令 |
R | 进入替换模式,直到按下 |
:set xxx | 进入替换模式,直到按下 |
‘ic’ ‘ignorecase’ | 搜索时忽略大小写,例如 :set ic |
‘is’ ‘incsearch’ | 部分显示匹配的搜索短语 |
‘hls’ ‘hlsearch’ | 高亮所有匹配的短语 |
:set noic | 前置”no”以关闭选项 |
命令 | 功能 |
---|---|
:help | 或以打开帮助窗口 |
:help cmd | 找出关于cmd的帮助 |
CTRL+w | 跳转到另一窗口 |
:command, press CTRL+d | 以查看可能的补齐 |
Vim实用技巧
. 命令会重复上次的操作
命令 | 功能 |
---|---|
. | 重复上次操作,是一个微型宏 |
>G | 全文缩进 |
A | =$a |
f+ s + ;. |
替换+前后增加空格 var foo = “method(“+argument1+”,”+argument2+”)”; -> var foo = “method(“ + argument1 + “,” + argument2 + “)”; |