今日、とあるファイルをVimを使って編集しようとしたら、なぜかテキストフォーマットが効かない。
XMLだったのだけれど、色がついたりいつもなら自動的にするはずなのに。
いつもと使っているPCが違ったので、なんかVIMRCとかがおかしいんだろうとか、そんな風に思って、
いつもの設定にファイルを上書きしたりして、戻した。
んー、でも治らない。なんでだ。
Vimはここから落としてきたもの。
http://www.kaoriya.net/
んで、仕方なくいつも使っている環境と見比べながらいろいろ試した。
バージョンが違うのか、VIMRC,GVIMRCの場所や名前がおかしいのかなど調べたけどよくわからず。
新しい環境は、Windows 7で、僕はVimのファイルをProgram Files下に全部コピーしていた。
なんとなくそれがだめなのかなと思って、すべてC:\直下に移動。
するとうまくいった。
あら、どういうことだ。でもなんかおかしい。
で、今度は、Program Files下だけれど名前を変えてみた。そしたらうまくいった・・・。
結局行き着いた先はVimを入れているフォルダの名前を1文字変えるだけ。それだけでうまくいく。
C:\Program Files\Vim72
を
C:\Program Files\Vim7
にするだけでいい。というかこうじゃなくてもVim72じゃなければいいみたい。
ということで
C:\Program Files\Vim
とした。そういえば前の環境もこの名前にしていた。
でも、これだけで状況がこんなに違ってしまうってどういうことだ?
Vim本体がC:\Program Files\Vim72という名前に対してセンシティブなのはなんでだ。
ちなみに環境変数なんかも見てみたけど、とくにこれらの値はなかった。ほかに考えられるのはなんだろうか。
誰か知ってたら教えてください。
My Daily Programming Life...
Showing posts with label Vim. Show all posts
Showing posts with label Vim. Show all posts
ViEmuでCtrl+CやCtrl+Vを有効にする
Visual StudioでViと同様のキー操作を可能にするためのツールにViEmuがある。これを使うとほとんどViと同様の操作でテキスト編集ができるため、Viを普段使っている人にはとっても便利。
ただし、デフォルトだとCtrl+CやCtrl+VはViのキーバインドではなく、標準のコピー、ペーストになっている。
Ctrl+Cやコマンドキャンセル、Ctrl+Vはブロック選択なので、使いたい人は使いたいだろう。
実は、これらを有効に(つまりViと同様のキーに)するのは簡単。
Visual Studioのメニュー
「ツール」→「オプション」と選択し、ダイアログで
「ViEmu - General」のタブを開く。「Keyboard...」を選択し以下の画面へ。

重要なのは右下の「Key scanned, with Ctrl...」とあるテキストボックス。
ViEmuはここにある文字とCtrlの組み合わせが、VisualStudioとViとぶつかるかどうかをスキャンする。
たとえば、このテキストボックスに「C」とある場合、ViEmuは「Ctrl+C」がVisualStudioとViとで衝突が起きるかどうかを検出する。逆にこのテキストボックスに「C」がなければViEmuはそれについては何もしない。つまりVisual Studio標準のままにする。
デフォルトでは、このテキストボックス内にはVとCは含まれない。つまり、そのまま放置しているということだ。
というわけで、この中にCとVの文字を上の画像のように入れる。そして「Apply」キーを押す。
ただし、これだけではViEmuはまだこのキーバインドを入れ替えない。
このダイアログボックスの右上のリストには、衝突が検出されたもののリストがある。
これを置き換えたい(つまり、Viのキーバインドにしたい)場合には、その下にある「Save and Remove」を押す。
これで、完了。
このダイアログのなかのリストとボタンの関係は、若干直観的ではない。理解するまでにちょっと時間がかいかる。
とりあえず、Ctrl+VやCtrl+Cを有効に(Viと同じに)したければ上のことだけやればよい
ただし、デフォルトだとCtrl+CやCtrl+VはViのキーバインドではなく、標準のコピー、ペーストになっている。
Ctrl+Cやコマンドキャンセル、Ctrl+Vはブロック選択なので、使いたい人は使いたいだろう。
実は、これらを有効に(つまりViと同様のキーに)するのは簡単。
Visual Studioのメニュー
「ツール」→「オプション」と選択し、ダイアログで
「ViEmu - General」のタブを開く。「Keyboard...」を選択し以下の画面へ。

重要なのは右下の「Key scanned, with Ctrl...」とあるテキストボックス。
ViEmuはここにある文字とCtrlの組み合わせが、VisualStudioとViとぶつかるかどうかをスキャンする。
たとえば、このテキストボックスに「C」とある場合、ViEmuは「Ctrl+C」がVisualStudioとViとで衝突が起きるかどうかを検出する。逆にこのテキストボックスに「C」がなければViEmuはそれについては何もしない。つまりVisual Studio標準のままにする。
デフォルトでは、このテキストボックス内にはVとCは含まれない。つまり、そのまま放置しているということだ。
というわけで、この中にCとVの文字を上の画像のように入れる。そして「Apply」キーを押す。
ただし、これだけではViEmuはまだこのキーバインドを入れ替えない。
このダイアログボックスの右上のリストには、衝突が検出されたもののリストがある。
これを置き換えたい(つまり、Viのキーバインドにしたい)場合には、その下にある「Save and Remove」を押す。
これで、完了。
このダイアログのなかのリストとボタンの関係は、若干直観的ではない。理解するまでにちょっと時間がかいかる。
とりあえず、Ctrl+VやCtrl+Cを有効に(Viと同じに)したければ上のことだけやればよい
