liga a sequência de teclas a Escape, zsh

8

Como eu mapearia jj para Esc em zsh?

Estou tentando recriar um mapeamento de chave que configurei no vim, em que tenho jj mapeado para ESC para que, sempre que eu pressionar duas vezes j , ele envie o <Esc> para vim - permitindo-me entrar no modo normal com maior comodidade.

Já experimentei bindkey 'jj' ^[ e estou prestes a experimentar bindkey 'jj' ^[[ , mas duvido que funcione. Também verifiquei a lista de comandos fornecidos pelo zsh no modo normal, mas não vi nada que contivesse normal ou escape .

OBSERVAÇÃO
Os caracteres ^[ no meu arquivo ~/.zshrc são escutas codificadas reais reais; não apenas os caracteres ^ e [ .

    
por Alexej Magura 14.11.2013 / 17:21

1 resposta

8

Você precisa de -s para vincular sequências de caracteres reais em vez de widgets:

bindkey -s jj '\e'

Embora você provavelmente queira mapear jj para o widget vi-cmd-mode aqui:

bindkey jj vi-cmd-mode

(note que para ligação no modo de inserção, não normal / modo de comando)

    
por 14.11.2013 / 22:02