Как очистить/удалить текущую строку в терминале?
Если я использую терминал и набираю строку текста для команды, есть ли горячая клавиша или какой-либо способ очистить/удалить эту строку?
например, если моя текущая строка / команда-это что-то действительно длинное, как:
> 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+ACtrl+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+A,Ctrl+K для очистки текущей строки в терминале. Затем вы можете вспомнить его с Ctrl+Y Если вам нужно.
или если вы используете режим vi, нажмите Esc следовал по cc
чтобы вернуть то, что ты только что стер, Esc а то p :)
Я не уверен, если вы любите его, но я использую Ctrl+A (чтобы начать линию) и Ctrl+K (чтобы удалить строку) я был знаком с этими командами из emacs, и выяснил их случайно.
- Ctrl+u:движение до начала вашей линии в кольцевой буфер
- Ctrl+k:движение до конца вашей линии до кольцевого буфера
Ctrl+ w:движение символы и (несколько) слова слева от курсора в кольцевой буфер
Ctrl+y: вставить последний вход из вашего кольцевого буфера, а затем вы можете использовать Alt+y для поворота через кольцевой буфер. Нажмите несколько раз, чтобы продолжить" предыдущую " запись в кольцевом буфере.
CTRL+R и начать вводить для поиска предыдущих команд в истории. Покажет полные строки.
CTRL+R снова в цикл.
добавить в список:
в режиме Emacs, нажмите Esc, следовал по R, удалит всю строку.
Я не знаю почему, просто случайно нашел его. Возможно, он не используется для удаления строки, но имеет тот же эффект. Если кто-то знает, пожалуйста, скажите мне, спасибо:)
работает в Баш, но не будет работать в рыбе.
чтобы удалить всю строку независимо от того, где находится курсор, вы можете использовать
kill-whole-lineкоманда, но по умолчанию она не привязана. Он может быть привязан, например,Ctrl+ Alt+K вставить"\e\C-k": kill-whole-lineв ваш init-файл Readline (условно
~/.inputrc).различные замечания:
чтобы избежать случайного повторного назначения клавиш, которое уже используется для чего-то другого, вы можно проверить все ваши привязки с
bind -P. Проверьте предложенную привязку с помощьюbind -P | grep '\e\C-k'- имя файла инициализации Readline берется из переменной оболочки
INPUTRC. Если он не установлен, по умолчанию используется~/.inputrc, или (если не существует)/etc/inputrc. Обратите внимание, что если у вас есть~/.inputrc,/etc/inputrcбудет проигнорировано.- чтобы перезагрузить файл Readline init, вы можете использовать Ctrl+X Ctrl+R.
- ссылки на соответствующие разделы:
Comments