Pergunta

Eu gostaria de ter Ctrl-l para clear na minha Bash.

Como você pode vincular Ctrl-l para clear em Bash?

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top