Vim обладает широкими возможностями настройки (что является одной из основных причин его популярности), поэтому существует несколько возможностей обеспечить ярлык:
неполное сопоставление
Отображение не обязательно содержит полноекоманда.Вы можете просто подготовить командную строку и оставить курсор в определенном месте, чтобы вы могли заполнить оставшуюся часть и запустить (Ex) команду с помощью Enter .Например:
:nnoremap <Leader>f :vimgrep // **/*.* <Bar> cwindow<Home><Right><Right><Right><Right><Right><Right><Right><Right><Right>
Концевые клавиши позиционируют курсор между //
, чтобы вы могли заполнить text
и затем выполнить команду.
Примечание.<C-S-f>
отображение будет таким же, как <C-f>
(неудачное ограничение в текущей реализации), и, следовательно, переопределит полезную встроенную команду.Вместо этого я использовал <Leader>f
(где по умолчанию для этой клавиши \ ; cp. :help <Leader>
).
пользовательская команда
Это уже хорошо,но предполагая, что у нас никогда не будет необходимости редактировать другие части команды, мы можем сократить ее до пользовательской команды, например, :FindText
:
command! -nargs=1 FindText vimgrep /<args>/ **/*.* | cwindow
С помощью этого вы можете искать через :FindText text
.Если вы по-прежнему предпочитаете отображение, оно станет
:nnoremap <Leader>f :FindText<Space>
Другие преимущества пользовательских команд состоят в том, что их легче вызывать из истории командной строки (поскольку они отличаются от других команд :vimgrep
, которые вы могли быиспользовать), и вы создаете библиотеку команд редактирования более высокого уровня, которые со временем могут использоваться повторно для создания еще более команд более высокого уровня, что делает редактирование более эффективным.