Vimは素晴らしいですが、多くの人と同じように、コピー、削除、貼り付けを行うと、本当にイライラします。ヤンクバッファは削除アクションによって上書きされます。
これで、101の回避策とマッピングがあり、そのうちのいくつかは次のような投稿に列挙されていることがわかりました。最後のヤンクを上書きせずにvimで削除する方法はありますか?
しかし、これらのソリューションにはすべて欠点があります。私でさえ、バッファーの第一人者でした(私はそうではありません)。たとえば、過剰なキーストローク-私は通常xxxxで4文字をすばやく削除しますが(キーストロークを1回押したままにして自動リピートを待つだけです)、x、x、x、x、またはマッピングが何であれ、別のバッファーを使用する必要があります。
本当に理想的なのは、単にモードの切り替えです。これにより、D、d、X、およびxキーの副作用の動作のオンとオフを切り替えて、テキストをバッファーに交互に書き込むかどうかを切り替えることができます。そうすれば、「副作用なし」モードに入り、心ゆくまで削除して、準備ができたら貼り付けることができます。また、必要に応じて副作用を再度有効にします。
誰かがこれを行う方法を知っていますか?
[更新:解決策]わかりました:「副作用なし」モードを切り替える関数を作成しました...完全に機能します!以下の私の受け入れられた正解を参照してください
[更新#2]私のソリューションはまだうまく機能しており、多くの削除と貼り付けを行うときに常に使用しています。しかし、その間に、削除するテキストが連続している単純なケースのコピー、貼り付け、削除の特定のユースケースを満たすためのより軽い方法も見つけました。
通常どおりテキストをヤンクした後、vコマンドを使用して削除するテキストを視覚的に強調表示し、pコマンドを使用してテキストを貼り付けるだけです。これにより、特別なマッピングなしで目的の効果が得られます。
このワークフローの唯一の問題は、もう一度貼り付けたい場合、元の貼り付けバッファが強調表示されたテキストを貼り付ける動作によって上書きされることですが、この動作は.vimrcの次のマッピングで簡単に変更できます。
vnoremap p "_dp
vnoremap P "_dP