繁体   English   中英

如何在 windows 下增加 vim (CTRL-A 不起作用……)

[英]How to increment in vim under windows (where CTRL-A does not work…)

虽然Ctrl X在 windows 下的 vim 中工作正常,但Ctrl A选择全部(duh)。

有没有办法通过 windows 下的击键来增加数字?

您可以通过打开 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击键将增加。

当您的键盘没有实数键盘时,这是一个不错的选择。

我意识到这是一个老问题,但我今天根据以下问题遇到了另一个选择。 让 gvim 像在 linux 上一样工作,将允许 CTRL-A 像您期望的那样工作:

如何使 windows 上的 gvim 的行为与 linux 控制台 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

我今天刚学会这个技巧,所以如果我的信息不完全正确,请告诉我。

试试 Ctrl-NumPad +?

从这里

我修改了 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时会出现类似的问题。 mswin.vim之前将Alt + X重新映射为Ctrl + A解决了我的问题。

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

现在, Alt + XCtrl + X分别增加和减少 Vim 中的数字。

在 Vim 中映射到Alt组合键通常不明显; 在此处阅读有关此内容的更多信息。

我正在使用 cygwin 终端 + 屏幕,所以 <ca> 被终端多路复用器捕获。 我使用了这个映射:

:noremap <ci> <ca>

似乎Ctrl A在启动时被映射到某个地方。 如前所述,使用:

取消映射 <cx>

我会使用 unmap,而不是 nunmap。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM