Domanda

Mentre CtrlX funziona bene in Vim sotto le finestre, CtrlUN seleziona tutto (duh).

C'è un modo per incrementare un numero premendo un tasto sotto Windows?

È stato utile?

Soluzione

Prova Ctrl-Tastierino Numerico + ?

(da qui)

Altri suggerimenti

Tu puoi fare CtrlUN per incrementare Windows aprendo il file 'mswin.vim' nella directory vim e trovando la sezione simile 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

Commenta tutte queste righe come segue:

" 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

e il CtrlUN la pressione del tasto aumenterà.

Questa è un'opzione piuttosto interessante quando la tua tastiera non ha un vero tastierino numerico.

Mi rendo conto che questa è una vecchia domanda, ma oggi mi sono imbattuto in un'altra opzione basata sulla seguente domanda.Far sì che gvim si comporti come su Linux consentirà a CTRL-A di funzionare come previsto:

come fare in modo che gvim su Windows si comporti esattamente come vim della console Linux?

C'è una sezione di _vimrc che contiene i seguenti elementi.Ciò fa sì che molti dei caratteri di controllo si comportino come su Windows.

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

Ho commentato (con ") le righe mswin e il file set nocompatible linea.Da lì, ho aggiunto set compatible.Questo fa sì che gvim si comporti come su Linux.Quindi, il mio assomiglia a qualcosa del genere:

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

Ho appena imparato questo trucco oggi, quindi se le mie informazioni non sono completamente corrette, faccelo sapere.

Ho modificato la soluzione di TMealy in questo modo CtrlUN seleziona ancora tutto (lo trovo utile), while CtrlIO incrementi (anche utili).

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 problema simile si verifica sotto GNU/Linux quando si utilizza Vim con mswin.vim.Rimappatura Alt+X A Ctrl+UN prima di evocare mswin.vim risolto il mio problema.

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

Ora, Alt+X E Ctrl+X rispettivamente aumentano e diminuiscono i numeri in Vim.

Mappatura a Alt le combinazioni di tasti spesso non sono evidenti in Vim;leggi di più a riguardo Qui.

Sto usando il terminale Cygwin + schermo, quindi <c-a> viene catturato dal multiplexer del terminale.Ho utilizzato questa mappatura:

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

Sembra che il CtrlUN è stato mappato da qualche parte all'avvio.Come suggerito prima, utilizzare:

annulla mappa <c-x>

Vorrei usare unmap, non nunmap.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top