Я давний пользователь vi(m) и недавно перешел на использование сочетания клавиш vi в bash. Я уже могу сказать, что это будет улучшение, но я хотел бы настроить несколько вещей, чтобы действительно стать профессионалом.
- В настоящее время я использую следующее сопоставление, и оно полностью укоренилось:
map ii <esc>
. Могу ли я сделать то же самое в командной строке? Это может показаться тривиальным, но я настолько привык просто нажимать i дважды, что тянуться до клавиши Escape становится больно. - Я бы ОЧЕНЬ хотел найти способ указать, в каком режиме я нахожусь: вставка или команда. Это могло бы быть изменение типа/цвета курсора, добавление заметки в подсказку и т. д.
Я просмотрел man-страницы для bash и попытался создать файл .inputrc, но пока не нашел ничего, что бы работало. Я вижу, что вы можете сопоставлять клавиши, но можете ли вы сделать это для двух нажатий клавиш в быстрой последовательности, как я?
Я видел решения, которые говорят, что работают для zsh. Я не заинтересован в переходе на zsh. Если это невозможно в bash, я могу с этим жить.
решение1
Ваш первый запрос возможен поТАК ответьсвязаны вpb2q'sкомментарийна ваш пост.
Ваш второй запрос теперь возможен, если у вас bash 4.3 и readline 6.3. Просто добавьте это в ваш .inputrc
:
set show-mode-in-prompt on
В моем случае в режиме вставки к приглашению добавляется символ «+», который в командном режиме меняется на «:».
Источник:этот ответкeMPee584на StackOverflow.