В 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. Это очищает входную строку.
Ответ 3
Найдена краткая ссылка на http://www.ice2o.com/bash_quick_ref.html, а поиск.
ctrl + e (если не в конце строки) плюс 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, в котором хранится строка в истории консоли, путем префикса с хешем. Преодоление недостатков буфера обмена, например, случайная перезапись или невозможность просмотра строки разреза для справки.
Строка комментариев и возврат новой подсказки
Используйте комбинацию клавиш:
Символ хеша #
будет добавлен к строке, тем самым превращая всю строку в комментарий. Он также вернет новое приглашение, как если бы пользователь нажал кнопку ввода. например.
$ #rm -rf /foo/bar/really/long/path/here
$
Получить комментарий к строке
Чтобы восстановить старую строку из истории консоли, используйте один из следующих ярлыков:
Повторите комбинацию клавиш до появления нужной строки.
Удаление префикса Quick Hash
Чтобы удалить префикс хеша строки #
, доступно несколько различных опций:
Удалите первый символ и немедленно выполните команду:
- Esc 1 Esc #
- Alt + -, Alt + #
Переместите курсор, чтобы начать и удалить первый символ, не выполняя команду:
- Home, Delete
- Ctrl + a, Ctrl + d