Чтобы немного расширить ответ Игнасио Васкеса-Абрамса, вы можете получить (почти) Windows-подобное поведение с Escключом в bash, привязав kill-whole-lineк нему Escследующую команду
bind '"\e":kill-whole-line'
Если вы добавите строку в ваш ~/.inputrcфайл, привязка будет сохраняться между сеансами.
Однако обратите внимание, что это очень нестандартно, поскольку bash фактически использует Escключ в качестве другого модифицирующего ключа (например, непостоянного Alt или Ctrl). Если вы посмотрите на список существующих привязок клавиш (с помощью bind -P), вы, скорее всего, увидите несколько команд, привязанных к комбинациям клавиш, которые начинаются с "\ e" (например,
"\eb": backward-word
который устанавливает комбинацию Esc+ Bдля перемещения курсора назад к самому последнему началу слова - скорее как Ctrl+ ←, за исключением того, что вы должны продолжать отпускать Esc(и B, конечно, конечно), если вы хотите сделать это несколько раз подряд ).
И это объясняет, почему я сказал, что поведение, которое вы получаете, почти похоже на Windows: когда вы нажимаете Esc, bash проверяет, используете ли вы его в сочетании с другой клавишей; так что, если вы связываете это kill-whole-line, есть небольшая задержка между нажатием (или, скорее, отпуском) Escи bash, очищающим линию для вас.
Однако, если вас это не волнует, и вы предпочитаете жить с задержкой, а не переучиваться на другое нажатие клавиши, это можно сделать.
(Примечание: большая часть информации, которую я здесь получил в результате чтения - и перехода по ссылкам - этот ответ .)