Как перейти к следующему или предыдущему слову в терминале в Mac OS? [Дубликат]

8

Я обычно использую Linux, совсем не эксперт (очень далеко от него), но я использую его ежедневно.

Иногда я использую (чужой) Mac и набираю команды в терминале.

В Linux я могу использовать Ctrl + Left и Ctrl + Right для перемещения назад или вперед в текущей строке по одному слову за раз (как в большинстве текстовых редакторов, кстати). Если я пытаюсь сделать это в Mac OS, он переключает рабочие пространства или выводит на экран другое окно, или что-то вроде раздражающего. Я думаю, что я попробовал и Command, и клавишу Ctrl (правильно).

Есть ли другая комбинация клавиш для этого в Mac OS? В конце я обнаружил, что удерживаю стрелку kay, чтобы переместить один символ за раз, что в Mac OS по какой-то причине примерно в 10 раз медленнее, чем в Linux и Windows.

Matteo
источник

Ответы:

5

Opt-Bперемещает одно слово назад, Opt-Fодно слово вперед. Это emacsсочетания клавиш, которые поддерживает ваша оболочка ( bash) и включена по умолчанию. Вам необходимо установить флажок « Использовать» в качестве предпочтения метаключа (на рисунке ниже).


Кроме того, в настройках профиля вашего терминала вы можете назначить специальные escape-последовательности, например, Opt-Leftи Opt-Rightзаставить работать знакомые сочетания клавиш в терминале, например:

введите описание изображения здесь

введите описание изображения здесь

Используйте \033[5Dдля перемещения влево и \033[5Cвправо.

Даниэль Бек
источник
2
Я обнаружил, что с iTerm было проще просто добавить "\e[1;9D": backward-wordи "\e[1;9C": forward-wordк ~/.inputrc(или к тому, что readкоманда показывает для сочетаний клавиш, которые вы хотите использовать. Я сделал это, потому что использование optionв качестве мета-клавиши не всегда предпочтительнее (например, немецкая клавиатура, где ~отображается карта). option-n)
slhck
Вы можете использовать мой профиль: github.com/lingtalfi/mac-terminal-shortcuts , он имеет интуитивно понятные ярлыки редактирования.
Лин
2

Если вы используете iTerm и хотите использовать Linux как отображение Crtl + L / R, предложение slhck хорошо работает.

Просто добавь:

"\e[1;5D": backward-word
"\e[1;5C": forward-word

to ~/.inputrc(создать файл, если он не существует), для Ctrl - слева и Ctrl - справа соответственно.

sredemption
источник