vim编程小技巧

1. 注释

注释
1. Ctrl+v进入v模式
2. 上下方向键选中要注释的行
3. shift+i(即大写的I)行首插入
4. 输入注释符//
5. 按esc返回

反注释
1. Ctrl+v进入v模式
2. 上下方向键选中要注释的行,左右键选择要删除的字符//
3. 按d删除


2. 删除

(以下操作均在正常模式下进行)

  • dd —— 删除单行
  • Nd —— 删除多行(N代表要删除的行数)

  • x —— 删除当前光标处的字符

  • X —— 删除光标左边的字符
  • D —— 删除从当前光标到本行末尾处的字符
  • J —— 删除两行之间的换行符 (亦可用于合并两行)

  • nx —— 删除多个字符(n为删除的字符个数)

  • dw —— 删除1个单词
  • d10w —— 删除10个单词
  • d10W —— 删除10个单词,忽略标点符号。
  • db —— 向后删除一个单词
  • d2) —— 删除两个句子
  • d5} —— 删除5个段落

  • dG 或 :.,$d —— 删除当前行到编辑缓冲区末尾的所有行

  • dgg 或 d1G 或:1,.d —— 删除当前行到编辑缓冲区开头的所有行
  • :1,$d 或 :%f —— 删除整个编辑缓冲区
  • d/word —— 删除从光标所在位置到单词word的所有文本
  • .,/word/d —— 删除从光标所在位置到单词word的所有文本
  • df x —— 删除至当前行中x所在的位置
  • d^ —— 删除至该行的开始处
  • :g/^$/d —— 删除文件中所有空行

(插入模式下的删除操作)

  • ^U —— 删除当前行
  • ^H —— 删除前一个字符
  • ^W —— 删除前一个词

(命令行下进行操作)

  • %s/\s\+$//g —— 删除行尾多个空格
  • %s/^\s*//g —— 删除行首多个空格
  • %s/^(.*)n1/1$/ —— 删除重复行   
  • %s/\v[^\x00-\xff]+//g —— 删除所有中文
  • %s/\d//g —— 删除所有数字

3. 复制与粘贴

方法1:

  • 光标放到第6行,
  • 输入:2yy
  • 光标放到第9行,
  • 输入:p

命令解释:此方法适合复制少量行文本的情况,复制第6行以及它下面那行,共2行数据,放到第9行下面。

方法2:

  • 命令行模式下输入6,9 co 12

复制第6行到第9行之间的内容到第12行后面


4. 插入

  • i —— 在当前字符的左边插入
  • I —— 在当前行首插入
  • a —— 在当前字符的右边插入
  • A —— 在当前行尾插入
  • o —— 在当前行下面插入一个新行
  • O —— 在当前行上面插入一个新行

5. 跳转

以下均在正常模式的操作

  • hjkl —— 这是代替箭头键功能的
  • H M L —— 跳到屏幕的顶上 中间 下方
  • w —— 跳到下一个单词的首部
  • e —— 跳到单词的结束
  • b —— 向上一个单词的首部跳
  • $——当前行行尾

  • gg —— 跳到文件的开始

  • G —— 跳到文件的结束
  • 10gg 或 10G 或 :10 —— 跳到第10行
  • } —— 快速跳到下一个空白行
  • { —— 快速跳到上一个空白行
  • % —— 在左右括号之间匹配

  • ta —— 跳到下一个a 前面(a是自己想跳到的字符)

  • fa —— 跳到下一个a
  • Ta —— 跳到上一个a 前面
  • Fa —— 跳到上一个a

  • 10% —— 调到文件的10%处


6. 撤销

  • u——撤销上一步的操作
  • Ctrl+r —— 恢复上一步被撤销的操作
  • 长按u —— 恢复文件打开时模样

7. 自动格式化代码

  • == —— 格式化当前行
  • gg=G —— 格式化整个文档
  • #= —— 格式当前行及接下来的#行代码

8. 查找替换

按下‘:’后
/int ——查找文件中的int
n —— 查找下一个
N —— 查找上一个

10,20s/int/char/—— 把10到20行的int替换成char

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值