vimを使用して複数のファイルをコピーして貼り付けますか?

vimを使用して複数のファイルをコピーして貼り付けますか?

Vimはほとんどの状況で見やすく、一部のカテゴリでは他のエディタよりも優れています。しかし、コピーして貼り付けるのはどうですか? (私の考えでは、MS DOSのEDIT.COMもこのカテゴリではvimより優れているようです。)

シナリオ1:私は多くのディレクトリを持つソフトウェアプロジェクトを持っており、あるファイルから別のファイルに機能を移動したいと思います。最も効果的な方法は何ですか?

シナリオ 2: インデントを有効にします。複数行のコピーと貼り付けと競合しているようです。インターネットでこの過程でインデントを消そうと提案する人々を見た記憶があります。同時に奇妙なマクロも見ました。効果的な解決策はありますか?

答え1

  1. プラグインディレクトリは使用している場合は敵ではありませんNERDTree。それ以外の場合は、タブまたはペインで複数のファイルを開くことができます。

  2. コピーされたテキストはvim yankin(=copy)を介してクリップボードから貼り付けることができ、"+p貼り付けは完全に機能します。複数行だけでなくブロックスタイルも可能です。 M $ DOS Editがこれを実行できるかどうかはわかりません。


ファイル間のテキストのコピーや移動に不器用なテキストエディタが20年以上の荒野で生き残ることができたかどうかわかりません。

答え2

:open最初のファイル、プル、:open2番目のファイル、貼り付け。欲しいかもしれませんNERDTreeなどのプラグインの使用2番目のファイルをすばやく見つけます。

2つの異なるVimインスタンス間でコピーして貼り付けるには、最初のファイルをコピーして:wvwriteを呼び出します。vim情報ファイル;他のファイルから呼び出して:rvviminfoファイルを読み、貼り付けます。

Vimでコピー - 貼り付けるには、インデントは重要ではありません。これは、Xクリップボードのデータをテキスト端末に貼り付ける場合にのみ重要です。 Vimは、これがユーザーが入力したものではなく、貼り付けたテキストであるかどうかを知る方法がないためです。 Xクリップボードの複数行をテキスト端末に貼り付けるときは、まず:set pasteすべての自動テキスト処理(インデント、略語、改行...)をオフにします。

X または X 端末で Vim を実行し、Vim がサポートしている場合は、X クリップボードからデータをコピーして貼り付けることができます。*X11選択したレジスタと+Xクリップボードレジスタをドラッグして貼り付けます。たとえば、"*42yy最初のファイルと"*p2番目のファイルにあります。

関連情報