Я пытаюсь разобраться с несколькими сочетаниями клавиш в терминале в Mac OS X (и Linux):
В командной строке:
- перейти к следующему слову
- перейти к предыдущему слову
- перейти в конец строки
- перейти к началу строки
Это облегчит смену команд. Сейчас я использую клавиши со стрелками влево/вправо, что отнимает много времени.
EDIT: Я использовал bind -p
, как предложено ниже. Что означают следующие сочетания клавиш?
"\e\e[D": backward-word
"\e[1;5D": backward-word
"\e[5D": backward-word
"\eb": backward-word
и:
"\e\e[C": forward-word
"\e[1;5C": forward-word
"\e[5C": forward-word
"\ef": forward-word
решение1
Вы ищете readlineкоманды движения. Они общие с emacs. Вот значения по умолчанию:
- Ctrl+ A: начало строки
- Ctrl+ E: конец строки
- Alt+ F: переслать слово
- Alt+ B: назад на слово
Вы также можете назначить клавиши Alt+ ←и Alt+ →для перехода вперед и назад на одно слово. В моем OSX 10.6 этого нет, но в Ubuntu 12.04 есть.
Обратите внимание, что в OSX вы не можете использовать alt по умолчанию, так как это вставляет букву с ударением. Вместо этого используйте escape. Вам придется нажимать его каждый раз, вы не можете удерживать его.
Другой ответ, относящийся к vi-mode, также может быть вам полезен, если вы знакомы с vi. Смотритездесьдля получения более подробной информации.
решение2
Если вы используете редактирование командной строки в режиме VI, то вам следует использовать (по порядку)w b $ 0