如何在Vim中使用范围执行:g样式命令
有了Vim,如果我想删除每一行的文本如何在Vim中使用范围执行:g样式命令,vim,Vim,有了Vim,如果我想删除每一行的文本pending,我可以: :g/pending/d 我如何在一个范围内做到这一点?假设我想删除文本为pending的每一行,但仅在第0行和第60行之间(或者,在0和此处之间),类似于: :0,./pending/d 我已经搜索过了,但是我不知道怎么做。我知道你能行 :0,。正常,但我不确定有条件删除行的正常模式命令是什么 p、 在美国,你去哪里学习这些东西 与大多数(如果不是所有的话)Ex命令一样,:global具有一个范围。因此,如果:g/pending
pending
,我可以:
:g/pending/d
我如何在一个范围内做到这一点?假设我想删除文本为pending
的每一行,但仅在第0行和第60行之间(或者,在0和此处之间),类似于:
:0,./pending/d
我已经搜索过了,但是我不知道怎么做。我知道你能行
:0,。正常
,但我不确定有条件删除行的正常模式命令是什么
p、 在美国,你去哪里学习这些东西 与大多数(如果不是所有的话)Ex命令一样,
:global
具有一个范围。因此,如果:g/pending/d
对整个缓冲区执行您想要的操作,那么它也会对给定范围执行您想要的操作:
:1,.g/pending/d
至于在哪里可以找到这方面的信息,那么……只需查看Vim的文档
:help:global
显示:
*:g* *:global* *E147* *E148*
:[range]g[lobal]/{pattern}/[cmd]
Execute the Ex command [cmd] (default ":p") on the
lines within [range] where {pattern} matches.
这很清楚
注意:行开始于
1
与大多数(如果不是所有的话)Ex命令一样,:global
取一个范围。因此,如果:g/pending/d
对整个缓冲区执行您想要的操作,那么它也会对给定范围执行您想要的操作:
:1,.g/pending/d
至于在哪里可以找到这方面的信息,那么……只需查看Vim的文档
:help:global
显示:
*:g* *:global* *E147* *E148*
:[range]g[lobal]/{pattern}/[cmd]
Execute the Ex command [cmd] (default ":p") on the
lines within [range] where {pattern} matches.
这很清楚
注意:行从
1开始
谢谢@romainl,我想我脑子里刚刚有了“global”这个词。。。全球的但那太好了-非常感谢。谢谢@romainl,我想我脑子里刚刚有了“全球”这个词。。。全球的但那太好了,非常感谢。