Использовать связывание сетевых карт с независимыми переключателями

Вы можете добавить это в свою конфигурацию zsh:

bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^H' backward-delete-char

Объяснение:

Vi-mode — это просто набор предварительно настроенных раскладок (viins, vicmd, viopp, visual), которые привязать определенные клавиши к определенным виджетам. Некоторые из этих виджетов специально разработаны таким образом, чтобы вести себя так же, как редактор vi.

В вашем случае это виджет vi-backward-delete-char, который по умолчанию привязан к Backspace в режиме viins, который имеет специальная функция, позволяющая не удалять данные после позиции, в которой был введен режим вставки.

Часто существуют слегка отличающиеся версии этих виджетов, которые больше соответствуют редактору emacs. В этом случае это будет виджет backward-delete-char, который не ограничен текущим сеансом вставки.Хотя по умолчанию он привязан к режиму emacs, нет жестких ограничений на то, какой виджет можно использовать в каком режиме. Вы можете использовать backward-delete-char в vi-mode, просто переназначив Backspace для вызова виджета backward-delete-char. .

Причина наличия двух привязок — ^? и ^H — в том, что от терминала зависит, какая из этих двух последовательностей клавиш отправляется при нажатии . Возврат. По умолчанию оба привязаны к одному и тому же виджету в vi-mode, а также в emacs-mode.

0
17.01.2016, 22:20
0 ответов

Теги

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