1.概念
1.1. 什么是 vim
Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。
1.2. Vim 的模式
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。
1.2.1. 命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。
1.2.2. 插入模式
在命令模式下按下 i
就进入了输入模式。
在输入模式下,你可以输入文本内容。
1.2.3. 底线命令模式
在命令模式下按下 :
(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多
2. Vim 渐进学习
- 启 动 Vim 后,vim 在 Normal 模式下。
- 进入 Insert 模式,请按下键 i 。(注:你会看到 vim 左下角有一个–insert–字样,表示,你可以以插入的方式输入了)
- 此时,你可以输入文本了,就像你用“记事本”一样。
- 如果你想返回 Normal 模式,请按
ESC
键
2.1. 在Normal 模式
i
→ Insert 模式,按ESC
回到 Normal 模式.x
→ 删当前光标所在的一个字符。:wq
→ 存盘 + 退出 (:w
存盘,:q
退出) (注::w 后可以跟文件名)dd
→ 删除当前行,并把删除的行存到剪贴板里p
→ 粘贴剪贴板
2.2. 各种插入模式
a
→ 在光标后插入o
→ 在当前行后插入一个新行O
→ 在当前行前插入一个新行cw
→ 替换从光标所在位置后到一个单词结尾的字符
2.3. 移动光标
0
→ 数字零,到行头^
→ 到本行第一个不是 blank 字符的位置(所谓 blank 字符就是空格,tab,换行,回车等)$
→ 到本行行尾g_
→ 到本行最后一个不是 blank 字符的位置。/pattern
→ 搜索pattern
的字符串(注:如果搜索出多个匹配,可按 n 键到下一个N
G
→ 到第 N 行 (注:注意命令中的 G 是大写的,另我一般使用 : N 到第 N 行,如 :137 到第 137 行)
gg
→ 到第一行。(注:相当于 1G,或 :1)
G
→ 到最后一行。
2.4. 拷贝/粘贴
P
→ 粘贴yy
→ 拷贝当前行当行于ddP
2.5. 打开/保存/退出/改变文件
:e <path/to/file>
→ 打开一个文件:w
→ 存盘:saveas <path/to/file>
→ 另存为<path/to/file>
:x
,ZZ
或:wq
→ 保存并退出 (:x
表示仅在需要时保存,ZZ 不需要输入冒号并回车):q!
→ 退出不保存:qa!
强行退出所有的正在编辑的文件,就算别的文件有更改。:bn
和:bp
→ 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(注:我喜欢使用:n 到下一个文件)