8

Я недавно начал использовать Vim. Из предыдущих редакторов я привык удалять слова целиком, нажимая Ctrl - Backspace. Посмотрев документацию, я обнаружил, что это было сделано, нажав Ctrl - w в Vim. Проблема в том, что после привыкания к нажатию Ctrl - w я начал закрывать вкладки и чаты каждый раз, когда неправильно пишу слово (при написании этого вопроса я закрывал эту вкладку 5 раз). Поэтому я проверил, как сопоставить ключи в Vim, и попробовал это:

:imap <C-BS> <C-w>

К сожалению, это не сработало. После небольшого исследования я обнаружил, что терминал не различает Ctrl - Backspace и Backspace. Я видел некоторые хаки и патчи, чтобы исправить эту проблему, но я не мог заставить их работать на терминаторе (это эмулятор, который я хочу использовать).

Есть ли способ сопоставить Ctrl - Backspace в Vim при использовании терминатора?

1 ответ1

8

Из-за того, что ввод с клавиатуры обрабатывается внутри, к сожалению, сегодня это вообще невозможно. Некоторые сочетания клавиш, такие как Ctrl + не алфавитный, не могут быть сопоставлены, и Ctrl + буква против Ctrl + Shift + буква не может быть различена. (Если ваш терминал не отправляет для него отдельный код termcap , чего большинство не делает.) В режиме вставки или командной строки попробуйте ввести комбинацию клавиш. Если ничего не происходит / вставлено, вы не можете использовать эту комбинацию клавиш. Это также относится к <Tab> / <C-I> , <CR> / <C-M> / <Esc> / <C-[> и т.д. (Единственное исключение - <BS> / <C-H> .) Это известная проблема и предмет различных дискуссий на vim_dev и IRC-канале #vim.

Некоторые люди (прежде всего Пол ЛеоНерд Эванс) хотят это исправить (даже для консоли Vim в терминалах, которые поддерживают это), и выдвинули различные предложения, ср. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .