bash vi привязки клавиш: Могу ли я сопоставить клавиши? Режим отображения (вставка или команда)?

bash vi привязки клавиш: Могу ли я сопоставить клавиши? Режим отображения (вставка или команда)?

Я давний пользователь vi(m) и недавно перешел на использование сочетания клавиш vi в bash. Я уже могу сказать, что это будет улучшение, но я хотел бы настроить несколько вещей, чтобы действительно стать профессионалом.

  1. В настоящее время я использую следующее сопоставление, и оно полностью укоренилось: map ii <esc>. Могу ли я сделать то же самое в командной строке? Это может показаться тривиальным, но я настолько привык просто нажимать i дважды, что тянуться до клавиши Escape становится больно.
  2. Я бы ОЧЕНЬ хотел найти способ указать, в каком режиме я нахожусь: вставка или команда. Это могло бы быть изменение типа/цвета курсора, добавление заметки в подсказку и т. д.

Я просмотрел man-страницы для bash и попытался создать файл .inputrc, но пока не нашел ничего, что бы работало. Я вижу, что вы можете сопоставлять клавиши, но можете ли вы сделать это для двух нажатий клавиш в быстрой последовательности, как я?

Я видел решения, которые говорят, что работают для zsh. Я не заинтересован в переходе на zsh. Если это невозможно в bash, я могу с этим жить.

решение1

Ваш первый запрос возможен поТАК ответьсвязаны вpb2q'sкомментарийна ваш пост.

Ваш второй запрос теперь возможен, если у вас bash 4.3 и readline 6.3. Просто добавьте это в ваш .inputrc:

set show-mode-in-prompt on

В моем случае в режиме вставки к приглашению добавляется символ «+», который в командном режиме меняется на «:».

Источник:этот ответкeMPee584на StackOverflow.

Связанный контент