vim好用的命令

1、匹配单词,如要匹配word1,word2

\b(word1|word2)\b

 

2、在vim中,

\< beginning of a word |/zero-width|
\> end of a word |/zero-wid

 

3、非贪婪匹配

提到使用“\{-}”来代替“*”

4、替换与当前行号

:%s/^/\=line('.').' '

 

这是也是简单灵活的一种解法。好吧,也许大家第一个想到的解法不是使用line()函数。

" 为所有行加上行号
:let i=1
:g/^/ s//\=i . ' '/ |let i=i+1

注意:\=的操作不能与其它替换混在一起

5、弹出历史命令窗口

有时候在vim下边会出来另一个窗口,因为在我想退出编辑器时把“:q”敲成了“q:”。号称这个就是vim的命令历史窗口。要退出这个窗口也很简单,直接按回车或者输入“:q”都可以。

6 批量文件查找内容 vimgrep

比如在当前目录下查找带有“abc”字符的后缀为txt的文件, 不包括子目录

vimgrep /abc/ ./*.txt 

如果包含子目录,命令如下:

vimgrep /abc/ ./**/*.txt

vimgrep 支持正则, 所以注意正则的关键符号, 必要的时候需要转义,转义符'\'。

 

7.批量文件替换

前提熟悉vim的替换命令

%s/abc/123/g

将当前文件所有匹配的abc字符替换成123,如果没有"g"选项,则替换当前位置。

熟悉替换命令行后,接下来说批量替换的步骤:

(1)打开所有需要操作的文件

  args ./**/*.txt 

(2)对所有打开的文件执行替换并更新到文件

  argdo %s/abc/123/g | update

http://blog.sina.com.cn/s/blog_62d79a0b0100u5g8.html

8、:help :w

9、

在替换命令 s/// 中可以使用函数表达式来书写替换内容,格式为

:s/替换字符串/\=函数式

在函数式中可以使用 submatch(1)、submatch(2) 等来引用 \1\2 等的内容,而submatch(0)可以引用匹配的整个内容。

使用例

:%s/\<id\>/\=line(".")                              " 将各行的 id 字符串替换为行号
:%s/^\<\w\+\>/\=(line(".")-10) .".". submatch(1)    " 将每行开头的单词替换为 (行号-10).单词 的格式,
                                                           " 如第11行的 word 替换成 1. word
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值