1

Мой терминал недавно начал печатать управляющие символы (например, ^P или ^N), когда я нажимаю Ctrl+P (или другие комбинации). Я не уверен, что вызвало изменение. Вот мой файл .tmux.conf . Есть идеи?

Обратите внимание, что ^C , ^D и некоторые другие по-прежнему работают как положено.

Править Я только что понял, что это работает при использовании bash внутри tmux , но не с моим обычным zsh . Есть идеи?

Редактировать 2 Я думаю, что это была проблема порядка загрузки. В моем .zshrc я установил EDITOR=vim , что заставляет zsh переключаться на сочетания клавиш vim. Однако для обычного терминального сеанса, очевидно, он был установлен слишком поздно, но когда запускается tmux , запускается новый процесс zsh , и на этот раз EDTIOR уже настроен на vim, поэтому он переключается на комбинации клавиш vim. Помещение bindkey -e сразу после EDITOR=vim в моем .zshrc проблему.

1 ответ1

2

Привязки клавиш в оболочке Z контролируются встроенным bindkey . Чтобы включить обычные сочетания клавиш emacs или vi, используйте bindkey -e или bindkey -v , соответственно.

Вы упоминаете, что включили EDITOR=vim в свой файл zshrc. Это влияет на выбор по умолчанию для привязок клавиш, как объяснено на странице руководства zshzle :

Если одна из переменных среды VISUAL или EDITOR содержит строку vi при запуске оболочки, тогда [основная таблица ключей ] будет viins, в противном случае это будет emacs. Опции -e и -v bindkey предоставляют удобный способ переопределить этот выбор по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .