vim 常用命令
光标移动
h或左箭头:左移一个字符 j或下箭头:下移一个字符 k或上箭头:上移一个字符 l或右箭头:右移一个字符
可以使用组合键,如需要向下移动20行,输入:20j
[Ctrl]+[b] 或 PageUp :上翻一页 [Ctrl]+[f] 或 PageDown:上翻一页 [Ctrl]+[u]:上翻半页 [Ctrl]+[d]:下翻半页
0 或 [Home] : 移动至行首 $ 或 [End] :移动至行末
G : 移动至文件最后一行 gg: 移动至文件第一行 nG: 移动至文件第n行 n[Enter]:从所在行开始向下移动 n 行
# 查找替换
/word :向下查找 word 字符,按 n 向下寻找匹配字符 ?word:向上查找 word 字符,按 n 向上寻找匹配字符 n : 重复查找操作 N : 与 n 反向
:n1,n2s/word1/word2/g : n1和n2是数字,表示在第n1行到第n2行之间查找word1,并且将其替换成word2 :1,$s/word1/word2/g :替换所有的word1为word2 :1,$s/word1/word2/gc :替换所有的word1为word2,但是每一个匹配项替换前需要用户确认
# 删除,复制,粘贴
x 或 [Delete] :向后删除一个字符 X 或 [Backspace] : 向前删除一个字符 nx : 连续向后删除 n 个字符 dd : 删除当前行 ndd : 删除当前行开始向下 n 行
dG : 删除当前行到最后一行的数据 d1G :删除当前行到第一行的数据
yy : 复制当前行 nyy : 复制当前行开始向下 n 行 yG : 复制当前行到最后一行的数据 y1G : 复制当前行到第一行的数据
p(小写):在当前行下一行粘贴 P(大写):在当前行上一行粘贴
u : 撤销 [Ctrl]+r : 重做,反撤销
# 插入 i: 在光标所在位置开始插入 I : 在当前行行首插入 a : 在光标所在字符下一个位置开始插入 A : 在当前行行末插入 o : 在当前行下一行开始插入 O : 在当前行上一行开始插入 r : 替换光标所在字符一次 R : 持续替换光标所在字符,按[Esc]停止
# 保存,离开 :w : 写入硬盘 :w! : 强制写入硬盘 :q : 离开vim :q!: 修改过文件,但是不想保存,强制离开 :wq :保存后离开 :wq! :强制保存后离开 :n1,n2 w [filename] :将第n1行到n2行的数据保存到文件filename
# 行号 :set nu :显示行号 :set nonu :取消行号显示