vi режим редактирования в тире (/ bin / sh) [дубликат]

Этот вопрос уже имеет ответ здесь: Редактирование строк в тире 2 ответа

TL; DR: по умолчанию в командной строке говорится, что есть режим редактирования vi, но set -o vi на самом деле не активирует его

Во многих оболочках, включая dash, стандарт POSIX диктует, что set -o vi включит режим редактирования vi, в котором пользователь интерактивной оболочки может перемещаться по строке, используя ярлыки vi-стиля. В dash (оболочка Ubuntu по умолчанию, связанная с /bin/sh), это не работает, хотя справочная страница указывает, что эта функция доступна.

Пример:

$ dash
$ set -o vi
$ hello wolrd^[I

То, что должно было случиться, заключается в том, что с Esc, Shift + i ярлык курсора должен был подпрыгнуть к началу строки. Как вы можете видеть, вместо этого я получаю контрольный символ. Я попросил несколько пользователей протестировать это в чате AskUbuntu, и они подтвердили такое же поведение.

Обратите внимание, что это не связано с эмулятором терминала - я тестировал его в 3 разных: xterm, gnome-terminal и terminator. Я тестировал это с помощью других оболочек, bash, mksh и ksh93 - все работает нормально, как ожидалось, так что это dash - только проблема.

1
задан 19 September 2016 в 05:44

0 ответов

Другие вопросы по тегам:

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