【问题标题】:How to change the preview result position of vim's taglist plugin (hitting 'p')如何更改 vim 的 taglist 插件的预览结果位置(点击 'p')
【发布时间】:2013-10-08 09:19:19
【问题描述】:

在 taglist 窗口中使用预览 [p] 或跳转到 [enter] 命令时,默认情况下,文件编辑窗口中的相应行。因为我主要需要查看所选标签(函数)之后的更多内容,所以我很想将标签从中心显示的行更改为当前页面大小的三分之一(行数)甚至是明确的一行(比如说从顶部算起的第 10 行)。

是否有可以调整所选标签显示位置的命令/设置? (我在手册中找不到)。

谢谢

【问题讨论】:

    标签: vim taglist


    【解决方案1】:

    您可能正在寻找zt(在窗口顶部使用当前行重绘)和zz(在中心重绘)命令,或者介于两者之间的命令(可以通过<C-Y> 实现) /<C-E> 在这些命令之后)。

    最好与插件作者讨论如何将其合并到插件中。由于您没有找到此配置设置,您可能必须直接修改源代码。将您的建议写给作者;您可能会在下一个插件版本中获得此配置/挂钩,或提示如何执行此操作,或者可能是作者对为什么这是一个坏主意的看法。

    【讨论】:

    • 感谢您的回答,尽管 zt/zz 在实际的 taglist 窗口中呈现光标位置。我正在寻找的是在附加到我选择的标签的窗口中看到的结果,然后点击 p/enter 到“预览”或“跳转到”标签指向的行 - 这个结果我想显示得更靠上而不是居中。虽然感谢您的建议,但我可能会尝试给作者写评论
    • 对,这就是我所暗示的:插件跳转到结果窗口,然后返回标签列表。在这两者之间,您必须插入 zt/zz,但目前只能在插件内部访问。
    【解决方案2】:

    您可以尝试调整scrolloff 设置。我不知道标签栏插件,但我想设置:set so=5 应该在跳转时为您提供一些上下文。

    【讨论】:

    • 嘿,这是我不知道的有趣功能! :D 就其本身而言,它不能解决问题,但使用 taglist.vim 插件的normal! zt 补丁可以正常工作。谢谢你的提示
    【解决方案3】:

    好吧,关于 Ingo Karkat 的评论,我设法在 taglist 插件中找到了适当的行(从第 3357 行开始,版本 4.6):

    " Jump to the tag
    if a:tagpat != ''
        " Add the current cursor position to the jump list, so that user can
        " jump back using the ' and ` marks.
        mark '
        silent call search(a:tagpat, 'w')
    
        " Bring the line to the middle of the window
        normal! z.
    
        " If the line is inside a fold, open the fold
        if foldclosed('.') != -1
            .foldopen
        endif
    endif
    

    这里normal! z. 部分需要适当更改为可以适当更改所选行位置的内容。由于我不是 vim 插件大师,所以我以最愚蠢的方式对其进行了更改

    " Bring the line to the middle of the window
    normal! zt
    normal! 10k
    silent call search(a:tagpat, 'w')
    

    它只是向上走 10 次,然后再次搜索正确的位置。希望这可能会帮助那些在同一问题上“挣扎”的人,直到提出更好的解决方案,或者作者 Yegappan Lakshmanan 将这个(或者更好的东西)包含到他的插件中(如果他当然决定这样做:) )

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2013-03-24
      • 2011-08-15
      • 1970-01-01
      相关资源
      最近更新 更多