Question

J'ai une entrée dans mon fichier .vimrc qui la fait défiler dans la fenêtre d'affichage lorsque je tape sur la barre d'espace. Cela ressemble à ceci:

map <Space> <PageDown>

Je souhaite créer un autre mappage de touches qui ouvre la fenêtre de visualisation lorsque vous maintenez la touche Maj enfoncée et appuyez sur la barre d'espace. J'ai essayé les entrées suivantes:

map <Shift><Space> <PageUp>
map <S-Space> <PageUp>

Ni travail. Quelqu'un sait comment réaliser cette fonctionnalité?

Était-ce utile?

La solution

Vous ne pouvez pas. La solution de CMS fonctionnera pour gVim, mais pas dans vim, car les terminaux ne peuvent pas distinguer & Lt; Space & Gt; et < S-Space > parce que les malédictions les voient les mêmes. Cela pourrait être possible à l'avenir si vim obtient le support de libtermkey et que votre terminal supporte le & Lt; CSI & Gt; séquences (xterm le fait si correctement configuré; rien d’autre ne le fait encore).

Autres conseils

Si vous utilisez vim dans iTerm2, vous pouvez mapper shift-space sur ctrl + U en envoyant la clé hexagonale 15. Voici une capture d'écran:

entrer la description de l'image ici

Pour rechercher un code hexadécimal pour une combinaison ctrl + lettre, par exemple ctrl + u, procédez comme suit:

  • Dans vim, entrez en mode insertion
  • Appuyez sur ctrl + v puis ctrl + u puis ctrl + c puis ga
  • diverses représentations numériques seront imprimées en bas

Vous pouvez appliquer cette idée à d'autres émulateurs de terminal prenant en charge le mappage de clés.

Utilisez ceci:

map <Space> ^D   " Pagedown when press Space
map <S-Space> ^U " Page Up when press Shift Space

Pour obtenir correctement les symboles ^ D et ^ U, appuyez simplement sur Control-V Control-D et Control-V Control-U

Pour OSX:

nnoremap <Space> <C-d>
nnoremap <S-Space> <C-u>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top