web-dev-qa-db-ja.com

クリップボードの内容をviで永続化する

vi内のファイルから別のファイルにテキストをコピーする場合は、テキストを強調表示する必要があります。 Control-Shift-C それ、最初のファイルを終了し、2番目のファイルを開いてから、 Control-Shift-V。これを行うには、もっと簡単な方法、つまりキーボードコマンドのみが必要だと感じています。助言がありますか?

4
Chris Bunch

ファイルの編集中に、:e filenameを使用して別のファイルを開き、:rewを使用して次のように元のファイルに戻すことができます。

  1. 元のファイルを開くvi foo
  2. ヤンクテキスト例: yy(行をヤンク)
  3. 2番目のファイルを開いて編集しますESC :e bar
  4. テキストをpに入れます(次に:wを保存します)
  5. 最初のファイルに戻るESC :rew
6
jjclarkson

vimはXクリップボードをサポートしてセットアップできます。 --with-x = yesを渡して、ディストリビューションがvimをXサポートにバンドルしていないかどうかを構成します。デフォルトでは、Xクリップボードは*バッファーとして使用でき、Xカットボード(選択)は "バッファーとして使用できるため、領域を選択して"+yと入力すると、選択がXカットボードにヤンクされ、"*yはXクリップボードにヤンクします。同様に、"*pはXクリップボードから貼り付け、"+pはX選択から貼り付けます。

set clipboard=unnamedを実行すると、vimのデフォルト(匿名)バッファーをXクリップボードに設定できます。次に、Xクリップボードから直接ypを実行できます。

2
process

承知しました:

  1. ファイルを開きます:vi foo
  2. ファイルで、2番目を開きます。 ESC :open bar
  3. 最初に戻る: ESC :prev
  4. ファイルの内容をコピーするには: ESC :1,$ y
  5. 次のファイルに移動するには: ESC :n
  6. 貼り付けます: ESC p

たぶんもっと短い方法がありますか?

1
Luc Stepniewski