h
向左一字符j
下一行k
上一行l
向右一字符w
or W
向右移动到下一单词开头e
or E
向右移动到单词结尾b
or B
向左移动到单词开头gg
到文档第一行G
到文档最后一行0
到行首(第 1 列)^
到第一个非空白字符$
到行尾H
移动到屏幕顶端M
移动到屏幕中间L
移动到屏幕底部Ctrl-d
向下移动半页Ctrl-u
向上移动半页Ctrl-f
向下移动一页Ctrl-b
向上移动一页:
or gg
跳转到第 N 行:+
or j
向下跳 N 行:-
or k
向上跳 N 行:e
打开名为 filename 的文件,若文件不存在则创建之:Ex
在 Vim 中打开目录树,光标选中后回车打开对应文件(提示:-
进入上级目录)*
向后查找光标当前所在单词#
向前查找光标当前所在单词/
向后查找指定字符串?
向前查找指定字符串n
继续查找下一个N
继续查找上一个f
当前行内向行尾方向查找并定位到字符 X
t
当前行内向行尾方向查找并定位到字符 X
之前F
当前行内向行首方向查找并定位到字符 X
T
当前行内向行首方向查找并定位到字符 X
之后;
继续向当前方向查找下一个字符,
向当前相反方向查找下一个字符Vim 中可以使用 %
对 (
和 )
,[
和 ]
,{
和 }
进行匹配查找
当光标位于其中一个符号上时
按下 %
,光标会跳到与之匹配的另外一个符号上
i
当前字符前插入a
当前字符后插入I
行首插入A
行尾插入o
在下一行插入O
在上一行插入s
删除当前字符,并进入 INSERT
模式S
删除当前行并保存到 Vim 剪贴板,同时进入 INSERT
模式(等同于 cc
)x
删除当前字符,相当于 insert 模式下的 Delete
X
删除前一个字符,相当于 insert 模式下的 Backspace
dd
删除当前行,并将删除的内容保存到 Vim 剪贴板d
删除指定内容并保存到 Vim 剪贴板cc
删除当前行并保存到 Vim 剪贴板,同时进入 INSERT
模式c
删除指定内容并保存到 Vim 剪贴板,同时进入 INSERT
模式yy
复制当前行到 Vim 剪贴板y
复制指定内容到 Vim 剪贴板p
在当前位置后粘贴P
在当前位置前粘贴J
将当前行与下一行合并r
将当前字符替换为 Xgu
将指定的文本转换为小写gU
将指定的文本转换为大写:%s///
查找 search 内容并替换为 replace 内容u
撤销Ctrl-r
重做:w
保存当前文件:wa
保存全部文件:wq
or ZZ
保存并退出:q!
or ZQ
强制退出,不保存:saveas
文件另存为:w
文件另存一份名为
的副本并继续编辑原文件:set number
显示行号:set relativenumber
显示相对行号(这个非常重要,慢慢体会):set hlsearch
搜索结果高亮:set autoindent
自动缩进:set smartindent
智能缩进:set tabstop=4
设置 tab 制表符所占宽度为 4:set softtabstop=4
设置按 tab
时缩进的宽度为 4:set shiftwidth=4
设置自动缩进宽度为 4:set expandtab
缩进时将 tab 制表符转换为空格:filetype on
开启文件类型检测:syntax on
开启语法高亮>>
向右缩进当前行<<
向左缩进当前行==
自动排版当前行gg=G
当前文档全文自动排版==
对从当前行开始的 N 行进行自动排版=j
对当前行以及向下 N 行进行自动排版=k
对当前行以及向上 N 行进行自动排版:split
缩写 :sp
or Ctrl-w s
上下分屏:vsplit
缩写 :vs
or Ctrl-w v
左右分屏:diffsplit
缩写 :diffs
diff 模式打开一个分屏,后面可以加上 {filename}Ctrl-w w
激活下一个窗口Ctrl-w j
激活下方窗口Ctrl-w k
激活上方窗口Ctrl-w h
激活左侧窗口Ctrl-w l
激活右侧窗口Ctrl-w L
移动到最右侧Ctrl-w H
移动到最左侧Ctrl-w K
移动到顶部Ctrl-w J
移动到底部Ctrl-w =
平均窗口尺寸Ctrl-w +
增加高度Ctrl-w -
缩减高度Ctrl-w _
最大高度Ctrl-w >
增加宽度Ctrl-w <
缩减宽度Ctrl-w |
最大宽度:tabnew
or :tabedit
缩写 :tabe
打开新标签页Ctrl-w gf
在新标签页中打开当前光标所在位置的文件名注意::tabnew
和 :tabedit
后面都可以跟一个 <空格><文件名> 用以在新标签页中
打开指定文件,还可以在 :
后面加一个数字,指出新标签页在列表中的位置(从 0 开始)。
gt
or :tabnext
缩写 :tabn
下一个标签页(最后一个会循环到第一个)gT
or :tabprevious
缩写 :tabp
上一个标签页(第一个会循环到最后一个):tabrewind
缩写 :tabr
or :tabfirst
缩写 :tabfir
到第一个:tablast
缩写 :tabl
到最后一个标签页:tabclose
缩写 :tabc
关闭当前标签页:-tabc
关闭上一个标签页:+tabc
关闭下一个标签页:tabonly
缩写 :tabo
关闭其他标签页