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

  现在开始进入到vim的正题,编辑文本,刚开始使用vim的时候,爷只用i进入编辑模式,然后把vim当notepad用,虽然土鳖了点,
但大部分编辑功能都可以实现,再配合上譬如mac或者securecrt本身的copy、paste功能,也凑合用了,但如果用到这一步,那么
还不如找个notepad或者nano,vim的优势则完全发挥不出来,下面开始分类别介绍vimd的各种编辑命令与快捷键。

一、插入文本

常用的,当然是i,但是如果只用i,那就太土鳖了,记住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、大小写,这个在前面好像说过,这里也总结一下,反义,前后左右,仅此而已。

转载于:https://www.cnblogs.com/jinshoucai/archive/2011/11/09/2242058.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值