高效编辑器vim之快速操作

复制、删除与粘贴:

x                删除当前光标所在字符

X                删除当前光标所在前一个字符

yy                 拷贝光标所在行.

         dd                 删除光标所在行.

         D                  删除从当前光标到所在行尾的内容.

vim中,很多命令可以和联合使用,上面删除命令可以联合移动命令,还可以加计数前缀,这样可以组合出很多命令,只要你熟悉了这些,很多命令都可以猜得出来,比如:

4x                删除当前光标开始后面4个字符

dw                删除当前单词光标所在位置到结尾处

d2w                删除两个单词

daw                删除当前单词

d$                删除从当前光标到所在行尾的内容(D).

         w                  拷贝从当前光标到光标所在单词结尾的内容.

          y0              拷贝从当前光标到光标所在行首的内容.

         d0              删除从当前光标到光标所在行首的内容.

        y$              拷贝从当前光标到光标所在行尾的内容.

        d$              删除从当前光标到光标所在行尾的内容.

        yfa             拷贝从当前光标到光标后面的第一个a字符之间的内容.

        dfa             删除从当前光标到光标后面的第一个a字符之间的内容.

        :12,24y         拷贝第12行到第24行之间的内容.

        :12,y           拷贝第12行到光标所在行之间的内容.

        :,24y           拷贝光标所在行到第24行之间的内容.删除类似.

有没有发现很多命令你都可以猜出来,是不是很灵活啊,有木有!!

 

替换:

Vim的替换相当高效

:%s/aa/bb/g            在全文中将出现aa的地方替换为bb

%表示范围为所有行,g表示替换所有匹配点。)下面可以扩展一下这个命令:

:s/aa/bb/g              将光标所在行出现的所有包含 aa 的字符串中的 aa替换为 bb

    :12,23s/aa/bb/g        将从12行到23行中出现的所有包含 aa 的字符串中的 aa替换为 bb

        (g表示全部替换,还是可以使用c,表示确认替换,此时会询问您是否替换)

可以在符合模式的范围中替换,比如想在两个以hello的开头的行之间做将123替换为111,

可以使用命令:?^hello?,/^hello/s/123/111/g

    :.+3,$-5    //这指定当前行下面第三行到文件末倒数第五行的范围。(.表示当前行)

        如果你想替换单词,而不是出现指定字符串就替换,可以使用命令:

:%s/\<aa\>/bb/g            在全文中将单词aa替换为单词bb

该命令可同行上进行扩展。

 删除行尾空格:%s/\s\+$//(很常用,尤其对代码有洁癖的程序员)
        其中%s表示整个文件,\s表示空格, $表示行尾

删除行首空格:%s/^\+\s// (很少用)

其实为了避免斜杠的使用混淆,可以使用"="代替"/"

批量注释代码命令
:n,ms/^/\/\/  (或 :n,ms=^=\/\/ )           (在n行到m行之间添加双斜杠注释)
:n,ms/^\+\/\/// (或 :n,ms=^\+\/\/==)        (把n行到m行之间的双斜杠注释取消掉)

删除vim打开文件行尾出现的^M:

:%s//^M//g (注,其中"^M"的输入,分别是“Ctrl+v”、“Ctrl+M”键生成的)

:/aa       向下查找字符串aa

:?aa向上查找字符串aa


39

将一个文件中的每一行(或连续指定行)行首或行尾都添加一个字符串

每行的行首都添加一个字符串:%s/^/要插入的字符串

每行的行尾都添加一个字符串:%s/$/要插入的字符串

将百分号改为指定行号可以对指定行进行修改

  • gU (变大写)
  • gu (变小写)
批量注释代码命令
:n,ms/^/\/\/             (在n行到m行之间添加双斜杠注释)
:n,ms/^\+\/\///         (把n行到m行之间的双斜杠注释取消掉)



查看函数man信息:把鼠标移到对应的函数名上然后输入
      K
Vim 会在对应的单词上执行外部命令: man


:grep “hello” *.c 

这会使 Vim 在所有指定的文件 (*.c) 中查找 "error_string"。Vim 会打开第一个匹配的文件并将光标定位在第一个匹配行。要到下一个匹配行 (无论在哪个文件),可以执行"cnext" 命令。要回到上一个匹配行,可以用 ":cprev" 命令。使用 "clist" 可以看到所有的匹配点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值