vim 入门指令
2017-12-28 本文已影响0人
Schoilar
![](https://img.haomeiwen.com/i4177271/3047e61773732365.png)
- Normal 模式下
- 所有的命令都需要在Normal模式下使用
- 在VIM的Normal模式下,所有的键就是功能键了
- 以 : 开始的命令你需要输入 <enter>回车
- 如果是 Ctrl-λ我会写成 <C-λ>
常用操作
- 打开退出
指令 | 功能 |
---|---|
vim fileName | 打开或者创建文件 |
i | Insert 模式,按 ESC 回到 Normal 模式 |
:wq | (write + quit)存盘 + 退出 (:w 存盘,:q 退出,:w 后可以跟文件名) |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关 |
:q | 离开 vim |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案 |
- 编辑
指令 | 功能 |
---|---|
x | 删当前光标所在的一个字符 |
dd | (delete)删除当前行,并把删除的行存到剪贴板里 |
方向键(或 hjkl) | 移动光标 |
Home / End(或 0 / $) | 移动光标至开头 / 末尾 |
: N | 到第N行 |
gg | 到第一行 |
G | 到最后一行 |
w | 到下一个单词的开头。 |
e | 到下一个单词的结尾 |
% | 匹配括号移动(你需要把光标先移到括号上) |
* 和 # | 匹配光标当前所在的单词(*是下一个,#是上一个) |
p / P | 粘贴在当前位置之后 / 当前位置之前 |
yy | 拷贝当前行当行 |
ye | 从当前位置拷贝到本单词的最后一个字符 |
u / <C-r> | 撤销(undo)/ 重做(redo) |
v | 可视化的选择 |
a | 在光标后插入 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
- 查找替换
指令 | 功能 |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串 |
?word | 向光标之上寻找一个字符串名称为 word 的字符串 |
n / N | n 查找下一个,按下N查找上一个 |
* | 查找光标所在单词 |
:{作用范围}s/{目标}/{替换}/{替换标志} | :%s/foo/bar/g 会在全局范围(%)查找foo并替换为bar,:s/foo/bar/g 当前行替换 |