GVim Win32中仅限键盘的列块选择,或者为什么在包含mswin.vim时Ctrl-Q不能模拟Ctrl-V?

kbu*_*ien 20 windows vi vim windows-xp

我希望能够在Windows上使用GVim时仅使用键盘选择柱状块,但在Windows XP上使用gvim(7.2)时似乎无法这样做. 编辑:为方便起见,最好使用箭头键进行选择,这通常在其他版本的vi/vim中进行.

在终端中,当使用vim来定义块时,可以通过按下Ctrl-V并通过用箭头键方便地移动光标来选择柱状块.

在mswin上使用GVim时,Ctrl-V映射到粘贴操作.在这个主题上找到的每个引用都提到在mswin上,Ctrl-Q它的行为与Ctrl-V在其他平台上运行的方式相同,但这对我不起作用.

经过研究表明Ctrl-Q行为是通过包含mswin.vim实现的,似乎很可能mswin.vim没有被GVim加载.mswin.vim显然是通过_vimrc加载的.似乎mswin.vim可能没有加载,所以也许_vimrc设置不正确,但......

C:\Program Files\Vim\_vimrc 存在包含:

source $VIMRUNTIME/mswin.vim
behave mswin
Run Code Online (Sandbox Code Playgroud)

C:\Program Files\Vim\vim72\mswin.vim 存在并包含:

" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q>       <C-V>
Run Code Online (Sandbox Code Playgroud)

C:\Program Files\Vim\_vimrc应该加载自编辑| GVim图形菜单中的设置窗口加载此文件进行编辑,很明显C:\Program Files\Vim\vim72\mswin.vim正在加载,因为可以在该文件中插入语法错误,GVim会在启动时抱怨它(它被备份用于测试和恢复防止意外腐败).

Ctrl-Q被按下时,光标以同样的方式改变了它,当你阻止用鼠标选择文本的变化,但在这一点上的任何光标的移动使光标变回一个正常的光标.不要紧,一个人是否继续持有Ctrl,Ctrl-Q或不.

编辑:Ctrl-Q进入块选择模式,如光标更改所示,因为其他光标移动命令扩展了块,但是,此问题的原始目的是学习如何使用箭头键(以与它们可以使用相同的方式)在编辑器的其他实现中)虽然在问题的原始的,未答复的修订中没有明确说明.

通过Alt在按住鼠标左键的同时按下可以在视觉上选择柱状块,但是Alt在按下箭头键动作期间Ctrl-Q也不起作用.

研究似乎也表明按v命令模式会进入视觉模式,这或许这是相关的,但使用它似乎并没有帮助这种情况.

C:\Program Files\Vim\vimfiles除了空目录结构之外不包含任何内容. C:\Documents and Settings\username不包含vim配置文件,也不包含C:\Documents and Settings\username\My Documents.C:\Documents and Settings\username通常存储应用程序特定或本地设置的其他位置也似乎没有vim设置.%HOMEDRIVE%和环境变量也是如此.

kbu*_*ien 19

在Win32上仅使用键盘在GVim中可视地选择列块的一种方法是按下Ctrl-Q,释放它,然后按住Shift键同时使用箭头键选择列块.

为什么Ctrl-Q柱状选择的行为方式尚不清楚,但它并不重要,因为目标是仅使用键盘选择列块.在Vim中,Shift在使用Ctrl-V选择块时不使用.

:help mswin没有提到CTRL-V替代品的这种细微差别.