Як шукати шаблон у вихідному команді? Наприклад, як шукати шаблон імені файлу у висновку :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короткий вихід ? Чи зробить це кращим написаним плагіном?