【问题标题】:use :tjump instead of :tag vim on pressing ctrl-]使用 :tjump 而不是 :tag vim 按下 ctrl-]
【发布时间】:2011-11-30 05:43:09
【问题描述】:

在 vim 中,
当我按ctrl-]

1) 通常的行为:
它转到第一个与光标下的单词匹配的标签, 之后,我们需要单独执行:tjump 以查看所有匹配标签的列表,然后跳转到所需的标签。

2) 我想要的是:
vim 应该搜索标签文件,
如果有多个匹配项,请显示所有匹配标签的列表
如果有一个匹配,只需跳转到匹配的标签
(就像:tjump 一样)

当我们使用 g-ctrl-] 时,这种行为 (2) 已经发生,但我希望它发生在 ctrl-]
我在某些 linuses 的某些 vim 中看到了使用 ctrl-] 的行为(2)。

请告诉我如何获得行为(2)。换句话说,
请告诉我如何使用 .vimrc 或其他方式使 ctrl-] 表现得像 g-ctrl-]

【问题讨论】:

    标签: tags vim tagging ctags


    【解决方案1】:

    这会将<c-]> 映射到g<c-]>,用于正常模式和可视模式。

    nnoremap <c-]> g<c-]>
    vnoremap <c-]> g<c-]>
    

    我建议你将g&lt;c-]&gt; 映射到&lt;c-]&gt;。换句话说,只是交换命令。

    nnoremap g<c-]> <c-]>
    vnoremap g<c-]> <c-]>
    

    【讨论】:

    • 非常感谢..解决了它..映射 到 g 工作。放到vimrc中
    • 如何映射 + 鼠标左键以使用行为 (2) 而不是行为 (1)?我可以简单地将标签映射到 tjump 吗?
    • nnoremap &lt;c-leftmouse&gt; g&lt;c-]&gt;。但是我建议使用键盘,因为它是 vim 方式。
    • 我很难看到行为(1)在所有但非常罕见的情况下如何有用,在这种情况下,最好只按1&lt;enter&gt;,而不是努力记住在命令前加上g .因此,除非有人说服我,否则我不会在我的配置中使用[nv]noremove g&lt;c-]&gt; &lt;c-]&gt;
    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多