vimでカーソルの動作を変更できますか?


11

私は数年間、セカンダリエディタとしてvimを使用していますが、さまざまな理由により、プライマリエディタが使用可能な場合でも、vimをますます使用しています。について私をいつも悩ませてきた1つの問題はvim、私がそれをより多く使用することを妨げていますが、カーソルの配置の処理方法です。カーソルは、1984年以降に作成されたエディタの場合のように、文字ではなく、文字上にのみ置くことができます。

これが問題である理由の1つの例として、行の最後の単語を削除する場合は、を押して行の最後$に移動し、次にdb逆方向に削除します。これは、葉、削除する文字を、ので、$しませんでした、本当に行の終わりに行く、それは行っ行の最後の文字に、そしてdb何だっただけ削除する前に現在の文字。問題は、追加の文字を入力する必要があるということではなく、単純なはずのことを行うために必要な追加の思考であり、実際に達成しようとしていることから注意をそらしてしまいます。

より現代的なアイデアのカーソル配置はあらゆる点で優れているように思えますが、vimそのアプローチを使用するように切り替えたいと思います。一部のハードコアvimファンは私の見解に異議を唱えると確信していますが、vimの優位性に関する標準的な議論の1つは、その無限の設定可能性です。

  • この場合配信できますか?
  • キャラクターのvimにカーソルを置くようにできますか?

2
Insertモードを探している、またはモードのポイントが不足しているようにnormal聞こえます。私はやるだろう$dawか、$bdw通常モードで行の最後の単語を削除します。でInsertモード私はするだろうA<Ctrl-w>
jw013

3
ちなみに、地獄の「文字の間」というアイデアそのものに怯えている人として、現在の行の最後の単語を削除するための正しいキーシーケンスは$bD
Alan Curry

1
マウスを使用することは理想的ではありませんが、停止し、やりたいことを行う方法を考えなければならない場合は、かなり非効率になります。大切な本物はあちこちにあるのではなく、集中すること。フォーカスを失うと、数秒以上も失うことになります。
iconoclast 2012

2
これまでのコメントから、質問に対する答えは「いいえ、このカーソル移動のモデルはvimのデザインに完全に組み込まれており、変更することはできません」と思われます。あれは正しいですか?
iconoclast 2012

2
@iconoclastそれも私の結論です。私の知る限り、viまたはvimでは行のすべての文字を均一に処理することは不可能です。最初または最後の文字には常に例外があります。
Gilles「SO-邪悪なことをやめ

回答:


5

あなたはできる:set virtualedit+=onemoreあなただけの最後の文字を過ぎて行くことを可能にします、。残念ながら$、最後の文字に移動します。カーソルを合わせて通過する必要があります。一方、を使用できますg$。これは通常、折り返される行の画面行の最後の文字に移動します。onemoreモードでは、折り返されていない行の最後の文字(または折り返された行の最後の画面行)の直後も通過します。

:h 'virtualedit' このオプションはスクリプトをめちゃくちゃにする可能性があると言いますが、実際にどれほどのリスクがあるかはわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.