入力中にカーソルを移動するには?
Q. 入力中にカーソルを移動したくなったらどうするの?
A. したいと思ったことがない。移動しようと思った時には、既にノーマルモードにいる。
ので、私には入力中のカーソル移動は必要ないのですが、
しかし、その人にはその人なりの使いやすい状態というのがあるので、
何かしら移動手段を考えてみました。
カーソルキーを押しやすいキーボードを使う
矢印マークのキーが遠くて、押すには指をホームポジションから移動しなくてはいけなくて、、
それでどうしたら良いか、ってことが問題なんじゃないだろか?
であれば、キーボードを変えればいいのですよ。
良いキーボードあります。Happy Hacking Keyboardどうでしょう?
このキーボードなら、小指でカーソルキーを操作できるから、
ホームポジションから指を動かさなくても済みます。
http://www.pfu.fujitsu.com/hhkeyboard/leaflet/hairetu.html
移動用のマッピングを定義してしまう
キーボードを変えるのは嫌だっていう我が儘な(?)人向け。
カーソルを移動するためのマッピングを設定する。
例えば、このように定義する。
これでControlキーとhjklで、入力中でも移動できる。
:imap <c-h> <Left> :imap <c-j> <Down> :imap <c-k> <Up> :imap <c-l> <Right>
ただ実際には、Control-hにマッピングすると困ることが多いだろうから、
キーは別のにした方が良いでしょう。Altキーとか。
カーソルキーを使わない方法を考える
ノーマルモードでカーソル移動するよりも、
カーソルキーで移動する方が楽になるであろうシチュエーションを想定して、
いくつか方法を考えてみた。
入力ミスしない
入力ミスした時に、それを修正するためのカーソル移動。
そもそも、ミスしなければ問題ない。
細かい入力、移動の繰り返しにはマクロを使う
入力、ちょっと移動、入力、ちょっと移動、
という操作を行う場合は、マクロを使うと楽になる。
ただし、規則性がある場合のみ、利用可能。
いったん消してしまってから、まるごと再入力する
例えば、「train」と入力するはずが、「trein」と入力してしまった。
The train ↓ The trein
そういう時に、まず、「ein」か、あるいは「trein」全部消してしまう。
カーソル前の文字を消す場合は、Control-wとか、Control-hを使います。
The
しかるのちに、修正したテキストを入力する。
The train is leaving soon.