Подтвердить что ты не робот

Как увидеть последние несколько нажатий клавиш в vim?

Иногда я нажимаю неправильные клавиши на маленькой клавиатуре моего ноутбука, и возникает нечетная навигация или редактирование (иногда это новая функция для меня).

Хотя я могу отменить редактирование (u) или навигация (control-o), я не знаю, что я сделал не так, поэтому в будущем этого избежать не удастся. Это также расстраивает, чтобы не знать, что только что произошло. Итак, я хотел бы видеть мои последние несколько нажатий клавиш.

Немного напоминает :set showcmd, но для отображения буквальных нажатий клавиш и (в идеале) их краткой истории.

Я только нашел историю командной строки и навигации в help/google.


Чтобы уточнить: я не ищу историю командной строки, но историю нажатий клавиш. например я случайно нажал ) и перешел к следующему предложению? Я нажал dd и удалил строку? Я думаю, это похоже на регистратор нажатия клавиш.

История командной строки (:history) отображает только команды, введенные в приглашении :.

4b9b3361

Ответ 1

Насколько мне известно, ближе всего вы можете получить команду q, которая записывает ваши нажатия клавиш в регистр по вашему выбору. Очевидно, что это нужно настроить априори, поскольку оно предназначено для сложных повторов, хотя вы, вероятно, могли бы взломать что-то, чтобы начать запись на каждом открытом файле. Там вопрос использования памяти и что раздражает "запись", хотя.

Вероятно, самым простым способом было бы установить программное обеспечение для кейлоггеров. Я не имею никакого личного опыта с ними, но последствия для безопасности, вероятно, являются мягкими, если вы получаете его из надежного источника или сами его создаете, настройте его только на запись в память, а не на диск, только буфер имеет размер предложение или так, или только журнал для окон vim.

Ответ 2

Совсем недавно я наткнулся на плагин для Vim, и он напомнил мне об этом вопросе:

http://wolever.net/~wolever/wiki/vim-logging

В основном он записывает все, что вы делаете для последующего анализа, предназначался для получения статистики использования команд, но должен отлично работать для поиска того, какие именно магические команды вы случайно ввели.

Ответ 3

:history покажет вашу историю команд - это поможет вам раскрыть новые функции, которые все мы обнаруживаем в vim с неуместными нажатиями клавиш.

Ответ 4

Gundo - Возможно, стоит посмотреть, хотя, возможно, не совсем то, что вы ищете, это поможет немного.

Он позволяет визуализировать дерево отмены Vim, это означает, что вы сможете увидеть последние изменения, которые произошли. Например, если вы случайно удалили строку, или некоторые из них появятся в дереве, однако она не покажет вам фактические нажатия клавиш и не будет показывать такие вещи, как перемещения курсора.

Ответ 5

Немного устарел, но я только что нашел это на reddit:

Вы можете запустить vim с флагом -w, чтобы записать все нажатия клавиш в файле. См. :h -w

vim -w filename