Как очистить / удалить текущую строку в терминале? - PullRequest
673 голосов
/ 13 марта 2012

Если я использую терминал и набираю строку текста для команды, есть ли горячая клавиша или какой-либо способ очистить / удалить эту строку?

Например, если моя текущая строка / команда очень длинная, например:

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

Есть ли горячая клавиша или команда, чтобы перейти от вышеупомянутого к:

>

Обычно я нажимаю клавишу , и если моя текущая строка является совершенно новой в истории, это очистит ее. Но если я просматриваю историю команд с помощью клавиши и начинаю редактирование или использую эти команды, только изменит подсказку на следующую новейшую команду в истории, поэтому здесь не работает, если я не нажму несколько раз.

Ответы [ 13 ]

1257 голосов
/ 13 марта 2012

Вы можете использовать Ctrl + U , чтобы очистить до начала.

Вы можете использовать Ctrl + W , чтобы удалить только слово.

Вы также можете использовать Ctrl + C для отмены.

Если вы хотите сохранить историю,Вы можете использовать Alt + Shift + # , чтобы сделать это комментарием.


Редактирование Bash EmacsРежим шпаргалки

509 голосов
/ 22 мая 2013

Просто суммируем все ответы:

  • Очистить строку: Вы можете использовать Ctrl + U , чтобы очистить до начала.
  • Очистить строку: Ctrl + E Ctrl + U , чтобы стереть текущую строку в терминале
  • Очистить строку: Ctrl + A Ctrl + K , чтобы стереть текущую строку в терминале
  • Отмена текущей команды / строки: Ctrl + C .
  • Вызов удаленной команды: Ctrl + Y (затем Alt + Y )
  • Перейти к началу строки: Ctrl + A
  • Перейти к концу строки: Ctrl + E
  • Удалите слова вперед, например, если вы находитесь в середине команды: Ctrl + K
  • Удалить символы слева до начала слова: Ctrl + W
  • Чтобы очистить веськомандная строка: Ctrl + L
  • Переключение между началом строки и текущей позицией курсора: Ctrl + XX
134 голосов
/ 19 марта 2016

У меня есть полный список ярлыков:

  1. Ctrl + a Переместить курсор в начало строки
  2. Ctrl + e Переместить курсор в конец строки
  3. Ctrl + b Перейти назад на один символ
  4. Alt + b Перейти назад на одно слово
  5. Ctrl + f Переместиться вперед на один символ
  6. Alt + f Переместиться на одно слово вперед
  7. Ctrl + d Удалить текущий символ
  8. Ctrl + w вырезать последнее слово
  9. Ctrl + k вырезать все после курсора
  10. Alt + d Вырезать слово после курсора
  11. Alt + w Вырезать слово перед курсором
  12. Ctrl + y Вставить последнюю удаленную команду
  13. Ctrl + _ Отменить
  14. Ctrl + u Вырезать все перед курсором
  15. Ctrl + x x Переключение между первой и текущей позицией
  16. Ctrl + l Очистить терминал
  17. Ctrl + c Отменить команду
  18. Ctrl + r Команда поиска в истории - введите поисковый запрос
  19. Ctrl + j Завершить поиск при текущей записи в истории
  20. Ctrl + g Отменить поиск и восстановить исходную строку
  21. Ctrl + n Следующая команда из истории
  22. Ctrl + p предыдущая команда из истории
22 голосов
/ 13 марта 2012

Ctrl + A , Ctrl + K , чтобы стереть текущую строку в терминале.Затем вы можете вызвать его с помощью Ctrl + Y , если вам нужно.

15 голосов
/ 13 марта 2012

или, если вы используете режим vi, нажмите Esc , затем cc

чтобы вернуть то, что вы только что стерли, Esc , а затем p :)

10 голосов
/ 13 марта 2012

Альтернативой Ctrl + A , Ctrl + K является Ctrl + E, Ctrl + U .

9 голосов
/ 13 марта 2012

Я не уверен, что вам это нравится, но я использую Ctrl + A (чтобы начать строку) и Ctrl + K (чтобы удалить строку) Я был знаком с этими командами из emacs и случайно их выяснил.

6 голосов
/ 26 июня 2014
  • Ctrl + u : переместить до начала вашей строки в кольцевой буфер
  • Ctrl + k : переместить до конца вашей строки в кольцевой буфер
  • Ctrl + w : перемещение символов и (нескольких) слов слева от курсора в кольцевой буфер

  • Ctrl + y: вставьте последнюю запись из вашего кольцевого буфера, и затем вы можете использовать Alt + y для вращения через ваш кольцевой буфер.Нажмите несколько раз, чтобы перейти к «предыдущей» записи в кольцевом буфере.

3 голосов
/ 11 февраля 2014

CTRL + R и начать ввод для поиска предыдущих команд в истории. Покажет полные строки.
CTRL + R снова для цикла.

2 голосов
/ 26 октября 2018

Для очистки всей линии (2 разных способа):

  • Home , Ctrl + K
  • Конец , Ctrl + U
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...