我想在gvim中的分割缓冲区中打开我的所有源文件,其中包含TODO.
我很确定这可以通过grep将输出传递给edit命令来完成,但我不确定如何实现它.
我不会在分裂中打开它们,除非你知道只有两三个.但是如果只有两三个文件需要编辑,为什么你要找一个自动打开它们的命令呢?
这是你可以使用的基本grep:
grep -lIr TODO .
Run Code Online (Sandbox Code Playgroud)
它以递归方式搜索当前目录,查找包含TODO并列出它们的文件 .它还避免匹配二进制文件(包括.swp和.swo文件).然后,如果您正在运行GUI Vim,我会选择:
mvim --remote-silent $(grep -lIr TODO .)
Run Code Online (Sandbox Code Playgroud)
或者,在Vim中,您可以使用:argadd 命令和反引号扩展,如评论中的sehe巧妙建议:
:args `grep -Ilr TODO .`
Run Code Online (Sandbox Code Playgroud)
实际上vim中有一个功能可能比你实际要求的更好.退房:help quickfix.基本上你可以按照你的想象执行你的grep:
grep -rn TODO . > index.txt
然后你可以在vim的快速列表中打开这个索引:
vim -q index.txt
这将允许您通过执行:cn(下一个)和:cp(上一个)来浏览所有这些文件中的每个TODO .也可以:copen在底部打开快速列表窗口,显示您在整个列表中的位置,并允许您导航到任何文件中的每个TODO.
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |