左:h
下:j
上:k
右:l
下一行行首:+
上一行行首:-
当前行行首:0
当前行行尾:$
后一个单词词首:w,W
后一个单词词尾:e,E
前一个单词词首:b,B
下一屏:CRTL+F
上一屏:CRTL+B
下半屏:CRTL+D
上半屏:CRTL+U
向上滚动屏幕: CRTL+Y
向下滚动屏幕: CRTL+E
跳到文件尾:G
跳到文件头:g
当前屏幕首行:H
当前屏幕末行:L
当前屏幕中央:M
指定行:行号G,:行号
指定字符串前:/字符串,?字符串
当前行指定字符前:f字符,F字符
文字追加和插入
当前光标右方追加:a
当前光标行尾追加:A
当前光标左方追加:i
当前光标行首追加:I
当前行下方追加行:o
当前行上方插入行:O
文字删除
删除光标位置文字:x
删除光标左方文字:X
删除当前行:dd
删除光标移动范围内的文字:d光标移动命令
文字替换
替换1文字到多文字:s
替换1文字到1文字:r
替换到当前行尾:C
替换当前行:cc
从当前位置开始替换直到输入ESC:R
文字复制和粘贴
(例)
复制光标以下3行:3yy,3Y
复制光标以后6个单词:6yw
粘贴到光标以下:p
粘贴到光标以上:P
通用替换命令
:行1,行2s/字符串1/字符串2/g
“行1,行2”指定方法例:
第5行到第30行:5,30
当前行到第30行:.,30
第5行到第末尾行:5,$
第5行到含有end的行:5,/end/
所有行:%
其他常用命令
显示行号
:set number 或者 :set nu
隐藏行号
:set nonumber 或者 :set nonu
自动缩进
:set autoindent 或者 :set ai
不自动缩进
:set noautoindent 或者 :set noai
显示Tab及行尾字符
:set list
隐藏Tab及行尾字符
:set nolist
设置Tab宽度为4个字符
:set tabstop=4
查看当前设置
:set all