Как очистить/удалить текущую строку в терминале?
Если я использую терминал и набираю строку текста для команды, есть ли горячая клавиша или какой-либо способ очистить/удалить эту строку?
например, если моя текущая строка / команда-это что-то действительно длинное, как:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
есть ли горячая клавиша или команда отправиться из вышеперечисленного:
>
?
обычно я буду нажимать ↓ ключ, и если моя текущая строка является совершенно новой в истории, это очистит ее. Но если я буду через мою историю команд через ↑ ключ и начать редактирование или использование этих команд ↓ только изменит приглашение на следующую новейшую команду в истории, поэтому она не работает здесь, Если я не нажму ↓ несколько раз.
12 ответов
можно использовать Ctrl+U очистить до начала.
можно использовать Ctrl+W чтобы удалить только слово.
вы также можете использовать Ctrl+C отменить.
Если вы хотите сохранить историю, вы можете использовать Alt+ Shift+# сделать это замечание.
просто обобщить все ответы
- очистите линию: вы можете использовать Ctrl+U чтобы прояснить до начала.
- очистить строку: Ctrl+A Ctrl+K стереть текущую строку в терминале
- отменить текущую команду/строку: Ctrl+C.
- отозвать удаленную команду:Ctrl+Y (тогда Alt+Y)
- перейти в начале строки:Ctrl+A
- перейти в конце строки:Ctrl+E
- удалите передние слова, например, если вы находитесь в середине команды:Ctrl+K
- удалить символы слева до начала слова: Ctrl+W
- очистить вся командная строка:Ctrl + L
- переключение между началом строки и текущей позицией курсора: Ctrl + XX
У меня есть полный список ярлыков:
- 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+xx переключение между первой и текущей позицией
- Ctrl+l очистить терминал
- Ctrl+c отменить команду
- Ctrl+r команда поиска в истории-введите поисковый запрос
- Ctrl+j завершить поиск в текущей записи истории
- Ctrl+g отменить поиск и восстановить исходную строку
- Ctrl+n следующая команда из История
- Ctrl+p предыдущая команда из истории
Ctrl+на, Ctrl+K стереть текущую строку в терминале. Затем вы можете вспомнить его с Ctrl+Y Если вам нужно.
или если вы используете режим vi, нажмите Esc следовал по cc
чтобы вернуть то, что вы только что стерли,Esc а то p :)
Я не уверен, что вам это нравится, но я использую Ctrl+на (для начала строки) и Ctrl+K (чтобы удалить строку) я был знаком с этими командами из emacs и выяснил их случайно.
- Ctrl+u: движение до начала вашей линии до кольцевого буфера
- Ctrl+k: движение до конца вашей линии до кольцевого буфера
Ctrl+w: движение символы и (несколько) слова, оставленные от курсора до кольцевого буфера
Ctrl+y: вставить последний запись из кольцевого буфера, а затем вы можете использовать Alt+y для вращения через кольцевой буфер. Нажмите несколько раз, чтобы продолжить" предыдущую " запись в кольцевом буфере.
CTRL+R и начать печатать для поиска предыдущих команд в истории. Покажет полные строки.
CTRL+R снова в цикл.
добавить в список:
в режиме Emacs, нажмите Esc, следовал по R, удалит всю строку.
Я не знаю, почему, просто бывает найти его. Возможно, он не используется для удаления строки, но имеет тот же эффект. Если кто-то знает, пожалуйста, скажите мне, спасибо:)
работает в Bash, но не будет работать в Fish.
чтобы удалить всю строку независимо от того, где находится курсор, вы можете использовать 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.
- ссылки на соответствующие разделы: