#vim #command #vi
#vim #команда #vi
Вопрос:
В vi / vim при выполнении команд или поиске они добавляются в список предыдущих команд. И, как и в shell, их можно получить с помощью клавиш со стрелками вверх или вниз. Это очень неудобно, есть ли какой-либо другой способ просмотра истории без использования клавиш со стрелками?
Комментарии:
1. Для тех, кто хочет перенести это в SU, пожалуйста, прочитайте вопросы Vim: SO или SU . В настоящее время у SO 4965 вопросов Vim по сравнению с 939 на SU. По моему личному мнению, здесь самое место спросить о Vim.
2. Я опубликовал это в своем комментарии ?!
Ответ №1:
ДА. В обычном режиме q:
открывается окно vim с историей команд. Вы можете работать в нем, как в любом другом буфере vim. Enter выполняет команду. q/
и q?
сделайте то же самое для поиска.
Кроме того, во время ввода команды вы можете нажать Ctrl-F, чтобы открыть окно командной строки и продолжить редактирование команды там.
Комментарии:
1. также я не знал, что
q/
иq?
где параметры2. «Эй, приятель, иди сюда, здесь парень, который только что нашел святой грааль!»
Ответ №2:
Вы можете использовать ctrl-n
и ctrl-p
в командной строке для просмотра истории и перехода между матчами с подстановочными знаками. См :help c_CTRL-N
. .
Комментарии:
1. Ах, это именно то, что я искал. Спасибо.
2. Это отлично подходит для последних команд. Если вам нужны только команды, начинающиеся с определенной строки, это будет работать не так хорошо. Если вы введете,
:vs
а затем нажмете стрелки вверх и вниз, он будет переходить между предыдущими командами, которые начинались с:vs
, в то времяctrl-n
как /ctrl-p
будет перемещаться только по ближайшей истории
Ответ №3:
Иногда я нажимаю q:
, и это приводит меня к буферу командной строки с самыми последними командами. Вы можете перемещаться по нему с помощью h, j, k, l и нажатия Enter для нужной команды.
Ответ №4:
Для достижения этой цели вы можете создать сопоставления в режиме командной строки. Вы могли бы, например, использовать <Ctrl-j>
и <Ctrl-p>
в качестве альтернативы стрелкам вниз и вверх:
cnoremap <C-j> <Down>
cnoremap <C-k> <Up>