Как очистить/удалить текущую строку в терминале?
Если я использую терминал и набираю строку текста для команды, есть ли горячая клавиша или любой способ удалить/удалить эту строку?
Например, если моя текущая строка/команда действительно очень длинна:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Есть ли горячая клавиша или команда, чтобы перейти от выше:
>
?
Обычно я нажимаю клавишу ↓, и если моя текущая строка является совершенно новой в истории, это очистит ее. Но если я пройду свою историю команд с помощью клавиши ↑ и начну редактировать или используя эти команды, ↓ изменит приглашение только на следующую новейшую команду в истории, поэтому она не работает здесь, если я не нажимаю ↓ несколько раз.
Ответы
Ответ 1
Вы можете использовать Ctrl + U, чтобы очистить начало.
Вы можете использовать Ctrl + W для удаления всего слова.
Вы также можете использовать Ctrl + C для отмены.
Если вы хотите сохранить историю, вы можете использовать Alt + Shift + #, чтобы сделать комментарий.
Режим редактирования Bash Emacs Cheat Sheet
Ответ 2
Просто подведем итог всем ответам:
- Очистите линию: вы можете использовать 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
Ответ 3
У меня есть список ярлыков:
- Ctrl + a Переместить курсор в начало строки
- Ctrl + e Переместить курсор в конец строки
- Ctrl + b Переместить один символ
- Alt + b Верните одно слово
- Ctrl + f Переместить вперед один символ
- Alt + f Переместить вперед одно слово
- Ctrl + d Удалить текущий символ
- Ctrl + w Вырезать последнее слово
- Ctrl + k Вырезать все после курсора
- Alt + d Вырезать слово после курсора
- Alt + w Вырезать слово перед курсором
- Ctrl + y Вставить последнюю удаленную команду
- Ctrl + _ Отменить
- Ctrl + u Вырезать все перед курсором
- Ctrl + x x Переключение между первой и текущей позицией
- Ctrl + l Очистить терминал
- Ctrl + c Отмените команду
- Ctrl + r Команда поиска в истории - введите поисковый запрос
- Ctrl + j Завершить поиск в текущей записи истории
- Ctrl + g Отменить поиск и восстановить оригинальную строку
- Ctrl + n Следующая команда из истории
- Ctrl + p предыдущая команда из истории
Ответ 4
Ctrl + A, Ctrl + K, чтобы стереть текущую строку в терминале. Затем вы можете вызвать его с помощью Ctrl + Y, если вам нужно.
Ответ 5
или если вы используете режим vi, нажмите Esc, а затем cc
чтобы вернуть то, что вы только что стерли, Esc, а затем p:)
Ответ 6
Альтернативой Ctrl + A, Ctrl + K является Ctrl + E, Ctrl + U.
Ответ 7
Я не уверен, нравится ли вам это, но я использую Ctrl + A (чтобы начать начало строки) и Ctrl + K (чтобы удалить строку). Я был знаком с этими командами из emacs, и выяснили их случайно.
Ответ 8
- Ctrl + u: переместить до начала строки в кольцевой буфер
- Ctrl + k: переместить до конца строки в кольцевой буфер
-
Ctrl + w: переместить символы и (несколько) слова, оставшиеся с вашего курсора, в кольцевой буфер
-
Ctrl + y: вставьте последнюю запись из буфера звонка, а затем вы можете использовать Alt + y для поворота в кольцевом буфере. Нажмите несколько раз, чтобы перейти к "предыдущей" записи в кольцевом буфере.
Ответ 9
CTRL + R и начните вводить текст для поиска предыдущих команд в истории. Покажет полные строки.
CTRL + R снова для цикла.
Ответ 10
Ctrl + W очистит слово слева.
Ответ 11
Чтобы удалить всю строку независимо от того, где находится курсор, вы можете использовать команду kill-whole-line
, но она по умолчанию отключена. Он может быть связан, например, с Ctrl + Alt + K, вставив
"\e\C-k": kill-whole-line
в ваш файл инициализации Readline (условно ~/.inputrc
).
Различные замечания:
-
Чтобы избежать случайного повторного назначения последовательности клавиш, которая уже используется для чего-то другого, вы можете проверить все свои привязки с помощью bind -P
. Проверьте предлагаемое связывание с
bind -P | grep '\\e\\C-k'
- Имя файла инициализации Readline берется из командной строки
INPUTRC
. Если он не установлен, по умолчанию используется ~/.inputrc
, или (если этого не существует) /etc/inputrc
. Обратите внимание, что если у вас ~/.inputrc
, /etc/inputrc
будет проигнорирован.
- Чтобы перезагрузить файл инициализации Readline, вы можете использовать Ctrl + X Ctrl + R.
- Ссылки на соответствующие разделы руководства:
Ответ 12
Добавить в список:
В режиме Emacs нажмите Esc, а затем R, удалит всю строку.
Я не знаю, почему, просто бывает, чтобы найти его. Может быть, он не используется для удаления строки, но имеет тот же эффект. Если кто-то знает, пожалуйста, скажите мне, спасибо:)
Работает в Bash, но не работает в Fish.
Ответ 13
Чтобы очистить всю линию (2 разных способа):
- Home, Ctrl + K
- End, Ctrl + U
Ответ 14
Просто, чтобы суммировать все ответы
- Очистить строку: вы можете использовать Ctrl + U, чтобы очистить начало.
- Очистите строку: Ctrl + A Ctrl + K, чтобы стереть текущую строку в терминале
- Отмените текущую команду/строку: Ctrl + C.
- Вызовите удаленную команду: Ctrl + Y
- Перейдите в начало строки: Ctrl + A
- Удалите передние слова, например, если вы находитесь в середине команды: Ctrl + K
- Удалить символы слева, до начала слова: Ctrl + W
Здесь я добавлю еще одну важную команду:
- Чтобы очистить всю командную строку: Ctrl + L