カーソルキーさん@つかわない インサートモード編
この記事はVim Advent Calendar 2012 104日目の記事になります。
103日目は@ujihisaさんのunite-buildでした。
Vimッ! 使わずにはいられないッ!
カーソルキーでエディット?
貧弱貧弱ゥ!!
はい、すいません。
というわけで
以前、書いた記事にも似たようなことをチラッと書きましたが、改めてきちんと書きなおしてみます。
Vimmerであればノーマルモードにおいて、息をするよりも簡単にhjkl移動をすることだと思います
しかし、インサートモードではどうでしょう?
案外カーソルキーに手を伸ばしがちですね。
私もVimを使い始めたばかりの頃はそうでした。
そもそも、インサートモードにおいてカーソルキーを連打ってしまうくらいの移動ならば
<ESC>してノーマルモードで移動すべきだと思います。
Vimは音ゲーでは無いので連打なんてするべきではないのです。
標準では以下のように与えられています。
下の行へ
<C-G><C-J>
<C-G>j
上の行へ
<C-G><C-K>
<C-G>k
これでは物足りませんね(゜.゜)
そこで、この上記に加えるといいであろう設定を列挙します。
<C-A> - 行頭
<C-E> - 行末
<C-F> - 右
<C-B> - 左
私がこの設定にしている理由はMacを常用しているからです。
Macだと結構な割合でemacs移動バインドがテキストボックス内で使えるので案外役に立つのではないでしょうか。
あと、emacsも最低限の動作は覚えておきませんと。
emacsっぽいとかイヤっていう人は
私は使っていませんが,こちらの設定をおすすめします
<C-K> - 上
<C-J> - 下
<C-H> - 右
<C-L> - 左
これならコントロールキーを押すだけなので(マップ程度で考える必要はないでしょうが)学習コストは無に等しいですね
さて、普通のVimmerならカーソルキーを設定したら
ReturnとかBackSpaceも遠いんじゃないかと思い始めるものです
というか<ESC>も遠いですよね?
<ESC>キーには標準で<C-[>が割り振られています。
これを使うといいはずです。
余談ですが、入力中のコマンド表示を設定するshowcmdオプションを有効にしておくと
私の環境では<ESC>を押すと右下には^[が表示されるのでもしかすると<ESC>が^[のマップなのかなあ、なんて思ったりしてます。
言っておいてアレですが、私は未だに<ESC>から移行できていません・・・(○ω○`)
Returnキーもまた標準で<C-M>と<C-J>に割り当てられています。
Emacsは<C-M>が標準のようだったので<C-M>を使うようにしてます。
こんな感じで挿入モードもどんどんカスタマイズして行きましょう
103日目は@ujihisaさんのunite-buildでした。
Vimッ! 使わずにはいられないッ!
カーソルキーでエディット?
貧弱貧弱ゥ!!
はい、すいません。
というわけで
以前、書いた記事にも似たようなことをチラッと書きましたが、改めてきちんと書きなおしてみます。
Vimmerであればノーマルモードにおいて、息をするよりも簡単にhjkl移動をすることだと思います
しかし、インサートモードではどうでしょう?
案外カーソルキーに手を伸ばしがちですね。
私もVimを使い始めたばかりの頃はそうでした。
そもそも、インサートモードにおいてカーソルキーを連打ってしまうくらいの移動ならば
<ESC>してノーマルモードで移動すべきだと思います。
Vimは音ゲーでは無いので連打なんてするべきではないのです。
標準では以下のように与えられています。
下の行へ
<C-G><C-J>
<C-G>j
上の行へ
<C-G><C-K>
<C-G>k
これでは物足りませんね(゜.゜)
そこで、この上記に加えるといいであろう設定を列挙します。
<C-A> - 行頭
<C-E> - 行末
<C-F> - 右
<C-B> - 左
noremap! <C-A> <Home> noremap! <C-E> <End> noremap! <C-F> <Right> noremap! <C-B> <Left> noremap! <C-D> <Del>emacsライクに設定しています
私がこの設定にしている理由はMacを常用しているからです。
Macだと結構な割合でemacs移動バインドがテキストボックス内で使えるので案外役に立つのではないでしょうか。
あと、emacsも最低限の動作は覚えておきませんと。
emacsっぽいとかイヤっていう人は
私は使っていませんが,こちらの設定をおすすめします
<C-K> - 上
<C-J> - 下
<C-H> - 右
<C-L> - 左
これならコントロールキーを押すだけなので(マップ程度で考える必要はないでしょうが)学習コストは無に等しいですね
さて、普通のVimmerならカーソルキーを設定したら
ReturnとかBackSpaceも遠いんじゃないかと思い始めるものです
というか<ESC>も遠いですよね?
<ESC>キーには標準で<C-[>が割り振られています。
これを使うといいはずです。
余談ですが、入力中のコマンド表示を設定するshowcmdオプションを有効にしておくと
私の環境では<ESC>を押すと右下には^[が表示されるのでもしかすると<ESC>が^[のマップなのかなあ、なんて思ったりしてます。
言っておいてアレですが、私は未だに<ESC>から移行できていません・・・(○ω○`)
Returnキーもまた標準で<C-M>と<C-J>に割り当てられています。
Emacsは<C-M>が標準のようだったので<C-M>を使うようにしてます。
こんな感じで挿入モードもどんどんカスタマイズして行きましょう
BackSpaceは タブはですね。
返信削除この辺りは制御コードと同様のようです。
http://ash.jp/code/ctrltbl.htm
<>が消えた・・・ BS:C-H TAB:C-I です。
削除ほむほむ、制御コードで決まっていたのですね
削除エスケープも^[となっているようです
ありがとうございます。