Comment incrémenter dans vim sous windows (où CTRL-A ne fonctionne pas…)

StackOverflow https://stackoverflow.com/questions/66919

  •  09-06-2019
  •  | 
  •  

Question

Bien que Ctrl X fonctionne correctement dans vim sous Windows, Ctrl A sélectionne tout (duh).

Existe-t-il un moyen d’incrémenter un nombre en appuyant sur une touche sous Windows?

Était-ce utile?

La solution

Essayez Ctrl-NumPad +?

( à partir d'ici )

Autres conseils

Vous pouvez faire en sorte que Ctrl A augmente dans les fenêtres en ouvrant le fichier 'mswin.vim' dans votre répertoire vim et en recherchant la section ressemblant à:

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

Mettez en commentaire toutes ces lignes comme suit:

" CTRL-A is Select all
"noremap <C-A> gggH<C-O>G
"inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
"cnoremap <C-A> <C-C>gggH<C-O>G
"onoremap <C-A> <C-C>gggH<C-O>G
"snoremap <C-A> <C-C>gggH<C-O>G
"xnoremap <C-A> <C-C>ggVG

et la Ctrl Une incrustation de touche.

C’est une très bonne option lorsque votre clavier n’a pas de clavier numérique réel.

Je me rends compte que c’est une vieille question, mais j’ai rencontré une autre option aujourd’hui basée sur la question suivante. En faisant agir gvim comme sur Linux, CTRL-A fonctionnera comme vous le souhaitez:

comment activer gvim Windows se comporte exactement comme linux console vim?

Il existe une section de _vimrc qui contient les éléments suivants. Ceci fait en sorte que beaucoup de caractères de contrôle agissent comme ils le font sous Windows.

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

J'ai commenté (avec " ) les lignes mswin et la ligne set nocompatible . À partir de là, j'ai ajouté set compatible . Cela fait que gvim se comporte comme sur linux. Ainsi, le mien ressemble à quelque chose comme:

set compatible
source $VIMRUNTIME/vimrc_example.vim
"set nocompatible
"source $VIMRUNTIME/mswin.vim
"behave mswin

Je viens d'apprendre ce truc aujourd'hui, donc si mes informations ne sont pas complètement correctes, merci de me le faire savoir.

J'ai modifié la solution de TMealy pour que Ctrl A sélectionne toujours tout (je trouve cela utile), tandis que Ctrl I incréments (également utile).

noremap <C-I> <C-A>

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

Un problème similaire se produit sous GNU / Linux lors de l'utilisation de Vim avec mswin.vim . Remappage de Alt + X sur Ctrl + A avant l'évocation de mswin.vim mon problème.

execute "set <A-x>=\ex"
noremap <A-x> <C-A>
source $VIMRUNTIME/mswin.vim
behave mswin

Maintenant, Alt + X et Ctrl + X augmentent et diminuent respectivement les nombres dans Vim.

Le mappage sur Alt n'est souvent pas évident dans Vim; En savoir plus sur cette ici .

J'utilise un terminal + écran de cygwin, donc < c-a > est capturé par le multiplexeur de terminal. J'ai utilisé cette cartographie:

: noremap < c-i > < c-a >

Il semble que le Ctrl A ait été mappé quelque part au démarrage. Comme suggéré précédemment, utilisez:

unmap < c-x >

Je voudrais utiliser unmap, pas nunmap.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top