Пока Ctrl X отлично работает в vim под окнами, Ctrl A выбирает все (duh).
Есть ли способ увеличить число с нажатием клавиши под окнами?
Пока Ctrl X отлично работает в vim под окнами, Ctrl A выбирает все (duh).
Есть ли способ увеличить число с нажатием клавиши под окнами?
Попробуйте Ctrl-NumPad +?
(отсюда)
Вы можете сделать Ctrl A для увеличения в окнах, открыв файл mswin.vim в каталоге vim и найдя раздел, который выглядит следующим образом:
" 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
Прокомментируйте все эти строки следующим образом:
" 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
а нажатие клавиши Ctrl A будет увеличиваться.
Это довольно хороший вариант, когда на клавиатуре нет реальной цифровой клавиатуры.
Я понимаю, что это старый вопрос, но сегодня я столкнулся с другим вариантом, основываясь на следующем вопросе. Создание gvim, как и в Linux, позволит CTRL-A работать так, как вы ожидаете:
Как заставить gvim на windows вести себя как linux console vim?
Существует раздел _vimrc, который имеет следующие элементы. Это приводит к тому, что многие управляющие символы действуют так же, как в Windows.
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
Я прокомментировал (с "
) линии mswin и строку set nocompatible
. Оттуда я добавил set compatible
. Это приводит к тому, что gvim действует так же, как на linux. Таким образом, мой выглядит примерно так:
set compatible
source $VIMRUNTIME/vimrc_example.vim
"set nocompatible
"source $VIMRUNTIME/mswin.vim
"behave mswin
Я только что узнал этот трюк сегодня, поэтому, если я не полностью прав в своей информации, пожалуйста, дайте мне знать.
Я модифицировал решение TMealy, так что Ctrl A все еще выбирает все (я считаю это полезным), в то время как Ctrl I увеличивается (также полезно).
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
Аналогичная проблема возникает при использовании GNU/Linux при использовании Vim с mswin.vim
.
Повторное нажатие Alt + X до Ctrl + A до вызова mswin.vim
решило мою проблему.
execute "set <A-x>=\ex"
noremap <A-x> <C-A>
source $VIMRUNTIME/mswin.vim
behave mswin
Теперь Alt + X и Ctrl + X соответственно увеличивают и уменьшают числа в Vim.
Сопоставление с комбинациями клавиш Alt часто не проявляется в Vim; подробнее об этом .
Я использую терминал cygwin terminal +, поэтому < c-a > захватывается терминальным мультиплексором. Я использовал это отображение:
: noremap < c-i > < c-a >