VIM从行尾删除到字符?

时间:2013-01-28 17:01:47

标签: vim

我正在寻找VI(M)中的快速命令,我可以删除从行尾开始到字符的所有文本。我可以这样做:

:%s/.*"

但我想要反其道而行之。我试过了:

:%s/$.*" 

但这不起作用(我的逻辑是$ - 从行尾开始,找到所有内容“并删除它。

以下是我试图操作的文本示例(编辑:但这一行多次发生 - 解决方案必须适用于许多类似结构的线路 - 单线解决方案是不够的 - 不道歉先清楚):

APPPOOL "default app pool" (some long list of stuff, more entries here)

变为

APPPOOL "default app pool"

2 个答案:

答案 0 :(得分:11)

为什么不只是输入$dT"

如果您真的想用:s,请尝试

:s/"[^"]*$/"/

答案 1 :(得分:2)

两个想法。第一:

:s/\(.*"\).*/\1/

或者,转到该行的末尾并执行:

dT"x

操作整个缓冲区:

:%normal $dT"x