Ярлык терминала OS X: переход в начало / конец строки


116

Я знаю, что могу перейти в начало и конец строки внутри терминала OS X с помощью Ctrl+ Aи Ctrl+ E. Но я так привык прыгать со стрелкой Cmd+ и Rightстрелкой Cmd+ в Leftмоем редакторе, что хотел бы использовать эти сочетания клавиш также и для терминала.

Я не нашел решения в Google, так что, может быть, здесь кто-то может помочь.

Обновить

Как и в комментариях, я попробовал решение из раздела Есть ли способ в терминале OS X перемещать курсор по слову?

К сожалению, настройки терминала, похоже, не включены Cmdв качестве ключа-модификатора, как вы можете видеть здесь:

Клавиши-модификаторы терминала


ты не можешь это адаптировать ?
Thomas Ayoub

Я обновил свой вопрос, см. Выше
23tux

1
Хммм, я так не думаю. Я пробовал, с ним работает Option + right-arrow, но не сCmd + right-arrow
23tux

Ты прав, моя вина, у меня тяжелые дни на ПК
Томас Аюб

Более полезные ярлыки: stackoverflow.com/a/5542996
AT

Ответы:


23

Я использую удобное приложение Karabiner для этого и многих других вещей. Это бесплатно и с открытым исходным кодом.

Это переназначение клавиатуры с множеством удобных предустановок для многих распространенных переназначений, которые люди могут захотеть сделать.

Как видно из скриншота, эта переназначение включена в Karabiner как предустановка.

Снимок экрана настроек Karabiner, показывающий предустановку для сопоставления cmd + left / right с ctrl + a / e

Надеюсь это поможет. Удачного переназначения!


3
Имейте в виду, что Karabiner на данный момент не работает на macOS Sierra.
knuhol 03

Хорошо знать; Я не обновлялся. Надеюсь, Карабинер скоро будет обновлен! :)
Аарон Wallentine

2
Теперь он поддерживает Sierra и даже выше. Вот ссылка на некоторые предопределенные правила с сайта Karabiner .
Java Xu

По ссылке @ JavaXu в комментарии прямо над мной Navigation in Terminal Appsнайдите правило, которое нужно импортировать.
электровир

127
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

это работает для меня


21
Мне не нужно было удерживать клавишу Shift. fn + leftArrawили fn + rightArrowработал у меня. Может это поможет!
Бхарат Гупта

7
@BharatGupta fn + leftArrow работает в некоторых терминальных приложениях (например, VI), но не работает в командной строке терминала.
hygoh2k

2
Используя iTerm2, fn + left и fn + right работают без сдвига. Со сдвигом они не работают. ctrl + a и ctrl + e также работают.
bhekman

1
Я новый пользователь Mac, и мне противно, насколько все сложно в Mac и Windows! Аппаратное обеспечение хорошее, но программное обеспечение ужасное (т.
Е.

1
Если вы новичок в Mac, думайте просто, потому что, когда вы используете Windows в течение длительного времени, вы всегда используете сложный путь ... с Mac вы должны думать очень просто ... и в большинстве случаев вы это понимаете. Так было со мной, когда я переключился с ПК на Mac
Supernini

34

В последней версии Mac OS вы можете использовать shift+ homeили shift+end


17

В качестве настройки в терминале с использованием vi :

HomeКнопка на Macbook Pro клавиатуры: Fn + Left Arrow.

EndКнопка на Macbook Pro клавиатуры: Fn + Right Arrow.


9

Я не уверен, сработает ли это для вас (я все еще использую OS 10.8), но для моего терминала это работает:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

Надеюсь это поможет!


1
В 10.12 Sierra это похоже на shift + home для перехода в начало. остальные, перечисленные здесь, работают, как указано.
Крис


8

Для iterm2:

Зайдите в Профили / Открыть профили / Ключи

Установить Cmd + left_arrow_keyдля отправкиHex Code 001

Установить Cmd + right_arrow_keyдля отправкиHex Code 005

Это позволяет использовать Cmd + arrow_keysдля перехода от начала к концу строки.


согласно комментарию @bhekman: «Используя iTerm2, fn + left и fn + right работают без сдвига. Со сдвигом они не работают. ctrl + a и ctrl + e также работают».
Александр Сурафель 01

Я не вижу cmdв качестве опции ключа-модификатора, как в исходном вопросе
electrovir

@electrovir, просто удерживайте его и нажимайте клавиши со стрелками
Тимми фон Хейсс,

См. «К сожалению, настройки терминала не включают Cmd в качестве ключа-модификатора, как вы можете видеть здесь» в исходном вопросе. У меня та же проблема. Мой комментарий касался создания ключевой настройки, а не ее выполнения.
электровир

@electrovir, похоже, вы не в том месте. модификатора нет. открыть iterm. перейти к настройкам. перейти в профили. нажмите кнопку «+» слева от «Load Preset». Есть два поля: «Сочетание клавиш» и «Действие» для сочетания клавиш удержания команды нажмите клавишу со стрелкой влево. затем для действия -> «отправить шестнадцатеричный код -> 001»
Тимми фон Хейсс

5

Здесь я нашел настройку для этого без каких-либо сторонних инструментов . Это заставит работать следующий ярлык:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • Откройте настройки терминала. ( cmd + ,).
  • Перейдите к выбранной теме, а затем на вкладку клавиатуры.

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

  • И добавьте новую запись, как показано ниже. введите описание изображения здесь введите описание изображения здесь

  • Вот и все. Теперь закройте и проверьте.

    Надеюсь, поможет.

РЕДАКТИРОВАТЬ: см. Комментарий @Maurice Gilden ниже для получения дополнительной информации.


5
Это просто введите «001» или «005». Обратной косой черты нет, и я не смог найти способ добавить ее вручную. Однако вы можете нажать Ctrl + A для «\ 001» и Ctrl + E для «\ 005», находясь внутри текстового поля.
Морис

2
Это должен быть абсолютно правильный ответ. Все сторонние приложения либо не работают, либо больше не обслуживаются, а fn + shift + leftArrow больше не работает в Mojave.
Salyangoz

Это сработало блестяще. Однако я выбрал «Конец», а не «Страница вниз» для отображения fn + стрелка вправо.
nedblorf,

2

Вы можете скачать Better Touch Tools . Это приложение, которое позволяет вам настраивать привязки клавиш и ярлыки для всей вашей системы или отдельных приложений. Используя его, вы можете создать ярлык в терминале, который имитирует ctrl-a / ctrl-e всякий раз, когда вы нажимаете cmd-left / cmd-right соответственно. Однозначно рекомендую! Я использую его в течение многих лет, и у меня есть более 50 ярлыков, распределенных по нескольким различным приложениям.


2
К сожалению, ваша ссылка не работает
23tux

Спасибо за внимание! Я починил это.
Джейкоб

Привет, @Jacob, каким будет «запущенное предопределенное действие» в начале или в конце команды терминала?
Oer

Или же вы должны использовать опцию «Запуск другого сочетания клавиш» и ввести Ctrl-A, чтобы перейти к началу команды терминала, и Ctrl-E, чтобы перейти к концу.
Джейкоб

1

в iterm2

fn + leftArraw или fn + rightArrow

это сработало для меня


0

Для последних версий mac os у меня работают ярлыки ниже.

Перейти в начало строки == shift + fn + RightArrow

Перейти к концу строки == shift + fn + LeftArrow

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.