Os padrões estão dentro man bash
, junto com detalhes sobre o que cada comando faz. Consulte a resposta do BroSlow se você alterou as combinações de teclas.
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-word (M-f)
Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits).
backward-word (M-b)
Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits).
shell-forward-word
Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.
shell-backward-word
Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
EDITAR
Esses comandos estão todos em uma seção contígua do manual, para que você possa navegar por ele Commands for Moving
. Como alternativa, você pode salvar esta seção inteira em um arquivo de texto com
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(NB: imprime a seção inteira, incluindo comandos sem atalho de teclado padrão.)
Explicação do código awk
- Na ocorrência (apenas) de
Commands for Moving
, defina a variável print_this
como 1.
- Na ocorrência (apenas) de
Programmable Completion
, que é a seção a seguir, defina a variável como 0.
- Se a variável for 1, livre-se do espaço em branco à esquerda (três espaços) e imprima a linha.
bind -P
seria mais preciso.Readline Command Names
, verá todos os comandos nesta seção. Escreverei um script curto para extraí-lo em um arquivo de texto, mas não posso fazê-lo agora (terei tempo em algumas horas).Você pode listar todos os atalhos no seu shell bash atual chamando o bash builtin
bind
com a-P
opçãopor exemplo
Para alterá-los, você pode fazer algo como
E coloque-o em um arquivo init para torná-lo permanente (observe que você só pode ter uma combinação de teclas vinculada a uma coisa de cada vez, para que perca a ligação que tinha anteriormente).
fonte
bind -P
deve fornecer todos os atalhos. Se você quer dizer ignorando aqueles que não têm mapeamentos para funções bind / readline você poderia fazer algo assimbind -P | grep -v "not bound"
O comando a seguir fornece uma boa saída colunar, mostrando o uso e os atalhos.
Isso fornece uma saída, que parece
Obter esta saída em um arquivo de texto usando o seguinte comando
O arquivo é criado no seu diretório $ HOME.
Explicação
obtém todos os atalhos.
remove todos os atalhos não atribuídos
classifica a saída
imprime a primeira coluna (ie função) e justifica o texto
Isso faz parte do comando anterior. Imprime as colunas 6+ (ou seja, atalhos).
Coloca a saída em um bom arquivo de texto no diretório home chamado atalhos
Você pode ter uma idéia de como o comando funciona executando os seguintes comandos.
fonte
bind -P | tail -n +2 | sort | awk '{printf "%-40s", $1} {if ($6 == "any") {printf"\n"} else {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}}'
Ok, eu tenho uma maneira de obter a lista de atalhos filtrando o manual do bash . Também fornecerá a descrição do que exatamente cada atalho faz. Agradeço a Sparhawk, que me iluminou para encontrar a solução. O que eu precisava era aprender o uso de expressões regulares, embora ainda não seja bom nisso :)
Isso é tudo que eu precisava. Eu só queria conhecer as teclas de atalho atribuídas ao bash e não reconfigurei nenhuma tecla, como BroSlow me pediu.
Mais uma vez obrigado a todos por suas contribuições.
Nota :
Se alguém quiser melhorar isso, é muito bem-vindo. Mencionei apenas a maneira de listar os atalhos que foram atribuídos por algumas teclas. Portanto, se alguém souber listar as ações que não foram atribuídas com a descrição dessa maneira , será muito bem-vindo :)
fonte
dump-macros
), embora isso possa ser o que você deseja.Desde que o manual do bash não seja modificado de forma a tornar esse comando impróprio (o que não é muito provável), o comando a seguir mostrará todos os atalhos padrão para
bash
.Isso fornece uma saída parecida com:
Se o manual do bash for modificado, esse comando poderá ser facilmente alterado para atender às necessidades.
fonte