В bash, как очистить текущий вход?

Предположим, что в bash вы начинаете писать команду, например:

$ rm -rf /foo/bar/really/long/path/here

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

То, что я делал в последнее время, добавляет эхо и вмещает входные данные в кавычки (Ctrl + A, echo ", Ctrl + E, "), а затем нажмите enter. Есть ли более быстрый способ?

Ответ 1

  • Нажмите Ctrl - U, чтобы удалить все перед курсором. Удаленная команда будет сохранена в буфер. Нажмите Ctrl - Y, чтобы вставить удаленную команду.

    (Дополнительно: нажмите End или Ctrl - E, чтобы сначала перейти к концу ввода.)

  • В качестве альтернативы нажмите Ctrl - C, чтобы прервать введенный вами текст.

Ответ 2

Попробуйте Ctrl + U. Это очищает входную строку.

Ответ 4

Ctrl - U, Ctrl - K выполняет трюк.

Ctrl - U удаляет все, начиная с начала строки до курсора, Ctrl - K удаляет все из курсора в конец строки. (Иногда полезно использовать только один из них.)

Ответ 5

Есть два варианта сделать это

ctrl + c - это очищает всю строку, независимо от того, где находится курсор.

ctrl + u - это очистить строку от положения курсора до начала.

Ответ 6

Нажатие Esc plus Backspace в bash очистит все до положения курсора.

(В Cygwin это очистит ввод до следующего слова. Слова разделены пробелами, подчеркиваниями,...)

Ответ 7

Хороший ярлык нажимает Esc #. Он добавит символ # (таким образом, сделав комментарий строки), а затем нажмите клавишу ввода. Если вы затем решите, что вам по-прежнему нужна команда, вы все еще имеете ее в своей истории:)

Ответ 8

Считаем, что использование Ctrl - U (или Ctrl - E, а затем Ctrl - U) сохранит то, что вы очистите в буфере, чтобы затем вставить его позже, используя Ctrl -. Y

Ответ 9

Чтобы удалить текущую строку, попробуйте:

Ctrl - X, Ctrl - U

В качестве альтернативы вы можете использовать:

Esc - D

который требуется в ~/.inputrc:

"\ed": kill-whole-line 

см.: http://codesnippets.joyent.com/posts/show/1690

Ответ 10

Если вы используете Bash в vi mode (установите его с помощью set -o vi), затем нажмите Esc, чтобы переключиться на нормальный режим vi и тип dd, чтобы удалить текущую строку!

Ответ 11

Это расширение knittl answer, в котором хранится строка в истории консоли, путем префикса с хешем. Преодоление недостатков буфера обмена, например, случайная перезапись или невозможность просмотра строки разреза для справки.

Строка комментариев и возврат новой подсказки

Используйте комбинацию клавиш:

  • Esc #
  • Alt + #

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

$ #rm -rf /foo/bar/really/long/path/here
$

Получить комментарий к строке

Чтобы восстановить старую строку из истории консоли, используйте один из следующих ярлыков:

  • Up
  • Ctrl + p

Повторите комбинацию клавиш до появления нужной строки.


Удаление префикса Quick Hash

Чтобы удалить префикс хеша строки #, доступно несколько различных опций:

Удалите первый символ и немедленно выполните команду:

  • Esc 1 Esc #
  • Alt + -, Alt + #

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

  • Home, Delete
  • Ctrl + a, Ctrl + d