簡體   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