在taglist窗口中使用preview [p]或jump-to [enter]命令时,默认情况下在文件编辑窗口中显示相应的行。因为我主要需要在所选标签(功能)之后看到更多正确的内容,所以我很乐意从中心更改标签显示的行,让我们说当前页面大小的三分之一(行数)甚至是一条明确的线(让我们说从顶部开始的第10行)。
是否有调整所选标签显示位置的命令/设置? (我在手册中找不到一个)。
由于
答案 0 :(得分:1)
你可能正在寻找zt
(在窗口顶部用当前行重绘)和zz
(在中心重绘)命令,或者介于两者之间的某些东西(可以实现)在这些命令之后使用<C-Y>
/ <C-E>
。
如何将其合并到插件中最好与插件的作者讨论。由于您没有找到此配置设置,因此您可能需要直接修改源代码。把你的建议写给作者;您可以在下一个插件版本中获得配置/挂钩,或者提示如何执行此操作,或者作者对于为什么这是一个坏主意的看法。
答案 1 :(得分:0)
您可以尝试调整scrolloff
设置。我不知道标签栏插件,但我想设置:set so=5
应该在跳转时提供一些上下文。
答案 2 :(得分:0)
好吧,关于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-plugin大师,所以我以最愚蠢的方式改变它
" Bring the line to the middle of the window
normal! zt
normal! 10k
silent call search(a:tagpat, 'w')
只是走了10次,然后再次搜索正确的位置。希望这可能会帮助那些在同一个问题上“挣扎”的人,直到提出更好的解决方案,或者作者Yegappan Lakshmanan将这个(或者说更好的东西)包含在他的插件中(以防他当然决定这样做) :))