Réponses:
Vous pourriez faire :
:redir => scriptn | sil exe 'scriptnames' | redir end | echo(system('grep pattern',scriptn))
Ce qu'il fait :
: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`
La :filtercommande est une approche simple et en une seule ligne pour cela.
:filter /indent/ scriptnames
N'afficherait que les lignes correspondant au modèle indentde la sortie de la :scriptnamescommande.
Je vois :redirsouvent des solutions orientées à des questions comme celles-ci, qui sont très bien et offrent beaucoup de puissance et d'options, mais je pense qu'elles sont un peu exagérées lorsque le plus souvent, il vous suffit de vérifier rapidement si quelque chose est là. :filterest pratique à utiliser dans le moment et très simple.
Tout d'abord, vous devez saisir la sortie de scriptnameset la mettre dans un tampon.
Vous pouvez utiliser :redirpour cela:
: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'
Cela dit, une :scriptnamesortie trop longue pour être scannée de vos propres yeux peut être le symptôme de problèmes plus profonds.
:scriptnamesest plus longue que Magna Carta, vous pourriez envisager d'installer le scriptease de Tim Pope . Il fournit une fonction :Scriptnamesqui met toutes ces ordures dans une liste de correctifs. Là, vous pouvez le rechercher selon le contenu de votre cœur, l'enregistrer dans un fichier ou accéder aux scripts correspondants.
NERDTreedevrait mettre toutes ses fonctions dans un seul fichier, afin de garder la sortie de :scriptnamescourt? Serait-ce un meilleur plugin écrit?