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サーバーから隔離されています。
+
またはから*
登録する方が簡単ではありませんか?