Ich bin kein Experte für Vim-Scripting, also ist dies vielleicht keine ideale Lösung, aber das hat bei mir funktioniert.
Erstellen Sie zunächst eine benutzerdefinierte viewdoc Handler in der viewdoc_pman.vim-Datei (die in der ~/.vim/bundle/viewdoc/plugin/ Verzeichnis gefunden werden können, wenn Sie die empfohlene Erreger Installation verwenden).
function ViewDoc_pman_custom(topic, filetype, synid, ctx)
let l:tagpath = '/etc/vim/bundle/yii-api-vim/doc/tags'
let l:shell = printf('grep %s %s', shellescape(a:topic,1), l:tagpath)
let l:output = system(l:shell)
if !v:shell_error
return g:ViewDoc_help(a:topic, a:filetype, a:synid, a:ctx)
else
let l:ViewDoc_pman_old = function('ViewDoc_pman')
return l:ViewDoc_pman_old(a:topic, a:filetype, a:synid, a:ctx)
endif
endfunction
Diese Funktion verwendet grep für die angegebenen Thema Zeichenfolge im yii-api-vim-Tags-Datei zu suchen. Wenn es dort gefunden wird, wird der Befehl einfach an den Standard-Handler ViewDoc_help übergeben (vorausgesetzt, Sie haben die yii-api-vim Dokumentation bereits installiert, damit sie mit der Standardhilfe ordnungsgemäß funktioniert).
Wenn grep nichts finden, dann fällt es wieder die alte PHP-Handler in der ViewDoc_pman Funktion aufrufen. Beachten Sie, dass wir g: ViewDoc_pman nicht direkt aufrufen können, da dies eine Variable ist, die wir gerade überschreiben. Wir müssen eine Handle für die alte Funktion mit function('ViewDoc_pman')
bekommen und rufen Sie stattdessen.
Schließlich müssen Sie diese beiden Zeilen finden:
let g:ViewDoc_pman = function('ViewDoc_pman')
let g:ViewDoc_php = function('ViewDoc_pman')
und ersetzen sie durch diese beiden:
let g:ViewDoc_pman = function('ViewDoc_pman_custom')
let g:ViewDoc_php = function('ViewDoc_pman_custom')
Dies zwingt alle Anfragen PHP-Dokumentation auf unserer neuen benutzerdefinierten Handler eher weitergeleitet werden als die alte ViewDoc_pman Funktion.
Wenn Sie nicht lieber die viewdoc_pman.vim Datei bearbeiten, können Sie die viewdoc Handler in Ihrer .vimrc Datei stattdessen setzen. Dann setzen die g: ViewDoc_pman und g: ViewDoc_php Variablen, werden Sie die folgenden Zeilen hinzufügen müssen:
autocmd VimEnter * let g:ViewDoc_pman = function('ViewDoc_pman_custom')
autocmd VimEnter * let g:ViewDoc_php = function('ViewDoc_pman_custom')
Die autocmd VimEnter
die Zuordnungen zwingt zu geschehen, nachdem alle Plugins geladen wurden, sonst diejenigen Variablen würden nur vom Plugin überschrieben und Ihr benutzerdefinierter Handler würde nie aufgerufen werden.
Was haben Sie versucht? Wie ist es gescheitert? – romainl
Ich habe nichts versucht, weil a) ich bin nicht zuversichtlich in vimscript und b) aus dem Handbuch würde ich nicht einmal wissen, was ich zurückgeben soll, so dass es meine Hilfedateien in meinem spezifischen Verzeichnis öffnet. –
Fragen Sie vielleicht nach Beispielen im [issue tracker] (https://code.google.com/p/vim-plugin-viewdoc/issues/list). Ich glaube nicht, dass genug Leute dieses Plugin benutzt haben, um ein Beispiel zu schreiben. – FDinoff