В VIM я могу узнать, какие клавиши я только что набрал?

11

Иногда я буду использовать VIM, и что-то случится, и я не знаю, что это было или что я напечатал, что вызвало это. Есть ли способ перечислить некоторые из недавно введенных ключей и, еще лучше, узнать, какие действия они вызвали?

Оуэн
источник

Ответы:

7

Vimесть опция, которую -Wвы можете использовать, но она не будет работать, пока Vimвы работаете.

-w {scriptout}

Все введенные символы записываются в файл {scriptout} до выхода из Vim. Это полезно, если вы хотите создать файл сценария для использования с "vim -s" или ": source!". Если файл {scriptout} существует, символы добавляются.

-W {scriptout}

Как -w, но существующий файл перезаписывается.

Вызов, Vimнапример, с псевдонимом

vim -W /tmp/vimlog-$(id -un)

позволит вам проверить less /tmp/vimlog-$(id -un)или cat -v /tmp/vimlog-$(id -un)то, что вы буквально набрали после выхода Vim.

Peth
источник
Это интересная идея. Я попробую и посмотрю, научусь ли я чему-нибудь.
Оуэн
3

Сначала убедитесь, что vim запоминает любые строки истории. Это устанавливает историю в 1000 команд и поисков:

:set history=1000

Если вы вводите начало того, что вы ищете, вы можете использовать клавиши для прокрутки истории - это относится к командам и поискам.

Например, если вы искали Китай, то Куба, затем Чад, а затем Кипр :

Вы можете напечатать /cи нажать несколько раз. Вы обнаружите , что показывает /cyprusто /cubaтогда /china( /Chadпропускается , поскольку он не начинается с с ).

Другие команды:

  • :history перечисляет всю историю.
  • :his перечисляет историю команд.
  • :his / перечисляет историю поиска.
багор
источник
2
Я не думаю, что это относится к командам нормального режима только к командам ex mode (то есть командам, которые начинаются с ':', пример: e: w: q)
kmkkmk
1
Чтобы увидеть историю команд ex, вы также можете просто набрать q:в обычном режиме. То же самое касается истории поискаq/
Яб
2

Вы можете добавить это к вашему .vimrc:

set showcmd

В строке состояния будет отображаться команда, которую вы вводите, когда вы их набираете. Хотя это не даст вам истории, это самое близкое из известных мне решений.

Однако, если вы говорите о exкомандах, Gareth's awnser - это путь

Яб
источник