ta
跳到下一个 a 前面,配合 d,dt) 一直删除到这行的)
fa
跳到下一个 a
CTRL-F
向前一页 CTRL-B
向后一页
CTRL-D
向下半页 CTRL-U
向上半页
ctrl+i
跳转到函数、变量和 #define
ctrl+i
向前跳到前几次光标位置
ctrl+o
向后跳到后几次光标位置
vi{
选中 {} 中间的内容,不包括 {}, 可以 ([{’"<
va{
选中 {} 中间内容,包括 {}
:e!
重新读进上次保存的此文件内容
:ab myname william_djj
以后再编辑时键入 myname,然后空格或回车 myname 串就会被 william_djj 代替
:r !command
在当前位置插入 command 结果
:r filename
当前位置插入文件内容
不退出 vim,直接执行命令,例如在 perl 文件中,直接执行不退出, :!perl %
。 如果前面已经执行过了,则重复前面的命令时,只需要 :!!
插入模式下 ctrl +r
,= 算式,回车插入结果
%
跳转到相配对的括号,或流控
D
表示删除从当前光标到光标所在行尾的内容.
删除某行后面的换行符号:在命令状态下,在某一行上按 "J" 键将 Join 下一行,呵呵
u
撤销上次的操作, ctrl+r
恢复上次的撤销。
:n,$s/vivian/sky/g
替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
: s#vivian/#sky/#
替换当前行第一个 vivian/ 为 sky/
:f
查看当前文件
v
选择模式 , ctrl+v
块选择模式, V
行选择模式
^
行首
$
行尾
0
第一个字符
y
复制
d
删除
x
剪切
p
粘贴