20

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

C:\Program Files\Vim\vim72\mswin.vim存在し、含まれています:

" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q>       <C-V>

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\usernamevim設定ファイルも含まれていませんC:\Documents and Settings\username\My Documents。アプリケーション固有またはローカル設定が一般的に保存されている他のC:\Documents and Settings\username場所にも、vim設定がないように見えます。同じことが%HOMEDRIVE%と環境変数にも当てはまります。

4

3 に答える 3

20

キーボードのみを使用してWin32のGVimで列ブロックを視覚的に選択する1つの方法は、キーボードを押しCtrl-Qて放しShift、矢印キーを使用して列ブロックを選択するときにキーを押したままにすることです。

柱状選択がこのように動作する理由Ctrl-Qは不明ですが、キーボードのみを使用して柱ブロックを選択することが目的であったため、実際には問題ではありません。Vimでは、を使用してブロックを選択するShift場合は使用されません。Ctrl-V

:help mswinCTRL-V代替案のこのニュアンスについては言及していません。

于 2013-01-04T20:06:49.417 に答える
3

最善の方法は、vimrcからこれらの行を削除することです。それらは完全に不必要であり、あまりにも多くの基本的なVim機能を変更します。

于 2013-01-04T20:23:24.773 に答える
0

noremap <C-Q> <C-V>in mswin.vimは、元のコマンドを+Ctrlに再マップしQます。

mswin.vimが含まれている場合は、Ctrl+を押した後、指定されたモードがビジュアルブロックQに切り替わり、移動(、、、など)によってビジュアル選択が拡張されます。それがうまくいかない場合は、何かが邪魔をしている可能性があります。jlw

それらの移動コマンド自体が再マップされていますか、それともautocmdオンになっていCursorMovedますか?!プラグイン(vim --noplugin)とのほとんどの部分を無効にしてみてください.vimrc

カーソルキーは通常適切な動きを構成しないことに注意してください(そしてVimでのそれらの使用は嫌われています)。

(シフトされたカーソルキーを使用して)選択範囲を拡張する正しい(そして唯一の)方法としてあなたが知覚することは:set selectmode=key、によって行われるように、単なる結果です:behave mswin

于 2013-01-05T11:37:03.993 に答える