Скажем, я записал долгую команду в терминале MAC OSX, т.е.
say "Hello, how are you? I am good thank you. How is it going with you? Fine, thanks"
и теперь я хочу изменить слово Hello
кому: Hi
.
Чтобы сделать это, прямо сейчас я должен продолжать нажимать (или удержать), левая клавиша на клавиатуре, пока "курсор" не добирается в конец слова Hello
, и затем удалите его. Обычное 'удержание опции' техника не работает, как это делает в большинстве других приложений OS X.
Существует ли способ пропустить слово за один раз вместо этого (или какой-либо другой более короткий способ получить курсор там)?
Редактирование командной строки является функцией Вашей оболочки, не Терминала. Вероятно, Ваша оболочка является ударом, и вероятно его стиль редактирования командной строки установлен на “emacs”.
Вот несколько сочетаний клавиш Emacs-стиля, которые Вы могли бы найти удобным:
beginning-of-line
end-of-line
forward-word
backward-word
delete-char
kill-word
(удалите следующее 'слово'),backward-kill-word
C-x означает Control+x, таким образом, C-a является Control+a.
M-x означает Meta+x, но на Вашей клавиатуре, вероятно, нет никакой Метаклавиши. Таким образом вместо этого, можно использовать ESC x (т.е. Escape затем x). Терминал имеет установку для автоматической отправки ESC перед клавишами, нажатыми с удерживаемой Опцией. Использование этой функции отключает расширенный символ, обрабатывающий, который Mac OS X обычно обеспечивает при использовании модификатора Опции. Так, если Вы используете немного расширенных символов и хотите иметь Option+x, отправляют ESC x, затем можно включить эту опцию Terminal.
Существует много способов переместиться в “Привет” в Вашем примере:
Существует также несколько способов выполнить Вашу желаемую замену:
Если бы Вы остановились в конце слова (возможно, через C-a M-f M-f), то Вы могли бы использовать M-DEL H i.
Вы могли бы сделать что-то как bind -P | less
найти другую интересную привязку. Консультируйтесь с readline разделом страницы справочника удара (или readline части страниц информации об ударе) для деталей.
Значение по умолчанию readline связывающий для forward-word
Meta-F (bash(1)
страница справочника, раздел READLINE, Команды для Движущегося подраздела). Я не уверен, во что переводит Meta в OS X все же. Опция, возможно.