Vimでクリップボードからのペーストを可能にする

外からコピーしてきた文字列をvimで貼り付けたいことってありますよね。
例えば、関数の使い方がわからないのでググってみて、使い方をコピーしてきてvim内でペーストするとか。

しかし、初期状態のvimではvimの外てコピーしてきた文字列をペーストすることができません
でも大丈夫。ちょこっと設定を書き加えるだけてペーストできるようになります

今回はvimの外でコピーしてきた文字列をvimで編集中の文書にペーストする設定について解説して行きます。

クリップボードからのペーストを可能にする方法を書きとめていきます。

コピーした文字列はどこに保存されているのか

そもそもPCで文字列や書類なんかをコピーすると、その文字列は保存される訳ですが、、、どこに保存されるのか?

その正体は「クリップボード」。
クリップボードは一時的にデータを保存できる共有メモリで、
そこにアクセスすることで色々なアプリから保存された文字列を参照できる訳です。

しかし、何も設定していない状態のvimはクリップボードにアクセスできないのです。

vimがクリップボードに対応しているか確認

まずはVimでクリップボードが使えるかどうかを確認しましょう。
端末から下記コマンドを実行します。

$ vim --version | grep clipboard

vimでのクリップボード使用可否確認

+clipboardと表示されている部分に注目です。
+clipboardとなっていればクリップボードが使用可能であることを意味しています。
もし-clipboardと表示されているのであれば、そのvimはクリップボードに対応していないため、
クリップボード対応のvimを入れ直す必要があります。

ちなみに、UbuntuにデフォルトでインストールされているvimはVim-tinyというもので、
最小構成でビルドされているためクリップボードを使うことができません

クリップボードを使えないVimをお使いの皆さんはapt-getで新しいVimを取ってきましょう.

apt-getでインストールすることのできるVimには以下のような種類があります.

  • vim-tiny(デフォルトでインストールされている)
  • vim
  • vim-gtk ◎
  • vim-athena ◎
  • vim-gnome ◎
  • vim-nox

このうちクリップボードを利用できるものは◎の付いている3種類(vim-gtk, vim-athena, vim-gnome)になります。
この中から好きなものをapt-getしましょう。

apt-getがの後、念の為もう一度クリップボード対応のものかどうか確認してみて、 +clipboard と表示されていればOKです。
ちなみに私はvim-gnomeを使っています。

apt-getがわからないという方は端末を起動して下記コマンドを実行してみましょう。このコマンドでvim-gnomeをインストールすることができます。

$ sudo apt-get install vim-gnome

設定ファイル.vimrcの編集

次に、Vimとクリップボードを連携させるために .vimrc というファイルをホームフォルダ直下に追加します。
この.vimrcというファイルがvimの設定ファイルになります.

vimの設定ファイルの場所はホームディレクトリ直下と決められており、
ホームディレクトリ直下に.vimrcが存在したらvimは勝手にそのファイルを読み込んでくれます。

既に .vimrc を編集していて自分色にカスタマイズしている方も多いのではないでしょうか。

.vimrc というファイルを作成して,テキストエディタで以下の1行を追加します。
vimにまだ慣れていない方は無理にvimで編集せずに、
geditなどのguiで直感的に操作できるテキストエディタを使用した方が良いかもしれませんね。

set clipboard=unnamedplus

.vimrcに設定を追加したら一度vimを再起動しましょう。
これで Ctrl + C でコピーした文字列を p コマンドで貼り付けることが可能となります。

以上、vimでクリップボードにコピーした文字列をペーストする手法についてでした。
みなさんもvimで快適なコーディングライフをお過ごしください。