Я читал руководство по Linux и заметил, что в нем сказано, что я могу использовать control + left и control + right для перемещения вперед и назад в терминале во время редактирования.
«Нажатие клавиши Ctrl и клавиши со стрелкой влево или вправо перемещает слово назад или вперед за раз, как и нажатие клавиши Esc, а затем B или F.»
На OS X control+left
и control+right
нормально контролируют пробелы. Я отключил их. Я также попытался использовать панель настроек для установки сочетаний клавиш:
Однако это не работает и вызывает эту ошибку:
Кроме того, если я нахожусь в iTerm и использую alt+escape
тогда B или F, персонаж перемещается вперед и назад. Это происходило до того, как мои изменения в конфигурации. Но я бы очень хотел иметь возможность использовать управление + клавиши со стрелками.
Ответы:
удар
Просто добавьте следующее
~/.inputrc
:Посмотрите этот заархивированный пост вики для большего объяснения. Если вы хотите использовать altключ вместо этого для перемещения между словами (например, поведение OS X по умолчанию), используйте:
ЗШ
zsh по умолчанию не использует
readline
библиотеку и поэтому не читает~/.inputrc
. Чтобы получить ту же функциональность, вы можете добавить следующее к вашему~/.zshrc
- это снова будет использовать altключ:См. Эту документацию для получения дополнительной информации о встроенном редакторе zsh-строк (zle).
Почему это? Вы настроили свой профиль для использования значений по умолчанию Xterm:
Вот почему вам нужно «поймать» эту последовательность и сказать,
readline
что делать.Если вышеупомянутое все еще не работает, и вы используете OS X 10.9 (Mavericks) или там, где-то рядом, вам, вероятно, нужно отключить глобальные сочетания клавиш управления полетами, которые не позволяют клавишам Ctrl + стрелка достигать iTerm, даже если само управление полетами отключено. Вы можете сделать это из Системных настроек → Клавиатура → Сочетания клавиш → Управление полетом :
источник
bindkey -e
,bindkey '^[[1;9C' forward-word
иbindkey '^[[1;9D' backward-word
в вашей~/.zshrc
вместо этого. IIRC zsh не читает.inputrc
- или, по крайней мере, у меня так работает.bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word
Рабочий раствор для зш. Простой, понятный, из коробки.
Перейти к:
⌘, Preferences → Profiles → Keys → Keyboard Behavior
Загрузить пресет:
Natural Text Editing
источник
Я исправил это так:
В верхнем меню; перейти к
источник
Я использовал другой подход. Используя BetterTouchTool, я запрограммировал специальное сочетание клавиш для iTerm2. Когда я нажимаю alt-left в iTerm2, он отправляет сочетание клавиш ctrl-left с действием «Отправить сочетание клавиш для конкретного приложения». Приложение iTerm2. Я сделал то же самое для alt-right, сопоставленного ctrl-right.
Эффект заключается в том, что нажатие alt-left или alt-right в iTerm отправляет ctrl-left или ctrl-right непосредственно в iTerm2, минуя обычный общесистемный ярлык для перемещения рабочего стола влево или вправо. Таким образом, я получаю типичное поведение mac в iTerm2, на локальных терминальных сессиях, но также и на удаленных сессиях SSH, и я могу использовать стандартный ctrl-left / ctrl-right для перемещения на другие рабочие столы. Я написал это здесь:
http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/
источник
На самом деле, я обнаружил, что самым простым решением было перейти к настройкам моего профиля (находится в разделе «Профили / ключи»), убрав ярлыки профиля, вызывающие проблемы (поскольку профиль переопределяет глобальный в iTerm), в моем случае alt + left и alt + right, а затем глобальный ярлыки отлично сработали для меня!
Кроме того, если вы используете OS X, вероятно, лучше придерживаться общесистемных сочетаний клавиш, то есть вместо этого использовать alt + left и alt + right вместо этого, поскольку в терминале другое поведение в конечном итоге неизбежно вызовет боль.
Кроме того, решение chmac использовать Better Touch Tool было элегантным способом изменить поведение control + arrow только в iterm.
источник
Keys
вкладку. Вместо этого мы должны перейти наProfiles
вкладку -> Профиль (например, по умолчанию) -> ключи.Этот пост учит этому и другим ярлыкам te ← Удалить, чтобы удалить слово:
http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/
источник
Вам нужно перейти на
Profiles
вкладку и удалить отображение для alt+ leftи alt+, так rightкак по умолчанию выводятся некоторые шестнадцатеричные значения.источник