home
И end
ключи на MacBook Pro можно эмулировать с Fn + стрелка влево или Fn + стрелка вправо. Или при изменении определенных настроек с помощью клавиши Command (Apple) вместо fn.
Ни одна из этих работ не работает в Терминале.
Поскольку мне часто нужно переходить к началу или концу строки, а также хотелось бы прыгать вперед или назад по слову.
Как я могу прыгать по линии в терминале?
Чтобы ответить на вопрос о том, как получить начало или конец строки, кажется, что по умолчанию Терминал сопоставляет эти ключи с ним:
Если вы хотите вернуться домой и закончить «обычным» способом (и не требовать смены), перейдите в [Меню терминала] → Настройки → вкладка «Профили» (или настройки в некоторых версиях OS X) → Под вкладка «Клавиатура».
Затем измените / добавьте эти ключи, чтобы они были следующими: «отправить строку в оболочку»
\033[H
\033[F
Вы можете получить
\033
деталь, нажав клавишу Escape в диалоговом окне редактирования, если вам нужно добавить ее.Тогда home и end снова будут работать как обычно (фух).
Также обратите внимание, что «alt + ←» и «alt + →» по умолчанию в терминале сопоставляются со словами left и word right, еще одной удобной комбинацией, которую нужно запомнить.
В более поздних версиях Mac OS X, если экран терминала сдвигается вверх или вниз при нажатии клавиши home / end, может потребоваться установить клавишу home и клавишу
\033[1~
end,\033[4~
чтобы получить желаемые результаты (сдвиг не требуется) ,Не стесняйтесь изменить этот ответ, чтобы добавить более полезные привязки клавиш, так как это вики сообщества.
источник
Похоже, вам нужна помощь с использованием readline и bash. Вот безумный список клавиш, измененный по адресу : http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Перейти к началу строки.
Ctrle Переместитесь в конец строки.
Escf Двигайся вперед на слово.
Escb Двигайся назад на слово.
Ctrll Очистите экран, перепечатывая текущую строку вверху.
Ctrlk Убить текст с текущей позиции курсора до конца строки.
Escd Убить от курсора до конца текущего слова или, если между словами, до конца следующего слова.
EscDel Убить от курсора начало предыдущего слова или, если между словами, начало предыдущего слова.
Ctrlw Убить от курсора до предыдущего пробела. Это отличается от того, EscDelCtrla потому что границы слова отличаются.
Ctrld Удалить символ под курсором.
Ctrl_ Отмените последнее, что вы сделали. Вы можете отменить весь путь до пустой строки.
И вот как вернуть текст обратно в строку. Янкирование означает копирование самого последнего убитого текста из буфера уничтожения.
Ctrly Вытащить последний убитый текст обратно в буфер у курсора.
Escy Вращайте кольцо убийства и дерните новую вершину. Вы можете сделать это, только если предыдущая команда Ctrlyили Escy.
источник
Для тех, кто предпочитает использовать клавиши со стрелками, нажатие fnShift+ Left Arrowприведет вас домой в командной строке. Точно так же fnShift+ Right Arrowприведет вас к концу.
источник
Вы можете перемещать одно слово за раз с помощью option+ leftи option+ right.
Что касается использования homeи end, привязки терминала по умолчанию следующие:
Во многих других терминальных приложениях (на нескольких платформах) эти измененные и немодифицированные пары меняются местами (т. Е. Обнажаются homeи endиспользуются для перехода по текущей строке, а измененные версии (будь shiftто или что-то еще) используются для навигации по буферу обратной прокрутки). ). Вы можете отменить привязки Терминала для работы таким образом, если хотите, выполнив следующие действия:
Перейдите в меню «Терминал» → «Настройки» → «Настройки» / «Профиль» → «Под вкладка« Клавиатура »»
Затем измените пары ключ-действие, чтобы они были следующими:
Примечание: \ 033 вводится в поле текста для отправки в диалоговом окне «Редактирование» нажатием клавиши «Escape».
В то время как там, вы можете аналогичным образом поменять привязки измененных и неизмененных page upи page down, чтобы сохранить вещи согласованными: нажатие клавиши навигации с shiftпредставляет команду для самого терминала (для навигации по буферу обратной прокрутки, как документ), при нажатии один без посылает нажатие клавиши через к тому , что бежит в ней (например
bash
,less
,nano
,screen
и т.д.). Пары ключ-действие для этого:источник
Другие ответы великолепны и более переносимы, но вот «способ OS X» для обычной клавиатуры (которая противоположна многим другим терминалам). Попробуйте следующее:
ShiftHome- начало строки
ShiftEnd- конец строки
С http://www.greenend.org.uk/rjk/tech/macbits.html
источник
Сопоставление homeи endключи с желаемой функциональностью легко решат проблему.
Многие ответы были опубликованы, но если вы используете
zsh
, вы можете установить home:и установите endдля:
нажав предпочтение - профиль - клавиатура.
источник
Это самый эффективный способ заставить его работать и с vim. Перейдите в Терминал -> Настройки -> Профили -> Клавиатура и добавьте:
Ключ: ↖ Действие: \ 033OH
Ключ: ↗ Действие: \ 033OF
источник
Я хотел бы предложить альтернативное решение этой проблемы. Это прекрасно работает, если вы являетесь пользователем vi. Привязка ключей Vim в терминале позволяет использовать терминал в стиле vim. Вы можете сделать это, набрав
set -o vi
в терминале, и можете свободно вводить его,.bash_profile
если хотите. После этого ваш терминал фактически является редактором vim. Вы можете использоватьesc
клавишу, чтобы перейти в командный режим и ходить в Vim пути. Например,0
приводит вас в начало и$
приводит к концу. Вы также можете использоватьI
иA
для перехода в начало и конец и сразу же перейти в режим редактирования.w
иb
пусть вы будете двигаться вперед и назад на одно слово. И если вы попытаетесь перейти в визуальный режим, нажавv
, вам будет предоставлен редактор vim, и текст, который у вас будет при выходе из этого редактора, будет выполнен в терминале.Имейте в виду, что эта привязка ключей vim аннулирует все горячие клавиши, которые вы узнали из других ответов.
источник
вот список в печатной форме, по желанию :)
http://pastebin.com/uCqwn7qs
Я также исправил "ошибку" в описании. Это то, что вы могли изначально прочитать в инструкции:
ESC-d Убить от курсора начало предыдущего слова или, если между словами, начало предыдущего слова.
Это плохо пахнет как ошибка «вырезать и вставить», поскольку оба частичных предложения говорят об одном и том же. Исходя из простой логики, первая половина должна фактически прочитать «от курсора до начала текущего слова».
источник
источник