当前行并且进入插入模式。
D:剪切从光标位置到行尾到剪贴板。 Y:拷贝当前行。 C:和 D 类似,最后进入插入模式。 x:剪切当前字符到剪贴板。 s:和 x 类似,不过最后进入插入模式。 粘贴 粘贴很简单, 粘贴很简单,
按 p。 。 使用多重剪贴板 很多编辑器都只提供了一个剪贴板。VIM 有很多。剪贴板在 VIM 里面被称为寄存器 (Registers) 。你可以列出当前定义的所有寄存器名和它们的内容,命令为":reg"。最好使用 小写字母来作为寄存器的名称,因为大写的有些被 VIM 占用了。 使用寄存器的命令为双引号“。 比如:我们要拷贝当前行到寄存器 k。你应该按 "kyy。 (你也可以使用 V"ky。为什么这样也 可以呢?)现在当前行应该已经存在了寄存器 k 里面直到你又拷贝了一些东西进入寄存器 k。 现在你可以使用命令 "kp 来粘贴寄存器 k 里面的内容到你想要的位置。 避免重复 令人惊奇的 . 命令 在 VI 里面,输入 . (小数点符号) ,将会重复你给入的上一个命令。比如,你上个命令为 'dw' (删除一个词) ,VI 将会接着再删除一个词。 使用数字 使用数字也是 VIM 强大的而且很节省时间的重要特性之一。 在很多 VIM 的命令之前都可以使 用一个数字,这个数字将会告诉 VIM 这个命令需要执行几次。比如: 3j 将会把光标向下移动三行。 10dd 将会删除十行。 y3" 将会拷贝从当前光标到第三个出现的引号之间的内容到剪贴板。 数字是扩展 motion 命令作用域非常有效的方法。 记录宏 有时候,你会发现你自己在文章的每段或者每行都重复相同的一系列动作。VIM 允许你记录 一个宏来完成你的特殊需要。 qregister:记录宏到寄存器 register,这里 register 是任意的你的寄存器的名字。比如 qa, 将会记录并且把宏存在寄存器 a 里面。 q:结束宏的记录。 @register:使用存在寄存器 register 的宏。比如@a,将会使用存在寄存器 a 里面的宏。 必须要记住的是,宏只记录了你的系列按键并且重复执行它们。它们不是魔法。因为在 VIM 里面完成目的的方法有很多,所以有时候你要小心选择命令来记录你的宏。因为它们会在所 有你要执行它的地方执行。 用 VIM 写代码 VIM 是一个绝好的编辑器来写代码,因为它有一些特性是专门为
程序员而设。这里是一些常 用的: ]p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试 一下! %:匹配花括号,方括号,括号等。在一个括号的上面,然后按 ,鼠标就会出现在匹配的 :匹配花括号,方括号,括号等。在一个括号的上面,然后按%,
另外一半括号处。 另外一半括号处 >>:缩进所有选择的代码 : <<:和上面类似,但是反缩进 :和上面类似, gd:到达光标所在处函数或者变量的定义处。 :到达光标所在处函数或者变量的定义处。 K:在 Man 里面查找光标当前所在处的词。 里面查找光标当前所在处的词。 : nodex.javaeye.c
om/blog/360709
vim 查找替换小结
0,:g/null/d 找到 null 的行并且删掉 1,简单替换表达式 替换命令可以在全文中用一个单词替换另一个单词: :%s/four/4/g “%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如 果仅仅对当前行进行操作,那么只要去掉%即可 如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词 会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头: :%s/\
” 来解决这个问题: :%s/\/4/g 如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以 可以 标记,这样, 会在每次替换前提示你: 在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你: :%s/\/4/gc 2,删除多余的空格 要删除这些每行后面多余的空格,可