Vim 'paste'オプションを設定し、テキストを挿入して、前の値に戻す簡単な方法が必要です'paste'。
典型的なユースケースでは、自動インデントなどのアクティブな挿入モードの書き換えに関係なく、Vimの状態を変更せずに、OSクリップボードのコンテンツを文字通り挿入します。別のユースケースは、OSマクロ機能がキーストロークをVimに挿入し、リテラルテキストとして解釈できるようにすることです。
これは明らかに他のオプションに一般化されます-一般的な考え方は、いくつかのオプションを設定することですが、挿入モードを1回実行する間のみです。
基本的に_i、これを行うマクロにキーシーケンス(たとえば)をバインドしたい
:set paste
i…<Esc>
:set nopaste
ここi…<Esc>で、iコマンドと同様に挿入モードに切り替えて、コマンドモードに戻ったときにマクロを再開しますが、'paste'事前にアクティブだった場合はまだアクティブになります。これどうやってするの?
注:OSクリップボードのコンテンツは"*registerにマップされます。それが機能する場合、この'paste'オプションはあまり役に立ちません。この質問の動機付けのシナリオは、"*レジスタサポートの条件が満たされていない場合です。Vimは+xterm_clipboard機能でコンパイルされていないか、Screenなどの端末で実行されているか、SSHを介してアンビエントXサーバーから隔離されています。
+またはから*登録する方が簡単ではありませんか?