VIM命令指南
*:读取光标处的字符串,并且移动光标到它再次出现的地方。
#:和上面的类似,但是是往反方向寻找。
i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行
p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!
%:匹配花括号、方括号、括号等。在一个括号的上面,然后按 %,鼠标就会出现在匹配的另外一半括号处。
>>:缩进所有选择的代码
<<:和上面类似,但是反缩进
gd:到达光标所在处函数或者变量的定义处。
K:在 Man 里面查找光标当前所在处的词。
vim中的操作符与动作
一、操作符-动作模式
"dw" 命令删除一个单词。你可能认出来了,"w" 是词移动命令。实际上,"d" 命令后面可以跟任何 "动作" (motion) 命令,它会删除从当前位置到光标移动到的目标位置的全部内容。
以上定义了一个命令组合模式:操作符-动作。你首先输入一个操作符命令,例如,"d"就是一个删除操作符。然后你输入一个动作命令,例如"4l" 或者"w"。这种方法使你可以在任何你能越过的文本上执行各种操作。
另一个操作符命令是 "c",表示修改,change。它的作用方式与 "d" 操作符相似,只是完成后会切换到插入模式。例如,"cw"修改一个词,更精确的说,它删除一个词,并切换到插入模式。
Toerr is human
------->
c2wbe<Esc>
To behuman
这里"c2wbe<Esc>" 包括如下操作:
c 修改操作符
2w 移动两个单词的距离 (与操作符合起来,它删除两个单词并进入插入模式)
be 插入 be 这个单词
二、更多的修改命令
像 "dd" 可以删除一行一样,"cc" 修改一整行。但它会保留这一行的缩进 (前导空格)。
"d$" 删除到行尾;"c$" 则修改到行尾。
"." 是 Vim 中一个非常简单而有用的命令。它重复最后一次的修改操作。例如,假设你在编辑一个 HTML 文件,你想删除所有的 <B> 标记。你把光标移到第一个 "<" 上,然后用 "df>" 命令删除 <B>。然后你就可以移到 </B> 的 < 上面用 "." 命令删除它。
vim中的移动命令
http://vcd.gro.clinux.org/doc/usr_03.html#usr_03.txt
一、向前移动一个词
w 3w b 2b (向前移动一个词 / 向前移动三个词 / 前后移动一个词 / 向后移动二个词)
e (移动到一个个单词词末) ge(移动到前一个单词末尾)
移动词的命令包括:w / W / e / E / b / B /ge / gE
二、移动到行首或行尾
"$" 命令把光标移动到当前行行尾。"^" 命令把光标移动到一行的第一个非空字符,而"0" 命令则移到一行的第一个字符,
三、移动到一个指定的字符
单字符查找命令是最有用的移动命令之一。"fx" 命令向前查找本行中的字符 x。
可以在这个命令前面加计数前缀,所以,可以用 "3fl"
"F" 命令用于向左查找:
"tx" 命令与 "fx" 相似,但它只把光标移动到目标字符的前一个字符上。
四.移动到指定行:
"33G" 把你送到 33 行
"G" 命令把光标移动到文件末。移动到文件首的命令是"gg"。
"50%" 移动到文件的中间,而 "90%" 移到差不多结尾的位置。
"H" 表示 "Home" (头)移动到屏幕上方,"M" 表示 "Middle" (中)移动到屏幕中间而 "L" 表示 "Last" (尾)移动到屏幕下方。
五、滚屏
CTRL-U (up)命令向下滚动半屏 CTRL-D ( down ) 命令把视窗向下移动半屏
每次滚一行的命令是 CTRL-E (上滚) 和 CTRL-Y (下滚)。