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\username
にはvim構成ファイルが含まれていません。また、C:\Documents and Settings\username\My Documents
。その他C:\Documents and Settings\username
アプリケーション固有またはローカル設定が一般的に保存されている場所にも、vim設定がないように見えます。同じことが%HOMEDRIVE%と環境変数にも当てはまります。
キーボードのみを使用してWin32のGVimで列ブロックを視覚的に選択する1つの方法は、を押すことです。 Ctrl-Q、離してから、を押し続けます Shift 矢印キーを使用して列ブロックを選択しながらキーを押します。
なぜ Ctrl-Q 列の選択がこのように動作するかどうかは不明ですが、キーボードのみを使用して列ブロックを選択することが目的であったため、実際には問題ではありません。 Vimでは、 Shift 使用時に使用されません Ctrl-V ブロックを選択します。
:help mswin
このニュアンスについては触れていません CTRL-V 代替。
最善の方法は、vimrcからこれらの行を削除することです。それらは完全に不必要であり、あまりにも多くの基本的なVim機能を変更します。
Mswin.vimのnoremap <C-Q> <C-V>
は、元のコマンドをに再マップします Ctrl + Q。
Mswin.vimが含まれている場合は、を押した後 Ctrl + Q、示されたモードはビジュアルブロック、および任意の動き(例: j、 l、 w)視覚的な選択を拡張します。それがうまくいかない場合は、何かが邪魔をしている可能性があります。
それらの移動コマンド自体が再マップされていますか、それともautocmd
にCursorMoved
がありますか?!プラグイン(vim --noplugin
)と.vimrc
のほとんどの部分を無効にしてみてください。
カーソルキーは通常適切な動きを構成しないことに注意してください(そしてVimでのそれらの使用は嫌われています)。
(シフトされたカーソルキーを使用して)選択を拡張する正しい(そして唯一の)方法としてあなたが知覚するのは、:set selectmode=key
によって行われるように:behave mswin
の結果です。