В Windows и Linux я всегда мог нажать ctrl+ ←или ctrl+, →чтобы пропустить слово влево или вправо в терминале. В текстовых редакторах кажется, что ⌥+ ←/ →работает, но в терминале нет кубиков. Я искал в Google и ничего не нашел, кроме страницы Википедии, которая утверждает, что ⌥+ B/ Fвыполняет работу, но все, что он делает, это печатает символы ∫ и to на моем терминале (или ı и Ï, если я удерживаю ⇧). Есть идеи?
19
Это тоже сводило меня с ума, однако я не хотел исправления, относящегося к терминалу, так как я не использую терминал, и для возможности SSH в моем OSX-боксе тоже приходилось использовать правильные сочетания клавиш.
Кроме того, лично я не заботился о ⌥ключе, как обсуждалось ранее; Я хотел сохранить комбинацию ctrl+ ←/, к →которой я привык в Linux.
Чтобы решить эту проблему, я добавил следующее к своему
~/.profile
:Обратите внимание, что первые два относятся к bash в терминале ; последние два относятся к bash в iTerm2 и входящих ssh- соединениях. Не спрашивайте меня, почему эмуляция клавиатуры отличается;)
Для справки, я смог найти, какие именно коды клавиш были на самом деле, благодаря подсказке из этого ответа
cat > /dev/null
стекового потока : вы можете запустить, чтобы отслеживать точные коды клавиш, отправленные во время комбинации клавиш.(Обратите внимание, что для меня, когда я запускаю
cat > /dev/null
и нажимаю ctrl+, ←он производит^[[1;5D
. Ваш точный код ключа может отличаться , но первый^[
представляется как\e
, как показано в моем примере кода.)Кстати, если вы хотите увидеть все активные сочетания клавиш bash, запустите
bind -p
.источник
xxd
для изучения ввода с клавиатуры. Вы можете видеть символ, отображаемый при вводе, а затемxxd
выдает значение в шестнадцатеричном виде при вводе return.Начиная с Mac OS X Lion 10.7, Terminal отображает ⌥- ←/ →на esc+ B/ Fпо умолчанию, так что теперь он встроен в bash и другие программы, которые используют эти emacs-совместимые сочетания клавиш.
источник
если вы знаете, как использовать vi, вы также можете включить режим редактирования строки vi, используя
set -o vi
вашу.bash_profile
или в любое время в командной строке. Затем вы можете переключаться между командой vi и режимами вставки. Таким образом, вы можете нажать escape, а затем использовать команды vi для навигации по строке:Как только вы доберетесь до правильной позиции, вы можете использовать другие команды vi для входа в режим вставки или добавления, удаления символов один за другим и т. Д.
источник
ESC ^
замечательно, когда вам это нужно, это раздражает, только когда вы хотите сделать что-то еще полностью :)Откройте терминал, перейдите в настройки, клавиатура. В списке вы найдете «курсор Ctrl вправо» и «курсор Ctrl влево».
Измените назначенные им действия на «\ 033f» и «\ 033b» соответственно, и вы сможете использовать ctrl+ →и ctrl+ ←для перемещения без потери клавиши Alt.
источник
Кажется, что esc+ Bи esc+ Fотображаются по умолчанию, чтобы перейти к началу и концу слов. Хотя, для моей системы вы не можете удержаться, escно нужно нажимать ее для каждого слова.
источник
Последняя версия ОС отображает это в Spaces. Даже если у вас отключены пробелы, горячие клавиши могут быть замкнуты в этом скрытом месте:
Клавиши курсора Terminal.app: отключить Системные настройки -> Ярлыки -> Управление полетом -> Переместить влево на пробел
источник