2016-12-16 64 views
1

我想知道是否可以在搜索匹配上运行命令,而不是在线上。如何在匹配和行上使用Vim全局命令?

例如,对于这个文件:

asdf - asdf 
hjkl - hjkl 

如果我运行:g/-/normal D,将删除所有行的内容,但我宁愿删除比赛内容到行的末尾。

这可能吗?我不需要每行有几个匹配,只是命令从正确的位置开始。

这只是一个例子,我可以在那个特定的例子中使用替代,但这不是我正在寻找的。

回答

1

您不能重用比赛中你的命令,所以你必须移动到匹配明确地:

:g/-/normal f-D 
2
:%s/-.*// 

你在找这样的事情?

1

如何:

:%norm t-D 

t- .......... until before - 
D ........... delete till end of line