普通模式下按v选择区域
x:删除光标处字符
G:最后一行
gg:第一行
yy:复制当前行
p:粘贴
u:撤销上一步操作
dd:删除当前行
shift+zz:保存退出
b:前移一个字
w:后移一个字
hjkl:光标左下上右
0:行首
$:行尾
f+字母:(从左往右)移动到相应的字母
F+字母:(从右往左)移动到相应的字母
d+$:删除光标后的所有字符
C:删除光标后的所有字符
d+0:删除光标前的所有字付
命令模式输入行号
ctrl+r:取消撤销
set nu:给当前内容设置上行号
e!:重新打开文件
dw 删除到下一个单词开头
de 删除到本单词末尾
dE 删除到本单词末尾包括标点在内
db 删除到前一个单词
dB 删除到前一个单词包括标点在内
:'<,'>s/替换项/替换为/g
以下命令将文中所有的字符串idiots替换成managers:
:1,$s/idiots/manages/g
通常我们会在命令中使用%指代整个文件做为替换范围:
:%s/search/replace/g
以下命令指定只在第5至第15行间进行替换:
:5,15s/dog/cat/g
以下命令指定只在当前行至文件结尾间进行替换:
:.,$s/dog/cat/g
以下命令指定只在后续9行内进行替换:
:.,.+8s/dog/cat/g
你还可以将特定字符做为替换范围。比如,将SQL语句从FROM至分号部分中的所有等号(=)替换为不等号(<>):
:/FROM/,/;/s/=/<>/g
在可视化模式下,首先选择替换范围, 然后输入:进入命令模式,就可以利用s命令在选中的范围内进行文本替换。
-VIM学习笔记 替换(Substitute)(可能要Anti-GFW)
网友评论