当前位置:  开发笔记 > 编程语言 > 正文

VIM中的线性选择

如何解决《VIM中的线性选择》经验,为你挑选了4个好方法。

如何选择VIM中不包含单词"hello"的所有行?我需要它猛拉然后保存到文件中.我该怎么做?我正在寻找类似的东西:

:v /!(你好)>文件

bfabry.. 11

:g!/hello/ yank A

这些行现在存储在寄存器a中,粘贴它们做"ap

编辑:可以缩写为

:g!/hello/y A

对于那些对vim意味着什么感兴趣的人:

:g =全球搜索
!=对布尔测试的否定
/ hello/=正则表达式匹配"hello"
y =在每个匹配的行上执行的命令,在这种情况下"yank"
A =对"yank"命令的寄存器参数.在这种情况下,寄存器'a'但是以大写形式的形式附加到寄存器而不是替换.



1> bfabry..:
:g!/hello/ yank A

这些行现在存储在寄存器a中,粘贴它们做"ap

编辑:可以缩写为

:g!/hello/y A

对于那些对vim意味着什么感兴趣的人:

:g =全球搜索
!=对布尔测试的否定
/ hello/=正则表达式匹配"hello"
y =在每个匹配的行上执行的命令,在这种情况下"yank"
A =对"yank"命令的寄存器参数.在这种情况下,寄存器'a'但是以大写形式的形式附加到寄存器而不是替换.


:v相当于:g!

2> too much php..:

只要您拥有grep系统,就可以使用以下命令:

:!grep -v hello % > file



3> 小智..:

我通常会做一些变化

:g/hello/d

即删除包含"hello"的所有内容,然后选择,抽取或需要完成的任何操作,最后还原回击你.我发现这对构建命令行管道没有太大的精神负担.



4> user55400..:

到目前为止我没有看到的替代方案是redirecton.

所以对于你的情况,这将是

:redir > file
:g!/hello/
:redir END

也可以看看

:help redir
:help verbosefile

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有