
Недавно я начал использовать Vim. Из предыдущих редакторов я привык удалять целое слово нажатием Ctrl- Backspace. После просмотра документации я обнаружил, что это делается нажатием Ctrl- wв Vim. Проблема в том, что после того, как я привык нажимать Ctrl- w, я начал закрывать вкладки и чаты каждый раз, когда я неправильно написал слово (пока писал этот вопрос, я закрыл эту вкладку 5 раз). Поэтому я проверил, как сопоставлять клавиши в Vim, и попробовал это:
:imap <C-BS> <C-w>
К сожалению, это не сработало. После небольшого исследования я обнаружил, что терминал не различает Ctrl- Backspaceи Backspace. Я видел несколько хаков и патчей для исправления этой проблемы, но я не смог заставить их работать на Terminator (это эмулятор, который я хочу использовать).
Есть ли способ отобразить Ctrl- Backspaceв Vim при использовании терминатора?
решение1
Из-за того, как обрабатывается ввод с клавиатуры внутри, к сожалению, сегодня это, как правило, невозможно. Некоторые комбинации клавиш, такие как 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.