ESC + {: O que é e onde posso saber mais sobre isso?

32

Eu estava brincando no prompt do bash, e apertei ESC seguido por {, após o qual, o shell mostrou todos os arquivos para conclusão, em uma string de globo de linha. Por exemplo: se eu tivesse digitado bash C seguido por ESC+{ , o shell mostraria isso: bash CHECK{,1,2{,23{336{,66666},6},3{,6}}} preenchimento automático de todos os arquivos possíveis & Diretórios começando com C, mostrando todos os arquivos experimentais & Diretórios que eu fiz.

O que é ESC + { & onde eu posso saber mais sobre isso?

Eu vejo isso no CENTOS & Mac OSX com bash.

    
por Prem 05.02.2016 / 13:57

1 resposta

49

Para descobrir uma ligação de chave.

Em bash :

$ bind -p | grep -a '{'
"\e{": complete-into-braces
"{": self-insert

$ LESS='+/complete-into-braces' man  bash
   complete-into-braces (M-{)
          Perform filename completion and insert the list of possible com‐
          pletions  enclosed within braces so the list is available to the
          shell (see Brace Expansion above).

Ou com info :

info bash --index-search=complete-into-braces

(ou info bash e use o índice com conclusão ( i key))

No entanto, note que a página de informação pré-criada que vem com as fontes bash-4.3, pelo menos, está faltando algumas entradas de índice incluindo complete-into-braces , a menos que seu sistema operacional reconstrua a página de informações das fontes texinfo, o comando acima ganhou não funciona.

Em zsh

$ bindkey| grep W
"^W" backward-kill-word
"^[W" copy-region-as-kill
$ info --index-search=copy-region-as-kill zsh
copy-region-as-kill (ESC-W ESC-w) (unbound) (unbound)
 Copy the area from the cursor to the mark to the kill buffer.

 If called from a ZLE widget function in the form 'zle
 copy-region-as-kill STRING' then STRING will be taken as the text
 to copy to the kill buffer.  The cursor, the mark and the text on
 the command line are not used in this case.

Ou com man , assumindo o pager less , como para bash :

LESS='+/copy-region-as-kill' man zshall

zsh também possui um describe-key-briefly que você pode ligar em uma sequência de teclas ou chaves, como Ctrl + X Ctrl + H abaixo:

bindkey '^X^H' describe-key-briefly

Em seguida, você digita Ctrl + X Ctrl + H seguido pela chave ou combinação de teclas para descrever. Por exemplo, digitar o Ctrl + X Ctrl + H duas vezes seria exibido abaixo do prompt:

"^X^H" is describe-key-briefly

Em tcsh

Isso é basicamente o mesmo que zsh , exceto que tcsh não tem uma página de informações.

> bindkey | grep -a P
"^P"           ->  up-history
"^[P"          -> history-search-backward
> env LESS=+/history-search-backward man tcsh
[...]

Em fish :

> bind | grep -F '\ec'
bind \ec capitalize-word
> help commands

Qual deve iniciar seu navegador da Web preferido. E procure por capitalize-word lá.

    
por 05.02.2016 / 14:24