Как отправить сигнал ESC в vim, когда моя клавиша esc не работает?

Хорошо, я разобрался. Мне пришлось зайти в диспетчер сети и отключить IPv6. Я предполагаю, что мне пришлось сделать это, потому что IPv6 отключен на уровне ядра для меня, так как он, похоже, не очень хорошо работает с моей сетью по какой-то причине. Это странно, потому что без dnsmasq я могу оставить раздел IPv6 в сетевом менеджере настроенным, и все работает нормально, но, видимо, dnsmasq это не нравится.

20
24.12.2016, 04:40
6 ответов

Несмотря на существующие решения, традиционное решение в Vim заключается в переназначении клавиш в конфигурации .vimrc. На самом деле, многие пользователи Vim назначают более легкодоступную клавишу на Esc. Популярными вариантами являются Ctrl+Enter, или jj, и т.д.

Чтобы включить это, просто поместите что-то вроде следующего в ваш .vimrc и перезагрузите его/перезапустите Vim:

" Shift-Enter
inoremap <S-CR> <Esc>
" Double-j
inoremap jj <Esc>

Дополнительная информация и альтернативы

8
27.01.2020, 19:43

Ctrl - [ отправляет на терминал тот же символ, что и физическая клавиша Esc . Последнее, как правило, просто ярлык для первого.

59
27.01.2020, 19:43

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

9
27.01.2020, 19:43

Если вы хотите использовать один ключ, в качестве чистого решения * nix (без сопоставлений Vim) вы можете определить другой ключ как Esc . Так же, как пользователи Emacs переназначают CapsLock на Ctrl , некоторые пользователи Vim (включая меня) переназначают CapsLock на Esc . Это работает для любого * nix, использующего X11.

Используйте xev -event keyboard (а затем нажмите CapsLock ), чтобы получить код клавиши для клавиши CapsLock (для меня это код клавиши 66). Затем вы можете использовать xmodmap для переназначения ключа:

xmodmap -e 'remove Lock = Caps_Lock' -e 'keycode 66 = Escape'

Чтобы получить это при входе в систему, вы можете добавить выражения xmodmap в ~ / .Xmodmap следующим образом:

remove Lock = Caps_Lock
keycode 66 = Escape

Хотя для второй части YMMV, поскольку не все диспетчеры отображения запускают ~ / .Xmodmap . Возможно, вам потребуется добавить xmodmap .Xmodmap в .xinitrc на некоторых из них.

14
27.01.2020, 19:43

Ctrl + F2

Está habilitado por defecto. No es necesario configurar ningún ajuste.

Pasará al modo normal, donde puede hacer :q! or :wq.

-3
27.01.2020, 19:43

Эмуляторы терминала отправляют код ESC также при нажатии:

  • Ctrl + [
  • Ctrl + 3 Мне нравится этот, так как вы можете использовать только одну руку, чтобы нажимать на него.
  • Alt и любая другая клавиша. Например, Alt + h , j , k , l выйдут из режима вставки и переместят курсор в в то же время.
1
16.03.2021, 15:02

Теги

Похожие вопросы