虽然 Ctrl X 在Windows下的vim中正常工作, Ctrl A 选择全部(duh)。< / p>
有没有办法在Windows下按键增加一个数字?
答案 0 :(得分:8)
您可以通过打开vim目录中的'mswin.vim'文件并找到如下所示的部分,使 Ctrl A 在Windows中递增:
" 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 按键会增加。
当你的键盘没有真实的数字键盘时,这是一个非常好的选择。
答案 1 :(得分:5)
我意识到这是一个老问题,但我今天根据以下问题遇到了另一个选项。使gvim像在linux上一样,将允许CTRL-A按预期工作:
how to make gvim on windows behave exacly like 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
我今天刚刚学会了这个技巧,所以如果我的信息不完全正确,请告诉我。
答案 2 :(得分:4)
尝试Ctrl-NumPad +?
答案 3 :(得分:3)
我修改了TMealy的解决方案,以便 Ctrl A 仍然选择所有(我觉得这很有用),而 Ctrl 我增量(也很有用)。
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
答案 4 :(得分:2)
在将Vim与mswin.vim
一起使用时,GNU / Linux下会出现类似的问题。
在唤起mswin.vim
之前,重新映射 Alt + X 到 Ctrl + A 解决了我的问题。
execute "set <A-x>=\ex"
noremap <A-x> <C-A>
source $VIMRUNTIME/mswin.vim
behave mswin
现在, Alt + X 和 Ctrl + X 分别在Vim中增加和减少数字。
映射到 Alt 键组合在Vim中通常不明显;详细了解此here。
答案 5 :(得分:0)
我正在使用cygwin终端+屏幕,所以&lt; c-a&gt;由终端多路复用器捕获。我使用了这个映射:
:noremap&lt; c-i&gt; c为C-A&GT;
答案 6 :(得分:0)
似乎 Ctrl A 已在启动时的某处映射。 如前所述,使用:
取消映射&lt; c-x&gt;
我会使用unmap,而不是nunmap。