2012-09-05 2 views
2

Depuis des années, j'utilise des ordinateurs portables sans pavé numérique sur leur clavier. Ayant récemment acquis un clavier dekstop ... juste aujourd'hui j'ai découvert que le mappage de Vim aux nombres (1 ... 9, 0) ne fonctionne pas sur leurs équivalents de clavier numériques. Ce que je veux dire?Touches de mappage sur le pavé numérique

nmap 1 Dj 

ne fonctionne pas sur le clavier numérique 1?

Y at-il une solution à ce problème (pas vraiment un "problème", mais ennuyeux)?

Répondre

1

Cela fonctionne pour moi sur Windows: nmap <C-k5> :tabnew<CR>

Les identifiants du clavier sont k1, k2, etc. De plus Kplus et ainsi de suite. Autant que je sache, les mappages échouent lorsque NumLock est désactivé.

+0

ne semble pas fonctionner. – Rook

+0

@ldigas Vraiment? Fonctionne bien ici. Vim 7.3 fonctionnant sur Windows 7 x64. Mais comme je l'ai dit, si NumLock est désactivé, les mappages ne fonctionneront pas. – kprobst

+0

@ldigas ce commentaire peut sembler stupide, mais votre commentaire ci-dessus n'est pas clair: avez-vous essayé «» ou «»? Le premier nécessite la touche «Ctrl» pour être appuyé. – xaizek

1

J'ai eu quelques claviers et terminaux où je n'ai pas pu mapper via les identificateurs k*. Pour les cartographier dans cette situation, utilisez Ctlv afin d'entrer le code d'échappement correct

Ainsi, par exemple à la carte 1 sur le clavier pour effectuer Dj, entrez:

:map 

Ensuite, tapez Ctlv, qui laissera ouverte une séquence d'échappement avec ^[. Appuyez ensuite sur sur le clavier. Le code résultant ressemblera à ^[Ow. Complétez votre carte comme d'habitude:

:map ^[Ow Dj 
+0

: carte, puis Ctrl-v (qui me donne juste ^), puis en appuyant sur 1 ne me donne rien. – Rook

+0

@ldigas est votre NumLock activé ou désactivé? –

+0

Activé. Quand il est éteint, il donne le (ou , ou , ou - selon la clé). Ce qui est attendu – Rook

0

Vous pouvez mapper en vi (par exemple dans ~/.vimrc) les touches NUM de la façon suivante:

inoremap <Esc>Oq 1 
inoremap <Esc>Or 2 
inoremap <Esc>Os 3 
inoremap <Esc>Ot 4 
inoremap <Esc>Ou 5 
inoremap <Esc>Ov 6 
inoremap <Esc>Ow 7 
inoremap <Esc>Ox 8 
inoremap <Esc>Oy 9 
inoremap <Esc>Op 0 
inoremap <Esc>On . 
inoremap <Esc>OQ/
inoremap <Esc>OR * 
inoremap <Esc>Ol + 
inoremap <Esc>OS - 
inoremap <Esc>OM <Enter> 

Ce paramètre est un exemple d'utilisation de la touche NUM car ils devrait être. Bien sûr, vous pouvez changer les mappages.

Questions connexes