ツテなしフリーランス日誌

ツテが全く無いまま会社を辞め、我が道を行くフリーランスエンジニアのブログです



Vimでクリップボードにコピー&ペースト

Vimでファイルを編集している時のコピー方法としては、
vまたはVで選択範囲して、yでコピー。

ペーストはpです。

しかし、GUIで他の場所からマウスで選択して、クリップボードにコピーし、 vimにペーストをした時にペースト出来ないことがあります。
  

確実にVimの内容をクリップボードにコピーし、 またクリップボードの内容を確実にVimにペーストする方法を書きます。

Vimのテキストをクリップボードにコピー

選択範囲をクリップボードにコピー

  1. vもしくはVを使用し、コピーする範囲を選択します。
  2. 選択した状態で、:w !pbcopyと入力しEnterを押して下さい。
      

これでクリップボードにコピーされました。

ファイル全体をクリップボードにコピー

  1. :%w !pbcopyと入力し、Enterを押して下さい。
      

これでファイル全体がクリップボードにコピーされました。

  

Vimクリップボードの内容をペーストする

  1. カーソルを使い、他のエディタもしくはWebなどから普通にコピーします。
  2. Vimで対象のファイルを開きます。
  3. ペーストしたいところまでいき、:r !pbpasteと入力します。

もしくは

  1. vVを入力し、ビジュアルモードにします。
  2. :!pbpasteを入力し、Enterを押して下さい。
      

他のサイトにも色々なやり方が書いてありますが、vimでヤンクして、他でクリップボードにコピーしてなどを繰り返しているとコピペが出来ないことがありました。
  

今回紹介した方法はいつでもコピペができるので、困ったときは試してみてください。

追記

もう一つのコピー&ペーストの方法があります。

  1. GUIで他の場所からマウスで選択して、クリップボードにコピー
  2. Vim上で :a! を入力し、enter
  3. Vim上で、command + c(Macの場合)
  4. ペースト内容が表示されるので、キーボードのescを押し、テキストを反映

こちらのやり方のほうが、単純かつ簡単でよいかもしれません。 最近はこちらの方法でコピペを私はしています。