Utiliser des marques avec des touches mortes


9

J'utilise une disposition de clavier dans laquelle le backtick ( `) est une touche morte .

Cela signifie que lorsque je tape un backtick suivi d'une voyelle (par exemple `a) ce que Vim voit est un caractère accentué ( à). Donc, si je fixe une marque avec, maje peux passer à la ligne de la marque avec 'a. Mais sauter à l'emplacement spécifique de la marque `ane fonctionnera pas.

J'ai trouvé une solution de contournement: en tapant une touche morte, je peux faire en sorte que Vim reçoive un backtick en frappant le backtick puis la barre d'espace. Donc si je veux aller marquer aje tape `␣a.

Y a-t-il un moyen de sauter à la marque sans avoir à frapper cet espace supplémentaire? Sans effets secondaires?


Vous ne pouvez pas utiliser de backticks de type 2 pour obtenir un backtick? Ou configurer votre système d'exploitation pour cela? C'est toujours une frappe supplémentaire, mais mieux que `+ espace ...
Martin Tournoij

@ Carpetsmoker No.Taper deux backticks donne normalement `` pour moi. Mais en mode Normal, il semble que quelque chose se passe: je tape `` a et Vim dit "E78: Marque inconnue". De showcmdje pense que Vim comprend cela comme à. Je voudrais également rendre le comportement du système d'exploitation indépendant. mapsemble faire le travail.
Gonçalo Ribeiro

Réponses:


12

Essayez d'en faire un mappage:

" Mapping dead keys in normal mode
nmap á 'a

De cette façon, lorsque Vim obtient l'accent a, il l'interprète comme `+a

L'utilisation nmappermet que cela se produise uniquement en mode normal; en mode insertion ou en mode commande, vous obtiendrez l'accent aque vous attendez.

Il est possible de l'appliquer à d'autres clés:

nmap à `a
nmap Á 'A
nmap À `A
nmap ç 'c
nmap Ç 'C
nmap é 'e
nmap è `e
nmap É 'E
nmap È `E
nmap í 'i
nmap ì `i
nmap Í 'I
nmap Ì `I
nmap ó 'o
nmap ò `o
nmap Ó 'O
nmap Ò `O
nmap ú 'u
nmap ù `u
nmap Ú 'U
nmap Ù `U

Cela fonctionne. Et sans effets secondaires. Je devrais apprendre à utiliser des cartes. Je vous remercie.
Gonçalo Ribeiro

Je vous en prie. Heureux d'avoir pu aider.
John O'M.

Et le ^ (premier caractère doux de la ligne)? Puisqu'il s'agit d'une commande autonome, que peut-on faire? Le système d'exploitation met-il en cache la clé morte jusqu'à ce qu'une autre touche soit enfoncée?
Spidey
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.