Risposte:
Potresti fare:
:redir => scriptn | sil exe 'scriptnames' | redir end | echo(system('grep pattern',scriptn))
Cosa fa :
:redir => scriptn "redirect following output to variable scriptn
:sil exe 'scriptnames' "silently execute scriptnames
:redir end "end the redirection
:echo(system('grep pattern',scriptn)) "echo the call of grep witht that input with the pattern `pattern`
Il :filter
comando è un semplice approccio a una riga a questo.
:filter /indent/ scriptnames
Mostrerebbe solo le linee corrispondenti allo schema indent
dall'output del :scriptnames
comando.
Vedo :redir
spesso soluzioni orientate a domande come queste, che vanno bene e offrono molta potenza e opzioni, ma sento che sono un po 'eccessive quando più spesso, devi solo verificare rapidamente se c'è qualcosa. :filter
è comodo da usare nel momento e morto semplice.
Innanzitutto, devi prendere l'output di scriptnames
e inserirlo in un buffer.
Puoi usare :redir
per quello:
:redir @a " redirect output of following ex commands to register a
:scriptnames " press G to get to the end of the output if it's too long
:redir END " end the redirection
:vnew " new buffer in vertical window
:put a " put content of register
/pattern " search for 'pattern'
Detto questo, un :scriptname
output troppo lungo per essere scansionato con i tuoi occhi potrebbe essere un sintomo di problemi più profondi.
:scriptnames
è più lungo di Magna Carta, potresti prendere in considerazione l'installazione dello scriptease di Tim Pope . Fornisce una funzione :Scriptnames
che mette tutta quella spazzatura in un elenco di soluzioni rapide. Lì puoi cercarlo nel contenuto del tuo cuore, salvarlo in un file o andare agli script corrispondenti.
NERDTree
dovrebbe mettere tutte le sue funzioni in un singolo file, al fine di mantenere l'output di :scriptnames
breve? Lo renderebbe un plugin scritto meglio?