После последнего обновления системы команда ctrl + стрелка влево / вправо на терминале zsh ничего не делает. Также ctrl + u имеет что-то не так, потому что обычно эта команда стирает с курсора в начало строки, а теперь стирает всю строку .. Кто-то знает, как решить эти проблемы? Спасибо вам всем.
zsh
keyboard-shortcuts
gentoo
riskio
источник
источник
Ответы:
FWIW, это то, что работало в моей среде (rhel5.x) с использованием zsh по умолчанию.
источник
^[^[[D
и^[^[[C
соответственно для OSX.zshrc
по умолчанию.$terminfo
вместо escape-последовательности: ключи$terminfo[kLFT5]
и$terminfo[kRIT5]
сработали для меняCtrl + U наиболее вероятно, потому что у вас есть курсор в конце строки. Во-вторых, какую версию Gentoo вы называете «последним обновлением системы»?
И что бы вы хотели сделать Ctrl + влево / вправо?
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[^[[D' emacs-backward-word
bindkey ";5C" forward-word
bindkey ";5D" backward-word
Примечание: Если конфигурация работает, но предполагаемые ключи не выполняют то, что вам нужно, возможно, потому что определение ключа отличается от вашего и моего, сделайте:
cat > /dev/null
и нажмите клавиши, которые вы хотите получить, и соответственно отрегулируйте.источник
То, что работает , напрямую не зависит от дистрибутива (Gentoo, Debian, RHEL и т. Д.) Или оболочки (ZSH, KSH, BASH) - это зависит от того, какой
terminal emulator
используется, и от его настроек: konsole, terminator, urxvt, lx-терминал и т.д. Дистрибутив может иметь значение, если он использует другую стандартную конфигурацию оболочки (fx. .zshrc), и если используется другая оболочка, которая обрабатывает конфигурацию в этом дистрибутиве, возможно, уже справится с этим.Вот несколько решений для эмулятора терминала:
urxvt / rxvt-unicode (и, возможно, другие):
терминатор, консоль и xterm (и, возможно, другие):
Для более общего подхода запустите свой терминал, нажмите CTRL-V, а затем комбинацию клавиш, для которой вы хотите код выхода (имя) - в этом случае комбинации клавиш CTRL-leftarrow и CTRL-rightarrow - и поместите выходные данные для каждого комбинация клавиш между двумя кавычками.
источник
terminal emulator
используемого. Дистрибутив или оболочка не имеют значения. Вероятно, поэтому он и не находится в .zshrc, потому что то, что работает для одного эмулятора терминала, не работает для другого. Но это, вероятно, можно решить, если zshrc fx. прочитайте переменную окружения $ TERM и примените различные настройки bindkey в зависимости от результата.Решаемые.
Терминал используется: Konsole .
Чтобы решить: щелкните правой кнопкой мыши на терминале (или настройках в строке меню) -> измените текущий профиль -> отображение клавиатуры -> измените значение по умолчанию (xfree4)
источник