光标移动
移动计数
[Number] [Motion]重复动作多次,如6j向下移动6行
字符导航
h向左移动光标j向下移动光标k向上移动光标l向右移动光标
单词导航
w移动光标到下一个单词的开头e移动光标到当前单词的结尾b移动光标到上一个单词的开头ge移动光标到上一个单词的结尾
行导航
0跳到本行第一个字符^跳到本行第一个非空字符$跳到本行最后一个字符g_跳到本行最后一个非空字符[Number]|跳到本行指定列f在同一行向后搜索第一个匹配F在同一行向前搜索第一个匹配t在同一行向后搜索第一个匹配,并停在匹配前T在同一行向前搜索第一个匹配,并停在匹配前;在同一行重复最近一次搜索,在同一行向相反方向重复最近一次搜索
句子和段落导航
(跳到前一个句子)跳到下一个句子{跳转到上一个段落}跳转到下一个段落
匹配导航
%查找配对的括号)、]、}
行号导航
gg跳转到第一行G跳转到最后一行[Number] G跳转到指定行,如6G移动到第6行ctrl-g显示当前光标所在行位置以及文件状态信息:set relativenumber number展示当前行号和其他行相对当前行的行号
窗格导航
H跳转到屏幕的顶部M跳转到屏幕的中间L跳转到屏幕的底部nH跳转到距离顶部n行的位置nL跳转到距离底部n行的位置
滚动
ctrl-e向下滚一行ctrl-d向下翻半页(d = down)ctrl-f向下一翻页(f = forword )ctrl-y向上滚一行ctlr-u向上翻半页(u = up)ctrl-b向上一翻页(b = backward)zz让光标所在的行居屏幕中央zt让光标所在的行居屏幕最上一行(t = top)zb让光标所在的行居屏幕最下一行(b = bottom)
搜索导航
/向后搜索一个匹配?向前搜素一个匹配n重复上一次搜索(和上一次方向相同)N重复上一次搜索(和上一次方向相反)*向后查找光标所在的完整单词#向前查找光标所在的完整单词g*向后搜索光标所在的单词g#向前搜索光标所在的单词:set hlsearch设置搜索高亮:set incsearch设置增量搜索,输入时不断匹配输入内容
位置标记
m[Mark]用标签标记一个位置'[Mark]跳转到指定标签的行`[Mark]精确回到指定标签的位置(行和列):marks查看所有标记
跳转
:jumps查看跳转列表ctrl-i跳转到之后的位置ctrl-o跳转到之前的位置
编辑
i在光标处,进入插入模式a在光标所在单词之后,进入插入模式A在光标所在行的行末,进入插入模式o在光标下方另起一行,进入插入模式O在光标上方另起一行,进入插入模式c更改(删除,并进入插入模式)d删除y复制p粘贴u撤销ctrl-r恢复撤销x删除光标后的一个字符s删除光标后的一个字符,进入插入模式r替换光标后的一个字符R连续替换光标后的多个字符
替换
:%s/old/new将第一个查找到的old替换为new:%s/old/new/g将所有的old替换为new:%s/old/new/gc将所有的old替换为new,替换时需要确认[Number],[Number]s/old/new/g将指定两行的old替换为new
其它
:! [COMMAND]执行外部命令:w [FILENAME]另存为文件v :w [FILENAME]在可视模式下,将选中内容另存为文件:r [FILENAME]粘贴文件内容:r ![COMMOND]粘贴外部命令输出
参考文档
- Learn-Vim_zh_cn
vimtutor