Question

Je veux utiliser shift-tab pour l'achèvement automatique et le déplacement des blocs de code visuellement. Je réfère à Make_Shift-Tab_work . Ce lien parle de la cartographie ^[[Z à shift-tab. Mais je ne suis pas ^[[Z quand je presse shift-tab. je reçois juste un tab normal dans ce cas.

Il parle ensuite de l'aide xmodmap -pke | grep 'Tab' pour mapper les touches de tabulation. Selon que la sortie doit être

keycode 23 = Tab
or
keycode 23 = Tab ISO_Left_Tab

Cependant, je reçois

keycode  22 = Tab KP_Tab

si j'utilise xmodmap -e 'keycode 22 = Tab ISO_Left_Tab' et après que xmodmap -pke | grep 'Tab', je reçois toujours

keycode  22 = Tab KP_Tab

Cela signifie xmodmap -e 'keycode 22 = Tab ISO_Left_Tab' en cours d'exécution n'a pas d'effet.

En fin de compte le lien mentionne l'aide xev pour voir ce que recieves de X quand je presse shift-tab. Mais je n'ai pas xev sur mon système.

Y at-il d'autre moyen que je peux capturer décalage onglet dans vim

Était-ce utile?

La solution

Le lien parle précisément de se ^[[Z lorsque vous appuyez sur Ctrl + v Maj + Tab en mode insertion . Si vous omettez le Ctrl + v , alors Vim se comportera comme si vous appuyez sur Tab .

La meilleure façon de faire reconnaître Vim <S-Tab>, est de définir directement l'option t_kB à la séquence d'échappement de votre terminal envoie, au lieu de vous embêter avec des cartes.

En tant que test rapide, essayez ceci dans une course Vim:

  

: set t_kb = Ctrl + v Esc [Z
  : Imap foo

Maintenant, lorsque vous appuyez sur Maj + Tab en mode insertion, doit être inséré foo. Si cela a fonctionné, vous pouvez faire le changement permanent en ajoutant ce qui suit à votre vimrc.

exe 'set t_kB=' . nr2char(27) . '[Z'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top