0
是否有任何vim命令或插件可以從一個函數的引用跳轉到它的定義在一個腳本文件,這是在「自動加載」目錄之一,除了使用ctags?例如,將光標放在「call xyz#abc#foo()」的上方,然後輸入此命令將打開文件「.../autoload/xyz/abc.vim」,並將光標位置設置爲「function xyz #abc#foo()「導航vim自動加載功能沒有標籤
每次插入一個新插件時,我都不打擾生成標籤文件。
是否有任何vim命令或插件可以從一個函數的引用跳轉到它的定義在一個腳本文件,這是在「自動加載」目錄之一,除了使用ctags?例如,將光標放在「call xyz#abc#foo()」的上方,然後輸入此命令將打開文件「.../autoload/xyz/abc.vim」,並將光標位置設置爲「function xyz #abc#foo()「導航vim自動加載功能沒有標籤
每次插入一個新插件時,我都不打擾生成標籤文件。
(對不起,我回答得很晚)
我使用標籤來瀏覽我的自動加載功能。
但我也有一箇舊的:SearchInRuntime sp autoload/xyz/abc.vim
命令,將打開我們正在尋找的自動加載文件,如果尚未打開。
但它不應該很難實現該功能。一旦你有expand('<cword>')
獲得的函數名或什麼的,你可以
let plgname = 'autoload/'.substitute(matchstr(fnname, '.*\ze#'), '#', '/', 'g').'.vim'
let matches = globpath('&rtp', plgname, 1, 1)
exe 'sp '.matches[0]
- 可能需要更多subtitle approaches才能避免多次打開它。call search('^\s*fun\%[ction]:\=\s\+'.fnname', ....)
這個功能可能是誰引用多個自動加載腳本文件vim的插件開發人員非常有用。 因爲「autoload」的父目錄在「runtimepath」選項中列出,並且可以從函數名稱推斷出更多的子目錄,所以不難定位自動加載函數的位置。 我不知道是否有人已經實現了這種功能,並將插件上傳到某處。 – isczg