Как выбрать строку в терминале bash - PullRequest
1 голос
/ 01 октября 2010

Можно ли выделить часть строки в терминале bash и удалить ее сразу, вместо того, чтобы перейти к точке в команде и вернуться на все это ??

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Я не уверен на 100%, что понимаю ваш вопрос.

Если вы находитесь в интерактивной командной строке:

  • ctrl-u: удаляет все, что находится слева от вашего курсора
  • ctrl-k: удаляет все справа от вашего курсора
2 голосов
/ 01 октября 2010

Я использую привязки emacs и мои любимые ярлыки командной строки, которые не были включены в ранее связанный учебник, следующие:

^W     - delete last word
meta-b - move cursor back one word
^R     - find a previously used command
!$     - last attribute of the last command
!!     - last command

Вы также можете управлять историей с помощью регулярных выражений, хотя этоможет быстро запутаться.См. "Man zshexpn" для справки, в основном тот же синтаксис регулярного выражения работает и для bash.

Пример:

1) Если вы выполните следующую команду:

 echo first second third fourth fifth

2) Затем вы сможете выполнить ту же команду и удалить "first "by:

 !!:s/first//

Если это было не то, что вам было нужно, уточните свой вопрос!:)

1 голос
/ 01 октября 2010

См. это . В качестве альтернативы, set -o vi должен иметь vim-подобные привязки клавиш.

Обратите внимание, что приведенный в ссылке список не является полным. Вы можете прочитать man bash для хорошей ссылки. Обычно ALT-x можно заменить на ESC, x, если вы запускаете bash внутри терминала, который использует сочетания клавиш Alt-letter для оконной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...