跳转到内容
bash
. # 重复上一个edit命令
; # 重复上一个查找命令
& # 替换下一个文本
bash
# 缓冲区
:ls 
:b4 # 打开第4个文件
:bn # 打开下一个文件
:bp # 打开上一个文件
:bl
:bf

:bnext      # 缩写 :bn
:bprevious  # 缩写 :bp
:blast  	# 缩写 :bl
:bfirst 	# 缩写 :bf

-  # 非活动的缓冲区
a  #  当前被激活缓冲区
h  #  隐藏的缓冲区
%  #  当前的缓冲区
#  #  交换缓冲区
=  #  只读缓冲区
+  #  已经更改的缓冲区
bash
# 分屏
vim -o file1 file2 # 水平分割
vim -O file1 file2 # 垂直分割
:split file2.js # 
:vsplit file #

Ctrl-W H    # 移动光标到左边的窗口
Ctrl-W J    # 移动光标到下面的窗口
Ctrl-W K    # 移动光标到上面的窗口
Ctrl-W L    # 移动光标到右边的窗口

Ctrl-W V    # 打开一个新的垂直分割的窗口
Ctrl-W S    # 打开一个新的水平分割的窗口
Ctrl-W C    # 关闭一个窗口
Ctrl-W O    # 除了当前窗口,关闭所有其他的窗口
:He   # 全称为 :Hexplore   在下边分屏浏览目录
:He!  # 在上分屏浏览目录
:Ve   # 全称为 :Vexplore	在左边分屏间浏览目录
bash
# tab页
vim -p file1 file2 # 打开多个tab页面
:Te   # 全称是 :Texplorer
gt    # 到下一个页
gT    # 到前一个页
:tabs # 现在打开的窗口和Tab的情况
bash
# 折叠
zf # 折叠
zo # 打开已折叠的内容
zc # 收缩已折叠的内容
za # 切换折叠状态
zR # 展开所有折叠
zM # 收缩所有折叠
shell
gn # 移动并选择
bash
nnoremap <leader>c "+y
nnoremap <leader>c "+p

文件格式与编码

bash
:set ff?                # 查看当前格式(dos/unix)
:set ff=unix            # 设置为 unix 格式(消除 ^M)
:set fileencoding?      # 查看文件编码
:set fileencoding=utf-8 # 设置为 UTF-8 编码

标记(Mark)

bash
ma                      # 在当前光标位置设置标记 a(小写字母,文件内有效)
mA                      # 设置标记 A(大写字母,全局有效,跨文件)
`a                      # 跳转到标记 a 的精确位置(包括行列)
'a                      # 跳转到标记 a 的行首
`.                      # 跳转到最后编辑的位置
``                      # 跳转到上次跳转前的位置
:marks                  # 查看所有标记
:marks aB               # 查看特定标记 a 和 B
:delmarks a             # 删除标记 a
:delmarks a-c           # 删除标记 a-c
:delmarks!              # 删除所有小写标记

搜索

bash
*                       # 跳转到当前单词的下一个出现位置
#                       # 跳转到当前单词的上一个出现位置
:g/pattern/d            # 删除所有包含 pattern 的行
:v/pattern/d            # 删除所有不包含 pattern 的行
:noh / :nohlsearch      # 临时清除当前搜索高亮

搜索历史与命令历史

bash
q/                      # 打开搜索命令历史
q:                      # 打开命令历史
Ctrl+p                  # 在历史中上翻
Ctrl+n                  # 在历史中下翻

窗口和标签页跳转

bash
Ctrl+w h                # 跳到左边窗口
Ctrl+w j                # 跳到下边窗口
Ctrl+w k                # 跳到上边窗口
Ctrl+w l                # 跳到右边窗口
gt                      # 下一个标签页
gT                      # 上一个标签页
{number}gt              # 跳到指定编号的标签页

其他实用命令

bash
:set paste              # 进入粘贴模式(避免自动缩进)
:r !date                # 插入当前日期
:e fileB.txt            # 编辑另一个文件

基于 MIT 许可发布