2013-10-08 48 views
0

在标签列表窗口中使用预览[p]或跳转到[enter]命令时,默认情况下,编辑窗口。因为我主要需要在选定的标签(函数)之后看到更多的内容,所以我希望将标签显示的行从中心改为让我们说当前页面大小的三分之一(行数)或者甚至是一个明确的行(比如说从顶部开始的第10行)。如何更改vim的taglist插件的预览结果位置(点击'p')

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

感谢

回答

0

好了,关于英戈Karkat的评论,我设法找到在标记列表插件适当的线路(在线路3357 begginning,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将他(或者更确切地说是更好的)包含到他的插件中(以防他决定这么做) :))

1

你可能寻找zt(与当前行重绘窗口的顶部),以及zz(重绘在中心)命令,或介于两者之间(可以用<C-Y>实现/ <C-E>)。

如何将插件合并到插件中最好与插件的作者讨论。由于您未找到配置设置,因此您可能必须直接修改源代码。把你的建议写给作者;你可能会在下一个插件版本中得到一个配置/钩子,或者提示如何做到这一点,或者作者认为这是一个坏主意。

+0

感谢您的回答,尽管zt/zz呈现实际标记列表窗口中的光标位置。我正在寻找的是在我选择的标签附带的窗口中看到的结果,然后按p/enter键进行“预览”或“跳转到”标签所指向的行 - 我想要的结果进一步显示并且不居中。虽然感谢您的建议,但我可能会尝试给作者写一条评论 – SirGlorg

+0

正确,那就是我暗示的:插件跳转到结果窗口,然后返回到标记列表。在这之间,你必须插入zt/zz,但是目前只能在插件中访问。 –

0

您可以尝试调整scrolloff设置。我不知道tagbar插件,但我想象设置:set so=5应该为您提供一些背景时跳跃。

+0

嘿,这是我不知道的有趣功能! :D在它自己的,它不会解决问题,但它使用正常工作正常! zt'补丁到taglist.vim插件。谢谢你的提示 – SirGlorg