【发布时间】:2008-09-15 21:00:30
【问题描述】:
虽然 CtrlX 在 windows 下的 vim 中可以正常工作,但 CtrlA 会选择所有 (duh)。
有没有办法在windows下通过按键来增加一个数字?
【问题讨论】:
-
如果你不想要全选行为,我想你可以通过
:nunmap <C-A>回到默认的增量行为。
标签: vim
虽然 CtrlX 在 windows 下的 vim 中可以正常工作,但 CtrlA 会选择所有 (duh)。
有没有办法在windows下通过按键来增加一个数字?
【问题讨论】:
:nunmap <C-A> 回到默认的增量行为。
标签: vim
您可以通过打开 vim 目录中的 'mswin.vim' 文件并找到如下所示的部分来使 CtrlA 在 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
CtrlA 按键将递增。
当您的键盘没有实数键盘时,这是一个不错的选择。
【讨论】:
试试 Ctrl-NumPad + ?
【讨论】:
:noremap <C-A> <C-A>
我意识到这是一个老问题,但我今天根据以下问题遇到了另一个选项。让 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
我今天刚学会这个技巧,所以如果我的信息不完全正确,请告诉我。
【讨论】:
我修改了 TMealy 的解决方案,使得 CtrlA 仍然选择所有(我觉得这很有用),而 CtrlI kbd> 增量(也很有用)。
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
【讨论】:
我使用的是cygwin终端+屏幕,所以
:noremap
【讨论】:
似乎 CtrlA 在启动时被映射到某个地方。
如前所述,使用:
取消映射
我会使用 unmap,而不是 nunmap。
【讨论】: