Как вы просматриваете историю команд vim?


Я хотел бы иметь следующий поиск в Vim тоже

(reverse-i-search)`': 

введите слово из предыдущей команды, и вы получите полную команду.

Я знаю инструмент хронологической истории в Vim

q:

однако, это не так полезно, как обратный поиск.

как вы можете иметь подобный обратный поиск в Vim, как в терминале?

5 55

5 ответов:

введите первые буквы предыдущей команды и нажмите стрелку (или Ctrl+p).

:set li<up>
:set lines=75

Не забудьте проверить опцию истории и установить ее на достаточно большое значение

:set history=1000

тип q: в обычном режиме открыть окно команд. Вы можете искать/редактировать здесь с помощью обычных команд vim. Вы начинаете в обычном режиме. Нажмите Enter выполнить команду.

этот подход позволяет выполнять поиск по всей команде, а не только в начале строки.

вот документы для история командной строки Vim, также посмотреть эту часть документов на история командной строки Vim это охватывает ключевые привязки в то время как в истории. Похоже, вы можете сказать :foo, а затем нажмите стрелку вверх, чтобы найти последнюю команду, которая началась с Foo.

Я тоже искал это (наконец, после того, как задался вопросом, почему он не был встроен в течение некоторого времени) и решил, что не могу устоять перед тем, чтобы взорвать реализацию, так что вот вам:https://github.com/goldfeld/ctrlr.vim

Он должен работать так же, как и оболочка-ну, есть еще несколько основных вещей, отсутствующих (например, нажатие ^R снова, чтобы перейти к следующему матчу), но все, что я использую, находится в этом первом выпуске, и я планирую добавить остальное в ближайшие недели, когда я получу время.

кроме того, q: в обычном режиме вы можете использовать Ctrl+F в режиме командной строки, чтобы открыть окно истории команд и использовать обычные команды поиска, такие как /,?