【发布时间】:2015-08-12 00:29:01
【问题描述】:
特别是,我正在 Verilog 中编辑文件,并希望在其他文件中查看光标下某个单词的其他实例。理想情况下,它会显示一个类似于自动完成列表的列表。然后我可以选择行条目,vim 会打开文件(在同一窗口或新选项卡中)。
我在 Emacs 中看到了这个特性。我不得不认为它存在于 Vim 的某个地方。
【问题讨论】:
特别是,我正在 Verilog 中编辑文件,并希望在其他文件中查看光标下某个单词的其他实例。理想情况下,它会显示一个类似于自动完成列表的列表。然后我可以选择行条目,vim 会打开文件(在同一窗口或新选项卡中)。
我在 Emacs 中看到了这个特性。我不得不认为它存在于 Vim 的某个地方。
【问题讨论】:
用 vimscript 写会很有趣,但我现在没有时间。希望这会让您朝着正确的方向前进:
有个叫 Fugitive 的 vim 插件
它允许您直接从 vim 控制台执行 git grep 或 git blame 之类的操作。 https://github.com/tpope/vim-fugitive
他们的git grep 命令Ggrep 应该会为您提供一个本地文件列表,其中包含您想要grep 的任何单词。可能请查看此 Q/A 以使其正常工作:Getting 'git grep' to work effectively in vim
我要做的最后一件事是编写一个小的 vimscript 函数和一个按键别名,该别名将调用 Ggrep 并带有光标下的单词。
(希望以后有时间写出更好的答案)
【讨论】:
如果您有可用的标签文件,您也许可以为此目的使用:tselect identifier。
【讨论】:
Vimgrep 是你的朋友。
:vimgrep /pattern/ <path>/**
这将在快速修复窗口中添加行。每一行都是文件中与模式匹配的行中的文本。 ** 是递归到子目录的简写。
【讨论】: