Я знаю комбинацию Ctrl + A, чтобы перейти к началу текущей команды, и Ctrl + E, чтобы перейти к концу.
Но есть ли способ прыгать слово за словом, например Alt + ←/→ в Cocoa приложениях?
Я знаю комбинацию Ctrl + A, чтобы перейти к началу текущей команды, и Ctrl + E, чтобы перейти к концу.
Но есть ли способ прыгать слово за словом, например Alt + ←/→ в Cocoa приложениях?
Из коробки вы можете использовать довольно причудливый Esc + F для перехода к началу следующего слова и Esc + B, чтобы перейти к началу текущего слова.
В Mac OS X - следующие сочетания клавиш работают по умолчанию. Обратите внимание, что вы должны сделать так, чтобы клавиша Option действовала как мета в настройках терминала (на вкладке клавиатуры)
Я заметил, что привязки клавиш по умолчанию в emacs для простой навигации по тексту, похоже, работают на оболочках bash. Ты можешь использовать
По умолчанию терминал имеет эти ярлыки для перемещения (влево и вправо) по одному слову:
Вы можете настроить alt + ← и → для генерации этих последовательностей для вас:
⌥ ←
, если он там, или добавьте его, если это не так.\033b
(вы не можете вводить этот текст вручную).\033f
)В качестве альтернативы вы можете ссылаться на это сообщение в блоге по адресу textmate:
Переключитесь на iTerm2. Это бесплатно и намного приятнее, чем обычный старый терминал. Кроме того, он имеет гораздо больше возможностей для настройки, таких как сочетания клавиш.
Также мне нравится, что вы можете использовать cmd и 1-9 для переключения между вкладками. Попробуйте, и вы никогда не вернетесь к обычному терминалу :)
Как настроить пользовательские настройки клавиатуры в iterm2
Я часто нажимаю не ту кнопку (cmd/control/alt) клавишей со стрелкой, и поэтому у меня есть комбинации клавиш со стрелками с этими кнопками, настроенными для перехода вперед и назад по словам, но, пожалуйста, делайте то, что вам больше подходит,
На самом деле есть гораздо лучший подход. Удерживайте option (alt на некоторых клавиатурах) и нажимайте клавиши со стрелками влево или вправо для перемещения по слову. Просто как тот.
option ←
option →
Также ctrl e приведет вас к концу линии, а ctrl a приведет вас к началу.
У меня есть Alt + ←/→ Работа: откройте "Настройки" Настройки "Клавиатура, установите запись для курсора опций влево, чтобы отправить строку в оболочку:\033b, и установите курсор вправо, чтобы отправить строку в shell:\033f. Вы также можете использовать это для других комбинаций клавиш управления.
На самом деле это зависит от того, какую оболочку вы используете, однако большинство оболочек имеют аналогичные привязки. Связи, на которые вы ссылаетесь (например, Ctrl + A и Ctrl + E), являются связями, которые вы найдете во многих других программах, и они используются веками, BTW также работает в большинстве приложений пользовательского интерфейса.
Здесь вид привязки по умолчанию для Bash:
Наиболее важные Bash Сочетания клавиш
Также обратите внимание, что вы можете их настроить. Вам нужно создать файл, имя, как вам угодно, я назвал свой .bash_key_bindings и поместил его в свой домашний каталог. Там вы можете установить некоторые общие параметры Bash, и вы также можете установить привязки клавиш. Чтобы убедиться, что они применяются, вам необходимо изменить файл с именем ".bashrc", который Bash читает при запуске (вы должны создать его, если он не существует) и сделать следующий вызов там:
bind -f ~/.bash_key_bindings
~ означает домашний каталог в bash, как указано выше, вы можете назвать файл по своему усмотрению, а также поместить его туда, где вам нравится, пока вы кормите правильный путь + имя для привязки.
Позвольте мне показать вам некоторые фрагменты моего файла .bash_key_bindings:
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off
Они просто установили несколько параметров (например, отключите звонок, это можно просмотреть на веб-странице Bash).
"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert
Это гарантирует, что только символы просто ничего не делают, кроме того, что символ "набран" (они вставляются в оболочку).
"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line
Это довольно интересно. Если я ударил только Ctrl + D (я выбрал d для удаления), ничего не происходит. Но если я затем наберем нижний регистр w, слово слева от курсора будет удалено. Однако, если я печатаю верхний регистр, слово справа от курсора будет убито. То же самое касается l и L относительно всей строки, начинающейся с курсора. Если я нахожу "a", вся строка фактически удаляется (все до и после курсора).
Я переместил одно слово вперед на Ctrl + F и одно слово назад на Ctrl + B
"\C-f": forward-word
"\C-b": backward-word
Как вы можете видеть, вы можете сделать ярлык, который приведет к немедленному действию, или вы можете создать его, который просто вводит последовательность символов, а затем вы должны ввести один (или несколько) символов, чтобы вызвать действие выполняются, как показано в примере выше.
Итак, если вас не устраивают привязки по умолчанию, не стесняйтесь настраивать их по своему усмотрению. Здесь ссылка на руководство Bash для получения дополнительной информации.
Если вы отметите Use option as meta key
на вкладке клавиатуры в настройках, тогда команды стиля emacs по умолчанию для forward- и backward-word и ⌥F
(Alt + F) и ⌥B
(Alt + B) соответственно.
Я бы порекомендовал читать From Bash на Z-Shell. Если вы хотите увеличить свое мастерство в bash/zsh!
Если вы являетесь пользователем Vim, вы можете попробовать bash vim mode. Запустите это или поместите в свой файл ~/.bashrc
:
set -o vi
По умолчанию вы находитесь в режиме вставки; и вы можете перемещаться так же, как в обычном режиме Vim, поэтому движение по слову w
или b
, и обычные клавиши перемещения также работают.
Как и в Mac OS X Lion 10.7, Terminal сопоставляет Option - Left/Right Arrow до Esc - b/f по умолчанию, поэтому теперь он встроен для bash и других программ, которые используют эти emacs- совместимые сочетания клавиш.
В Bash они привязаны к Esc - B и Esc - F.
Bash имеет много и больше клавишных клавиш; посмотрите на вывод bind -p
, чтобы узнать, что они собой представляют.
Используйте пресет редактирования естественного текста!
По сути, он связывает, среди других последовательностей клавиш, Option + LeftArrow с последовательностью ^[b
и Option + RightArrow с ^[f
Это работает в рыбе и баш, а также в терминале PSQL.
В разделе iterm2
Настройки"> "Профиль"> "Ключи" щелкните " +
под " iterm2
клавиш" и запишите новый ярлык. В поле "Действие" выберите " Send Escape Sequence
и введите b
или f
для перемотки вперед и назад соответственно.
Когда я попытался записать один для (Ctrl + ←), я заметил в поле " Сочетание клавиш", что стрелка так и не появилась. Оказывается, мне пришлось сначала отключить системные настройки Mac по умолчанию > Клавиатура> Сочетания клавиш> Сочетания клавиш управления полетами, чтобы все заработало, так как они переопределяют сочетания клавиш iterm2 по умолчанию. Должно быть верно и для стандартного приложения терминала.
Удерживая клавишу "Option", щелкните, куда вы хотите переместить курсор
Как уже было сказано ранее, вы можете добавить set -o vi
в ~/.bashrc
, чтобы использовать привязки клавиш vi
/vim
, или вы можете добавить следующую часть в .bashrc
для перемещения с помощью Ctrl
и клавиш со стрелками:
# bindings to move 1 word left/right with ctrl+left/right in terminal, just some apple stuff!
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
# bindings to move 1 word left/right with ctrl+left/right in iTerm2, just some apple stuff!
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
Чтобы запустить действие этих строк кода, либо source ~/.bashrc
, либо начните новый сеанс терминала.
Постскриптум Если вы добавляете в ~/.bash_profile
или ~/.profile
, не забудьте заменить все экземпляры .bashrc
на ваш измененный файл.
Новый ответ для пользователей iTerm2 Build 3.3.4:
Шаг 1: (macOS X) Системные настройки> Клавиатура> вкладка "Ярлыки"> Выбрать "Управление полетом" (левая панель)> Снимите флажки с ярлыков "Переместить влево пробел" и "Переместить вправо пробел"
Шаг 2: (iTerm2 Build 3.3.4) Предпочтения> Профили> Выбрать * По умолчанию (левая панель)> Вкладка "Ключи"> Удалить записи "⌥->" и "⌥ & lt; -"> Установить оба ключа "Левая опция (⌥)": "и" Правая клавиша (⌥): "Esc+
Не возиться с профилями оболочки, не возиться с подчиненным терминалом masOS (по умолчанию), не неловко Esc+ F/B, промыть и повторять бессмысленно.
Сделка сделана !!!
Наслаждайтесь этим советом, мои товарищи ПРОГРАММИСТЫ!