vim:添加可点击标签
我知道在 emacs 中可以插入某种“可点击文本”。即,您可以插入一个文本,当用户按 Enter 键时,将打开另一个文件。
vim 有类似的东西吗?
I know that in emacs it is possible to insert some kind of "clickable text". I.e. you can insert a text, that, when the user presses enter on it, opens another file.
Is there something like this for vim?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是可能的,但特定于文件类型。最好的例子是 vim 自己的帮助系统,它没有什么比具有特定映射的不可修改缓冲区更奇特的了。
请参阅 vimwiki 和 vimorgmode 以获得此类链接的示例。
It is possible, but is filetype-specific. A best example will be vim's own help system that is nothing fancier than an unmodifiable buffer with specific mappings.
See vimwiki and vimorgmode for examples to have such links.
对于简单的临时情况,您可以编写一个函数,根据光标下的单词打开某个文件。然后您可以将此函数映射到双击事件。
例如:
并使用以下方式映射它:
因此,双击(在正常模式下)单词
special_keyword
将打开文件/path/to/file/to/be/opened
如果可读。您可以为不同的关键字添加多个案例,或者根据需要对关键字进行一些文本处理以生成文件名。 (请注意,fileread
条件不是必需的,但可能是个好主意。)希望这会有所帮助。
For simple ad hoc cases you could write a function to which opens a certain file based on the word under the cursor. You could then map this function to the double-click event.
For example:
And map it using:
Thus double-clicking (in normal mode) on the word
special_keyword
will open the file/path/to/file/to/be/opened
if it is readable. You could add multiple cases for different keywords, or do some text-processing of the keyword to generate the filename if required. (Note that thefilereadable
condition is not necessary, but probably a good idea.)Hope this helps.
另一个简单的解决方案是编写文件名并使用
gf
转到文件,Ctrl+w,f
在拆分窗口中打开文件或Ctrl+ w,f,g
在选项卡中打开它。请注意,该文件必须已经存在。有关其他一些提示,请参阅此 vim wikia 条目。Another simple solution is to write the filename and use
gf
to go to the file,Ctrl+w,f
to open the file in a split window orCtrl+w,f,g
to open it in a tab. Note that the file must already exist. See this vim wikia entry for some other tips.