2013-10-08 22 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