Я использую vi привязки клавиш в своей оболочке tcsh.
Теперь, я не знаю, в каком vi режиме я нахожусь (insert
режим или command
режим), который приводит к большому количеству разочарования.
Кто-либо знает о способе показать текущий vi режим в оболочке? (включением в подсказку или что-то)
Я не полагаю, что существует любой способ определить визуально, какой режим Ваш в, но если Вы изменяете свое поведение немного, оно не будет иметь значения.
Если Вы хотите быть в командном режиме, нажмите ESC прежде, чем ввести команду.
Если Вы хотите быть в режиме вставки, нажмите ESC и меня прежде, чем ввести содержание.
Вы закончите тем, что нажатие ESC много, но каждый vi пользователь, которого я когда-либо встречал, делает это так или иначе.
Я взглянул через документацию, и я должен был бы сказать, что не мог найти способ обнаружить и отобразить текущий vi-режим. Я действительно надеюсь, что у Вас есть приятный сюрприз, и кто-то предлагает решение, но я, конечно, не вижу способ сделать то, что Вы спрашиваете.
Я думаю, что существует способ сделать это, но это - крупное излишество для крошечного раздражения, и я не думаю, что это - то, что Вы имели в виду, когда Вы поставили этот вопрос. Если это верно, прекратите читать теперь и наслаждайтесь своей жизнью.
OTOH, если это действительно - Ваш главный объект неприязни, и он сводит Вас с ума, и Вы действительно абсолютно отчаянно хотите собирающийся вкус эта проблема, вот моя идея того, как пойти об этом:
Короче говоря, Unix реализует терминал ввод-вывод как полнодуплексный поток ввода-вывода между драйвером устройства и пользовательским процессом, в который могут быть вставлены модули. Это организовано как стек, таким образом, можно разделить на уровни столько потоков, сколько Вы хотите. Сумма введенных потоков создает Ваш терминал поведение ввода-вывода.
Когда символ вводится, первый модуль добирается, чтобы осмотреть его и передать его (если он хочет к). Когда ответ прибывает в противоположное направление, это снова получает шанс осмотреть и передать его. Это - то, как Ctrl-C обрабатывается в более высоком уровне к ключу обычного символа.
Можно создать двоичный файл, реализовав потоковый модуль, это, когда вызванные выполнения тихо на переднем плане, осматривая и передавая все нажатия клавиш, выполняя предпочтительное действие с нажатиями клавиш Вы заботитесь о. Во всех отношениях, появится, как будто Вы работаете над оболочкой. Ох. Можно вызвать этот двоичный файл на последнее (или сначала, или любой) строка .tcshrc, и Вы даже не знали бы, что это там.
Здесь существует хорошая краткая информация, но я не мог найти много по этой теме, вероятно, потому что она проходит свое начало.
Эта страница имеет довольно подробный сценарий, который настраивает то, что Вы хотите (и больше) в zsh. Возможно, это могло быть адаптировано для работы с tcsh (я не ужасно знаком с той оболочкой).
Редактирование командной строки с tcsh
Существует два основных режима для редактирования командной строки,
на основе двух обычно используемых текстовых редакторов, Emacs и vi.С vi привязкой необходимо переключиться между вставкой и командными режимами;
различные команды полезны в каждом режиме.режим vi имеет два подрежима, вставьте и командный режим.
- Режим по умолчанию является вставкой.
- Можно переключиться между режимами путем нажатия
Esc
.- С другой стороны, в командном режиме,
при вводе (добавление) или 'я' (вставляем), возвратит Вас режиму вставки.
Больше примечаний по tcsh
страница настройки, уже связанная выше.