2017-09-05 6 views
1

Je souhaite mapper la gamme numérique dans mon script Vim. Par exemple, cela ne fonctionne pas: -Comment mapper des plages numériques/alphabétiques dans Vim?

inoremap {0-9}-{0-9} {0-9}<Space>-<Space>{0-9} 

Je cherche le comportement suivant: -

//Before mapping 
    x=x-1; 
    return -1; 
//After mapping 
    x = x - 1; 
    return -1; 
+0

Je ne comprends pas vraiment ce que vous essayez de faire, mais vous ne pouvez pas cartographier une plage comme celle-là. Ceci mappera le texte littéral '{0-9} - {0-9}' à {0-9} - {0-9} ' – DJMcMayhem

+0

Comment puis-je mapper une plage? Y a-t-il des notations Vim? – ZEU5

+0

C'est mon point, vous ne pouvez pas mapper une plage dans vim. Vous pouvez probablement obtenir la même fonctionnalité d'une autre manière, mais vous devrez décrire exactement ce que vous essayez de faire. Vous devriez [éditer] votre question et expliquer soigneusement ce que vous voulez exactement. – DJMcMayhem

Répondre

0
for n in range(0, 9) 
    execute "inoremap " . n . "-" . n . " " . n . " - " . n 
endfor 

Cette boucle sur une liste de numéros 0-9 et crée une séparée cartographie pour chaque numéro. Mais je voudrais essayer d'améliorer mon typage plutôt que de compter sur des solutions de contournement.

+0

Cela ne fonctionne que pour les mêmes chiffres. Les travaux suivants cependant. 'pour un intervalle in (0, 9) pour b dans la plage (0, 9) \t exécutez" inoremap ". une . "-". b. "". une . "-". b endfor endfor' – ZEU5