Я знаю комбинацию Ctrl+, Aчтобы перейти к началу текущей команды, и Ctrl+, Eчтобы перейти к концу.
Но есть ли способ переходить слово за словом, как в приложениях Какао Alt+ ←/ →?
macos
terminal
keyboard-shortcuts
жестяной человек
источник
источник
ALT
ярлыки были добавлены в терминал в последней OS X версии.Ответы:
Из коробки вы можете использовать довольно странные Esc+, Fчтобы перейти к началу следующего слова и Esc+, Bчтобы перейти к началу текущего слова.
источник
Esc
+»F
в конце строки или на другую комбинацию клавиш в начале строки, вместо этого просто вставляется буква. Досадно!~/.inputrc
.В Mac OS X - следующие сочетания клавиш работают по умолчанию. Обратите внимание, что вы должны сделать так, чтобы клавиша Option действовала как мета в настройках терминала (на вкладке клавиатуры)
Я заметил, что привязки клавиш по умолчанию в emacs для простой навигации по тексту, похоже, работают на оболочках bash. Ты можешь использовать
источник
+ESC
, затем вы можете использовать OPTION f / b для перемещения слова вперед и назад соответственно. ПодробнееВот как вы можете это сделать
По умолчанию Терминал имеет следующие комбинации клавиш для перемещения (влево и вправо) слово за словом:
Вы можете настроить alt+ ←и →сгенерировать эти последовательности для вас:
⌥ ←
если она есть, или добавьте ее, если ее нет.\033b
(вы не можете набирать этот текст вручную).\033f
)Кроме того, вы можете обратиться к этому сообщению в блоге на textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
источник
B
для задней илиF
для вперед вEsc+
полеalt left
иalt right
сгенерировал эти последовательностиПереключитесь на iTerm2 . Это бесплатно и намного приятнее, чем обычный старый терминал. Кроме того, он имеет гораздо больше возможностей для настройки, таких как сочетания клавиш.
Также мне нравится, что вы можете использовать cmdи 1-9 для переключения между вкладками. Попробуйте, и вы никогда не вернетесь к обычному терминалу :)
Как настроить пользовательские настройки клавиатуры в iterm2
Я часто нажимаю не ту кнопку (cmd / control/ alt) клавишей со стрелкой, и поэтому у меня есть комбинации клавиш со стрелками, все эти кнопки настроены для перехода вперед и назад по словам, но, пожалуйста, делайте то, что вам больше подходит.
источник
Ctrl + Arrow Left
илиRight
-Up
иDown
работает: / пробовал с и без нового профиля, установленного по умолчаниюНа самом деле есть гораздо лучший подход. Удерживайте option( altна некоторых клавиатурах) и нажимайте клавиши со стрелками влево или вправо для перемещения по слову. Просто как тот.
option←
option→
Также ctrleприведет вас к концу линии и ctrlaприведет вас к началу.
источник
[D
и[C
. Чтобы исправить это, добавьтеbind '"[D": backward-word'
иbind '"[C": forward-word'
мой.bashrc
..bashrc
но это не сработало, что-то не так для меня? (Я использую RubyMine).bashrc
при загрузке терминала. Попробуйтеecho "here"
и посмотрите, отображается ли это сообщение при открытии нового терминала. Кроме того, вы должны закрыть и заново открыть терминал или запустить,source ~/.bashrc
чтобы он прочитал новый файл.У меня Alt+ ←/ →работает: откройте Настройки »Настройки» Клавиатура , установите запись для курсора параметра влево, чтобы отправить строку в оболочку: \ 033b , и установите курсор параметра вправо, чтобы отправить строку в оболочку: \ 033f . Вы также можете использовать это для других комбинаций клавиш управления.
источник
Enable option as meta key
. Кстати, это очень круто. Ключ наверняка будет гораздо удобнее для достижения по сравнению с Esc + B или Esc + FНа самом деле это зависит от того, какую оболочку вы используете, однако большинство оболочек имеют схожие привязки. Привязки, на которые вы ссылаетесь (например, Ctrl+ Aи Ctrl+ E), являются привязками, которые вы найдете во многих других программах, и они используются целую вечность, кстати, BTW также работает в большинстве приложений пользовательского интерфейса.
Вот вид привязок по умолчанию для Bash:
Самые важные сочетания клавиш Bash
Также обратите внимание, что вы можете настроить их. Вам нужно создать файл, имя которого вы хотите, я назвал свой .bash_key_bindings и поместил в мой домашний каталог. Там вы можете установить некоторые общие параметры bash, а также установить привязки клавиш. Чтобы убедиться, что они применяются, вам нужно изменить файл с именем «.bashrc», который bash считывает при запуске (вы должны создать его, если он не существует), и сделать там следующий вызов:
~ означает домашний каталог в bash, как указано выше, вы можете называть файл так, как вам нравится, и также размещать его там, где вам нравится, при условии, что вы указываете правильный путь + имя для привязки.
Позвольте мне показать вам некоторые выдержки из моего файла .bash_key_bindings:
Они просто устанавливают несколько параметров (например, отключить звонок; все это можно посмотреть на веб-странице bash).
Они гарантируют, что одни только персонажи ничего не делают, кроме того, что они «напечатаны» (они вставляются в оболочку).
Это довольно интересно. Если я нажму Ctrl+ Dодин (я выбрал d для удаления), ничего не произойдет. Но если я тогда наберу строчную букву w, слово слева от курсора будет удалено. Однако если я наберу верхний регистр, слово справа от курсора будет уничтожено. То же самое касается l и L относительно всей строки, начиная с курсора. Если я наберу «а», вся строка будет фактически удалена (все до и после курсора).
Я поставил прыжок на одно слово вперед на Ctrl+ Fи одно слово назад на Ctrl+B
Как вы можете видеть, вы можете сделать ярлык, который немедленно приводит к действию, или вы можете сделать тот, который просто вставляет последовательность символов, а затем вам нужно ввести один (или более) символов, чтобы действие выполнялось как показано в примере выше.
Поэтому, если вам не нравятся привязки по умолчанию, не стесняйтесь настраивать их по своему усмотрению. Вот ссылка на руководство по bash для получения дополнительной информации.
источник
command
код ключа? В вашем примереcontrol
есть\C
, но какcommand
?Meta
в bash (\M
), cmd + left будет\M-\e[D
. Однако вы не можете сопоставить cmd + ... ни с чем, все сочетания клавиш обрабатываются (и, таким образом, проглатываются) самим приложением Terminal (те, которые никогда не перенаправляются в оболочку), а cmd + left отображается на «предыдущее окно», если у вас несколько окна терминала открыты. Извините, это просто невозможно с приложением Terminal.Используйте пресет редактирования естественного текста !
По сути, он связывает, среди других последовательностей клавиш, Option + LeftArrow с
^[b
последовательностью и Option + RightArrow с^[f
Это работает в рыбе и баш, а также в терминале PSQL.
источник
Если вы оказались пользователем Vim, вы можете попробовать режим vim в bash. Запустите это или поместите в свой
~/.bashrc
файл:По умолчанию вы находитесь в режиме вставки; нажмите escape, и вы можете перемещаться так же, как и в обычном режиме Vim, поэтому перемещение по слову равно
w
илиb
, и обычные клавиши перемещения также работают .источник
Если вы отметите
Use option as meta key
на вкладке «Клавиатура» в настройках, то команды стиля по умолчанию в emacs для forward- и backward-word и⌥F
( Alt+ F) и⌥B
( Alt+ B) соответственно.Я бы порекомендовал читать From Bash на Z-Shell . Если вы хотите увеличить свое мастерство в bash / zsh!
источник
На Mac OS X Lion 10.7, Terminal карты Option- Left/Right Arrowк Esc- b/fпо умолчанию, так что теперь встроенный для Баш и других программ, использующих эти Emacs-совместимых комбинаций клавиш.
источник
Удерживая клавишу «Option», щелкните, куда вы хотите переместить курсор
источник
В Bash они связаны с Esc- Bи Esc- F. Bash имеет много-много горячих клавиш; посмотрите на результат,
bind -p
чтобы увидеть, что они есть.источник
Под
iterm2
«S Настройки> Профиль> Кис , вы щелкаете+
ниже ключевых Отображения и записать новый ярлык. Для действия выберитеSend Escape Sequence
и введитеb
илиf
вперед и назад» соответственно.Когда я попытался записать один для ( Ctrl+ ←), я заметил в поле « Сочетание клавиш», что стрелка так и не появилась. Оказывается, мне пришлось сначала отключить системные настройки Mac по умолчанию > Клавиатура> Сочетания клавиш> Сочетания клавиш управления полетами, чтобы все заработало, так как они переопределяют сочетания клавиш по умолчанию в iterm2. Должно быть верно и для стандартного приложения терминала.
источник
Новый ответ для пользователей iTerm2 Build 3.3.4:
Шаг 1: (macOS X) Системные настройки> Клавиатура> вкладка «Ярлыки»> Выбрать «Управление полетом» (левая панель)> Снимите флажки с ярлыков «Переместить влево на пробел» и «Переместить влево на пробел»
Шаг 2: (iTerm2 Build 3.3.4) Предпочтения> Профили> Выбрать * По умолчанию (левая панель)> Вкладка «Ключи»> Удалить записи «⌥->» и «⌥ <-»> Установить оба ключа «Левая опция» (⌥): "и" Правая клавиша (⌥): "Esc +
Не возиться с профилями оболочки, не возиться с подчиненным терминалом masOS (по умолчанию), нет неловких Esc + F / B, полоскать и повторять без смысла.
Сделка сделана !!!
Наслаждайтесь этим советом, мои товарищи ПРОГРАММИСТЫ!
источник
Как ответил ранее, вы можете добавить
set -o vi
в ваших ,~/.bashrc
чтобы использоватьvi
/vim
привязок клавиш, или же вы можете добавить следующие части в.bashrc
шевелитьCtrl
и клавиши со стрелками:Чтобы запустить эффект этих строк кода, либо
source ~/.bashrc
начните новый сеанс терминала.источник