Vim使用笔记
基本操作
移动光标
hjkl
→(←↓↑→)
输入模式
i
→ 插入模式a
→ 在光标后插入r
→ 替换当前字符
删除
x
→ 删除光标下的字符dd
→ 删除(并复制)当前行ndd
→ 删除接下来 n 行
复制粘贴
yy
→ 复制当前行nyy
→ 复制接下来 n 行p
→ 粘贴
其他功能
Ctrl-r
→ 重做u
→ 撤销.
→ (小数点)重复上一次命令Ctrl-p
→ 自动提示(或Ctrl-n
)/pattern
→ 搜索 pattern 的字符串%
→ 匹配括号移动,包括[
,(
,{
.*(resp. #)
→ 移动到下一个(resp. 上一个)当前光标下匹配的单词
行间操作
跨行操作
o
→ 小写字母o,在当前行之后插入一行,并进入输入模式O
→ 大写字母O,在当前行之前插入一行,并进入输入模式gg
→ 到第一行G
→ 到最后一行NG
→ 到第N行(等同于:N
,但是要按回车所以还是NG
快点~)
当前行上移动光标
0
→ 数字0,到行头g_
→ 到行尾^
→ 到本行第一个不是 blank 字符的位置$
→ 到本行最后一个不是 blank 字符的位置fa
→ 到下一个为字母 a 的匹配项处, ,(resp. ;) 会移动到下一个(resp. 上一个)t,
→ 到字符 , 之前dt"
→ 删除”之前的所有内容
块操作
多行注释
^
→ 到行头Ctrl-v
→ 开始块操作j
→ 向下移动I-- [ESC]
→I
是插入,插入--
(或者//
,#
等注释符),按ESC
键来为每一行生效
文件操作
:wq
→ 保存并退出:e <path/to/file>
→ 打开:E
→ 浏览目录:w
→ 保存:saveas <path/to/file>
→ 另存为<path/to/file>
:q!
→ 强制退出不保存
分屏
分屏启动
- 使用大写的
O
参数来垂直分屏。
vim -On file1 file2 ...
- 使用小写的
o
参数来水平分屏。
vim -on file1 file2 ...
关闭分屏
Ctrl-w q
→ 关闭当前窗口,如果只剩最后一个则退出Vim
Ctrl-w c
→ 关闭当前窗口
分屏操作
- 上下分割当前打开的文件。
Ctrl+W s
- 上下分割,并打开一个新的文件。
:sp filename
- 左右分割当前打开的文件。
Ctrl+W v
- 左右分割,并打开一个新的文件。
:vsp filename
移动光标
Ctrl-w 后hjkl
写在后面
- 之前断断续续用过一段时间 Vim,但都因为工作量不算太多,而且一直在 Windows 下所以就改用了 Sublime Text, 但是最近才把 Vim 重新捡起来才发现真的好用,并且也吧 ST 开启了 Vim 模式,很是方便。
- 但 Emacs 什么的就算了吧。