Как очистить/удалить текущую строку в терминале?



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



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



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


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



>


?



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

772   12  

12 ответов:

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

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

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

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


Bash Emacs Режим Редактирования Чит Лист

просто чтобы суммировать все ответы

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

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

  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+xx переключение между первой и текущей позицией
  16. Ctrl+l очистить терминал
  17. Ctrl+c отменить команду
  18. Ctrl+r команда поиска в истории-введите поисковый запрос
  19. Ctrl+j завершить поиск в текущей записи истории
  20. Ctrl+g отменить поиск и восстановить исходную строку
  21. Ctrl+n следующая команда от История
  22. Ctrl+p предыдущая команда из истории

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

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

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

альтернатива Ctrl+A,Ctrl+K и Ctrl+E,Ctrl+ U.

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

  • Ctrl+u:движение до начала вашей линии в кольцевой буфер
  • Ctrl+k:движение до конца вашей линии до кольцевого буфера
  • Ctrl+ w:движение символы и (несколько) слова слева от курсора в кольцевой буфер

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

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

Ctrl + W очистит слово слева.

добавить в список:

в режиме 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

    Ничего не найдено.