我正在寻找VI(M)中的快速命令,我可以删除从行尾开始到字符的所有文本。我可以这样做:
:%s/.*"
但我想要反其道而行之。我试过了:
:%s/$.*"
但这不起作用(我的逻辑是$ - 从行尾开始,找到所有内容“并删除它。
以下是我试图操作的文本示例(编辑:但这一行多次发生 - 解决方案必须适用于许多类似结构的线路 - 单线解决方案是不够的 - 不道歉先清楚):
APPPOOL "default app pool" (some long list of stuff, more entries here)
变为
APPPOOL "default app pool"
答案 0 :(得分:11)
为什么不只是输入$dT"
?
如果您真的想用:s,请尝试
:s/"[^"]*$/"/
答案 1 :(得分:2)
两个想法。第一:
:s/\(.*"\).*/\1/
或者,转到该行的末尾并执行:
dT"x
操作整个缓冲区:
:%normal $dT"x