Vim命令参考:(https://www.runoob.com/linux/linux-vim.html)
命令 | 功能 |
---|---|
(次数)hjkl | 移动多少行(格) |
ctrl + f(下页),b(上页),u(上半页),d(下半页) | |
+/-(非空格符上/下一行) | |
n<space>向右移动n个字符 | |
0/$(一行的开头/结尾) | |
H/M/L(当前屏幕最上方/中间/下方的第1个字符) | |
G/nG/gg(文档最后一行/第n行/第1行) | |
n<Enter>(向下移动n行) | |
/word(向光标下搜索) | |
?word (向光标上搜索) | |
n/N(同向/反向搜索下一个) | |
:n1,n2s/word1/word2/g | 查找并替换 |
:1,$s/word1/word2/g | |
:%s/word1/word2/g | |
:1,$s/word1/word2/gc | |
:%s/word1/word2/gc | |
x/X(向后/前删除一个字符) | |
nx(向后连续删除n个字符) | |
dd(删除一行) | |
ndd(删除n行) | |
d1G(删除光标到第一行) | |
dG(删除光标到最后一行) | |
d$(删除光标到最后面的字符) | |
d0(删除光标到最前面的字符) | |
yy(复制当前行) | |
nyy(复制n行) | |
y1G(复制当前到第1行) | |
yG(复制当前到最后一行) | |
y0(复制当前到行首) | |
y$(复制当前到行尾) | |
p,P(光标下、上粘贴) | |
J(将光标所在行与下一行结成同1行) | |
c(重复删除多行数据,[10cj]向下删除10行) | |
u(复原前一个动作) | |
.(重复执行上一个动作) | |
ctrl+r(重做上一个动作) | |
i, I (光标处,光标所在行第一个非空格符处) | |
a, A(光标下一个字符,光标所在行最后一个字符) | |
o, O(光标下一行输入新的一行,光标所在上一行输入新行) | |
r, R(取代光标处,一直取代直到Esc) | |
w,w!,q, q!, wq | |
ZZ 如果有变动则保存再退出,否则退出 | |
:w [filename] 另存新档 | |
:r [filename] 读入另一个档案的数据 | |
:n1, n2 w [filename] 内容存储档案 | |
: ! command (暂离vi 执行指令) | |
:set nu/ set nonu(显示行号) | |
ctrl+v进入选择模式,(添加注释:使用I进入行首,按//后按2次Esc;删除注释,选择后按d,再按Esc保存退出) | |
:10,20s#^#//#g(在10-20行添加//注释) | |
:10,20s#^//##g(在10-20行删除//注释) | |
:10,20s/^/#/g(在10-20行添加#注释) | |
:10, 20s/#//g(在10-20行删除//注释) |