Як шукати шаблон у вихідному команді? Наприклад, як шукати шаблон імені файлу у висновку :scriptnames
команди? У довідці на всі смаки grep
і vimgrep
є лише {file}
місце, де можна здійснити пошук.
Як шукати шаблон у вихідному команді? Наприклад, як шукати шаблон імені файлу у висновку :scriptnames
команди? У довідці на всі смаки grep
і vimgrep
є лише {file}
місце, де можна здійснити пошук.
Відповіді:
Ви можете зробити:
:redir => scriptn | sil exe 'scriptnames' | redir end | echo(system('grep pattern',scriptn))
Що це робить:
: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`
:filter
Команда являє собою простий, однорядковий підхід до цього.
:filter /indent/ scriptnames
Показували б лише рядки, що відповідають шаблону indent
з виводу :scriptnames
команди.
Я бачу - :redir
орієнтовані рішення таких питань, які часто є прекрасними і пропонують багато енергії та варіантів, але я відчуваю, що вони трохи непосильні, коли частіше за все потрібно просто швидко перевірити, чи щось там є. :filter
зручно використовувати в даний момент і мертве просте.
По-перше, вам потрібно схопити вихід scriptnames
і помістити його в буфер.
Ви можете використовувати :redir
для цього:
: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'
Однак це означає, :scriptname
що надто довгий висновок для сканування власними очима може бути симптомом більш глибоких проблем.
:scriptnames
більше, ніж у Magna Carta, ви можете встановити сценарій Тіма Попа . Він надає функцію, :Scriptnames
яка розміщує всі ці сміття у списку швидких виправлень. Там ви можете шукати його до вмісту серця, зберігати його у файл або переходити до відповідних сценаріїв.
NERDTree
слід розмістити всі його функції в одному файлі, щоб зберегти :scriptnames
короткий вихід ? Чи зробить це кращим написаним плагіном?