vim 的模式
- 正常模式(按
Esc
或Ctrl+[
进入)左下角显示文件名或--NORMAL--
- 插入模式(按
i
键进入) 左下角显示--INSERT--
- 可视模式(按
v
键进入) 左下角显示--VISUAL--
- 块编辑模式(按
ctrl+q
进入)左下角显示--VISUAL BLOCK--
- 块编辑模式按
I
可以进行批量插入
- 块编辑模式按
- 命令模式(按
:
键进入) 左下角显示:
命令历史
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动 vim
在命令行窗口中输入以下命令即可
vim 直接启动 vim
vim filename 打开 vim 并创建名为 filename 的文件
文件命令
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3 …
vim -o file1 file2 ...
以多个水平窗口分割的方式打开多个文件
vim -O file1 file2 ...
以多个垂直窗口分割的方式打开多个文件
在 vim 窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file
切换到下一个文件
:bn
切换到上一个文件
:bp
关闭当前文件
:bd (buffer delete)
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件,比如 ftp 或者 share folder
:e ftp://192.168.10.76/abc.txt
:e \qadrive\test\1.txt
:e #重新载入文件
:e! #放弃当前修改,强制重新载入
:bufdo e #重新载入所有打开的文件
:bufdo 命令表示把后面的命令应用到所有 buffer 中的文件。
:ls 列出当前 vim 已经打开的文件
:e #x 通过文件前的序号快速切换
:w <新文件名> 保存文件/另存为文件新文件名>
导航命令
% 括号匹配
插入命令 i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
缩进命令
增加缩进
« 减少缩进
3» 下面三行增加缩进
移动命令
h 左移一个字符
l 右移一个字符,这个命令很少用,一般用 w 代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用,比如 20j 就是向下移动 20 行,5h 就是向左移动 5 个字符,在 Vim 中,很多命令都可以配合数字使用,比如删除 10 个字符 10x,在当前位置后插入 3 个!,3a!
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替 l 命令。
b 向后移动一个单词 2b 向后移动 2 个单词
e,同 w,只不过是光标停在单词尾部
ge,同 b,光标停在单词尾部。
^ 移动到本行第一个非空白字符上。
0(数字 0)移动到本行第一个字符上,