associa la sequenza di tasti a Escape, zsh


11

Come dovrei mappare jjin Escin zsh?

Sto cercando di ricreare una mappatura dei tasti che ho impostato in VIM, dove ho jjmappato in ESCmodo tale che ogni volta che premo due volte j, invia un an <Esc>a VIM - permettendomi di entrare in modalità normale con maggiore comodità.

Ho già provato bindkey 'jj' ^[, e sto per provare bindkey 'jj' ^[[, ma dubito che funzionerà. Ho anche controllato l'elenco dei comandi forniti da zsh in modalità normale, ma non ho visto nulla che contenesse normalo escape.

NOTA
I ^[caratteri nel mio ~/.zshrcfile sono effettivi escape codificati; non solo i personaggi ^e [.

Risposte:


12

Devi -sassociare stringhe effettive anziché widget:

bindkey -s jj '\e'

Sebbene probabilmente desideri mappare jjil vi-cmd-modewidget qui:

bindkey jj vi-cmd-mode

(nota che è per l'associazione in modalità inserimento, non normale / modalità comando)


1
il secondo funziona come un incantesimo, grazie!
Alexej Magura,

2
L' impostazione NOTAKEYTIMEOUT sembra interrompere l'associazione dei tasti.
Alexej Magura,

@AlexejMagura ha appena aggiunto: l'impostazione di KEYTIMEOUT su un valore troppo basso impedisce a zle di riconoscere la doppia pressione.
UltraMaster,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.