Чтобы связать ясно ^ ^ в Баш - PullRequest
8 голосов
/ 15 июля 2009

Я бы хотел иметь Ctrl-l для clear в моем Bash.

Как связать Ctrl-l с clear в Bash?

Ответы [ 2 ]

12 голосов
/ 15 июля 2009

Поместите это в ваш ~/.inputrc:

C-L: backward-kill-line

(при условии «очистить» вы имеете в виду «очистить текущую строку ввода»; если вы имеете в виду «очистить экран», вместо backward-kill-line введите clear-screen).

4 голосов
/ 24 апреля 2015

в конкретном случае, когда clear-screen у меня тоже не сработало, я обнаружил, что ввод ~/.bashrc строки: bind -x $'"\C-l":clear;' был лучше, чем "\C-l":'clear\n' в ~/.inputrc, потому что он очищал экран и оставили набранную команду на месте; например (^L показать, где я попал в комбо):

С "\C-l": clear-screen в ~/.inputrc:

user@darkstar:~$ date^L
user@darkstar:~$ date
user@darkstar:~$ ^L
user@darkstar:~$ 

С "\C-l":'clear\n' в ~/.inputrc:

user@darkstar:~$ date^L
-bash: dateclear: command not found
user@darkstar:~$ ^L
# screen effectively redrawn

С bind -x $'"\C-l":clear;' в ~/.bashrc:

user@darkstar:~$ date^L
# screen redrawn and the top line is now:
user@darkstar:~$ date

И пока я не смог получить тот же результат, что и bind -x, используя только файл inputrc ...

Редактировать

Я обнаружил, что в некоторых случаях, когда clear-screen не работал для меня, были вызваны моими попытками получить больше цветов в CLI. Например, у меня возникла проблема с TERM=xterm-256color (или screen-256color и т. Д.), И удаление части -256color решило проблему.

Я еще не нашел способ заставить термин из 256 цветов работать по CTRL + l (в xterm, urxvt и т. Д.).

...