ZLE: Lista de códigos de ligações de teclas

1

Eu sei que em

bindkey '\ep' autosuggest-accept-suggested-small-word
o \e refere-se à chave ⎇ Alt . Eu também sei que C- refere-se à tecla ⎈ Ctrl .

Existe uma lista referenciando todas as chaves porque eu tenho o momento mais difícil de entender como o ZLE funciona e qual combinação de teclas devo usar para ligar autosuggest-accept-suggested-small-word a um atalho de teclado começando com o ⌘ Cmd chave.

Por exemplo: Para quais chaves essas atalhos de tecla estão se referindo: ^~u , ~w , ^@j (estas são atalhos de teclado que eu encontrei no ttscoff arquivo de configurações de atalhos de teclado )?

    
por politicus 18.12.2017 / 09:51

1 resposta

1

^ no ZSH (e muitos outros softwares; veja por exemplo stty -a ) refere-se à chave control , e. para control-L limpar a tela que pode ser encontrada na lista de atalhos de teclado ZSH

% bindkey | grep clear
"^L" clear-screen
% 

Não consigo comentar como o ^~u ~w ^@j nos atalhos de teclado do ttscoff está relacionado ao ZSH. Esse software parece não relacionado ao ZSH; a lista completa do que o ZSH reconhece pode ser encontrada no manual zshzle(1) , que para alguma versão do ZSH (em vez disso, verifique o manual para a versão que você possui e não assuma cegamente que esta lista está correta para aquela versão do ZSH) inclui

          \a     bell character
          \b     backspace
          \e, \E escape
          \f     form feed
          \n     linefeed (newline)
          \r     carriage return
          \t     horizontal tab
          \v     vertical tab
          \NNN   character code in octal
          \xNN   character code in hexadecimal
          \uNNNN unicode character code in hexadecimal
          \UNNNNNNNN
                 unicode character code in hexadecimal
          \M[-]X character with meta bit set
          \C[-]X control character
          ^X     control character

Para fazer com que a chave do comando Apple gere códigos no terminal, é necessário que o programa do terminal seja configurado para isso; as instruções para isso irão variar dependendo se você está usando Terminal.app ou iTerm.app ou alguma outra coisa (procure nas preferências ou consulte o manual).

Com iTerm.app (isso pode mudar; os aplicativos de GUI tendem a mudar as coisas ao longo do tempo) tente o menu iTerm2, Preferências, Chaves, encontre o widget para adicionar algo e, em seguida, "enviar código hexadecimal" 0x02

Em seguida, em ZSH bindkey esta sequência

% xxd
^B
00000000: 020a                                     ..
% screencapture -s hexcode.png
% bindkey '^B' clear-screen
% 

e agora splat-shift-option-O deve fazer com que o ZSH limpe a tela; em vez disso bindkey do seu widget desejado e defina isso na sua configuração:

bindkey '^B' autosuggest-accept-suggested-small-word

ou qualquer outra ligação que funcione para você. Certifique-se de executar bindkey e verifique se nenhum outro widget existente que você deseja usar usa o código de chave ...

    
por 18.12.2017 / 16:54

Tags