KinoWikiにも書いてるけどこっちにも転載しておくます。
vimを使う時に、カーソルの移動をついつい矢印キーでやってしまってこれはどうにかならないかと悩んでて、カーソルキー自体を使えないように封印しようと思いつづけて放置してたんだけど、重い腰をあげてチャレンジしたらできた。

vi はインサートモードから抜けるためのコマンドとしてエスケープキーを使います。矢印キー (カーソルキー) を押せば、エスケープシーケンス (ESC で初まる文字列) がホストに送られます。vi は ESC の 2 つの意味を区別しなければいけません。利口な vi (このために設定された vim などの) は ESC と次のキーの時間間隔によって見分けることができます。もし間隔が短かければカーソルキーが押されたと判断します。さらに詳しいことを知りたければ、 vim で “help cursor-keys'' を使ってください。

と書かれているので、ようするに時間間隔を限界まで短くしてさらに矢印キーのコードをmapで消してやればなんとかなるー!?というわけでこうした。


"map disable cursor key
set ttimeout
set timeout
set ttimeoutlen=0
set timeoutlen=0
map <ESC>OA <ESC>
map <ESC>OB <ESC>
map <ESC>OC <ESC>
map <ESC>OD <ESC>
imap <ESC>OA <ESC>
imap <ESC>OB <ESC>
imap <ESC>OC <ESC>
imap <ESC>OD <ESC>

できたーーーー!!!!もしかしたら不完全かもしれないけれど、矢印キーを使わないようにする特訓の為程度なら別にこれでも満足!

2 thoughts on “vimでカーソルキーを封印

  1. shoma より:

    慣れる方が無難だと思うなぁ。
    ブラウザはw3mをつかう
    メーラはGMailでキーボードショートカット使いまくり
    RSSリーダはLivedoorでキーボードショートカット使いまくり
    とか。

  2. halt より:

    IRCをrieceでできるようになりたいです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください