:) 在我永无止境地努力变得更懒的过程中,我正在寻找一种方法来改进我的“在 Vim 中打开 Grep/Ack 结果”代码片段。我目前用来打开找到的文件的是:
vim $(ack -il "pattern")
使用它是一件轻而易举的事,但有一个问题 - 无论找到的文件数是否为 0,Vim 都会打开(换句话说,Vim 打开时缓冲区中没有任何内容)。有没有什么优雅的方法来避免这个完全无关紧要的问题?
提前致谢
答案1
这个怎么样?
files=$(ack -il "pattern") && vim $files
(grep
由于我没有,因此进行了测试。)请注意,如果返回的文件名称中带有空格,则ack
该方法将不起作用。ack
答案2
当没有传递任何参数时如何立即退出 Vim:
vim -c 'if !argc()|quit|endif' $(ack -il "pattern")