Para ligar claro para ^ l em Bash
Pergunta
Eu gostaria de ter Ctrl-l
para clear
na minha Bash.
Como você pode vincular Ctrl-l
para clear
em Bash?
Solução
Coloque isso no seu ~/.inputrc
:
C-L: backward-kill-line
(assumindo por "claro" que quer dizer "linha de entrada actual clara", se você quer dizer "tela clara", em seguida, colocar clear-screen
vez de backward-kill-line
).
Outras dicas
em um caso particular onde o clear-screen
não funcionou para mim também, eu descobri que colocando em ~/.bashrc
a linha: bind -x $'"\C-l":clear;'
era melhor do que "\C-l":'clear\n'
em ~/.inputrc
porque ele limpou a tela e deixou a comando atualmente digitado no lugar; por exemplo (^L
show onde eu bati o combo):
Com "\C-l": clear-screen
em ~/.inputrc
:
user@darkstar:~$ date^L
user@darkstar:~$ date
user@darkstar:~$ ^L
user@darkstar:~$
Com "\C-l":'clear\n'
em ~/.inputrc
:
user@darkstar:~$ date^L
-bash: dateclear: command not found
user@darkstar:~$ ^L
# screen effectively redrawn
Com bind -x $'"\C-l":clear;'
em ~/.bashrc
:
user@darkstar:~$ date^L
# screen redrawn and the top line is now:
user@darkstar:~$ date
E por enquanto eu não tenho sido capaz de obter o mesmo resultado que bind -x
usando apenas o arquivo inputrc ...
Editar
Eu descobri que em alguns casos onde clear-screen
não estava trabalhando para mim foram causados ??por minhas tentativas de obter mais cores no CLI.
Por exemplo, eu tive o problema com TERM=xterm-256color
(ou screen-256color
, etc.) e remover a parte -256color
resolveu o problema.
Eu ainda não encontrou uma maneira de obter um trabalho 256 cores prazo junto Ctrl + l (em xterm, urxvt, etc).