vim实用手册 - 编辑篇(插入、删除、复制、替换)

一、插入文本

常用的,当然是i,但是如果只用i,那就太TB了,记住i、o、a即可,
当然大小写,一般区分前后的概念,这个是vim在设计各类指令的原则。

命令                 执行的操作             记忆方法
-----------------------------------------------------------------
 i             在光标的左侧插入字符
 I             在行首插入字符
 a             在光标的右侧添加文本
 A             在行尾添加文本
 o             在当前行下面插入一空行
 O             在当前行上面插入一空行
 20i-[Esc]      插入20个连字符(这是一个非常有用的命令,屁如插入分隔符,插入+等等)
-----------------------------------------------------------------

下面还有几个常用的设置:

命令                 执行的操作             记忆方法
-----------------------------------------------------------------
 :set showmode      当vi处在输入模式下时显示提示信息
 :set sm            即时显示配对的)或}
 :set ts=n          把制表符设置为n(默认为8)
 :set ai            下一行从前一行的缩进位置开始(这个在写代码时比较有用)
-----------------------------------------------------------------

二、删除文本

命令                 执行的操作             记忆方法
-----------------------------------------------------------------
 x          删除光标所在的字符
 6x          删除光标位置的字符以及右侧的5个字符
 X          删除前一个字符
 dd          删除当前行
 4dd          删除4行
 64dd          删除64行
 dw          删除一个单词
 d0          删除到行首
 d$          删除到行尾
 d          删除一个区域(只用于vim)
 p          把被剪切的文本粘贴到下面(整行)或右侧(部分行)
 P          把被剪切的文本粘贴到上面(整行)或左侧(部分行)
 "add          把当前行粘贴到缓冲区a里
 "ap          把缓冲区a里的内容粘贴到当前位置
 J          把当前行于下一行合并为一行
 xp          调换两个字符的位置
-----------------------------------------------------------------

三、替换文本
命令                 执行的操作             记忆方法
-----------------------------------------------------------------
 rch          把光标位置的字符替换为ch
 R          替换光标右边的文本
 s          把光标所在的字符替换为任意个字符
 S          替换整行内容
 cw          修改一个单词
 c          修改区域里的文本(vim)
 ~          改变所扫描的或区域里的字母的大小写
 !tr'[a-z]''[A-Z]'      把区域里的字母转换为大写(vim)
 !tr'[A-Z]''[a-z]'      把区域里的字母转换为小写(vim)

-----------------------------------------------------------------

四、复制文本
命令                 执行的操作             记忆方法
-----------------------------------------------------------------
 yy          复制当前行
 6yy          复制六行
 yw          复制单词
 y          复制区域(vim)
 p          把复制的文本粘贴到右边或下面
 P          把复制的文本粘贴到左边或上面
 "ayy          把当前行复制到缓冲区a里
 "ap          恢复缓冲区a里的内容
-----------------------------------------------------------------
这里用到一个寄存器概念,普通的删除、复制功能,使用的的是默认的寄存器,
比如复制了2行之后如果立刻黏贴,则这两行被黏贴。
可如果中间执行了一步删除操作,则黏贴的是被删除的内容。
如果不想导致这种混乱,就需要指定寄存器。
寄存器前缀是一个引号:".
屁如上面说道的将一行复制到寄存器a中,则是:"ayy
将a黏贴出来,则是"ap.
这个功能是非常有用的。

综上所属,仔细看,会发现几个vim指令的规律,
1、操作语法:数字+操作+特殊含义字符。例如多行操作:行数+动作,屁如:6dd,删除6行,6yy,复制六行,如此以此类推。
    来一全的,譬如删除6个单词:6dw
3、大小写,这个在前面好像说过,这里也总结一下,反义,前后左右,仅此而已。

 

原文链接:http://www.pakey.net/index.php/post/vim-learn-edit.html

posted @ 2012-04-14 13:56  Myfreedom614  阅读(971)  评论(1编辑  收藏  举报