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

vim内でコピーした文字列を、ブラウザの検索窓などの別の場所にペーストする。また、ブラウザでコピーした文字列をvim内で貼り付ける。

そのための設定方法を伝授しようと思います。

デフォルトのvim(vi)では、、、

PCでコピーした文字列は基本的にクリップボードに保存されます。そのため、vimでヤンクした文字列をvimの外でも使うためには、vimとクリップボードを連携させるための設定を行わなくてはなりません。

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

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

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

$ vim --version | grep clipboard

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

コマンドを打つと、vimの対応している機能の抜粋が表示されます。
この中のclipboardの文字列に注目しましょう。

  • +clipboard   —–   クリップボードとの連携に対応しています。
  • -clipboard   —–   クリップボードとの連携に未対応です。

もし-clipboardと表示されているのであれば、お使いのvim(vi)はクリップボードに対応していないため、クリップボードに対応したvimを入れ直す必要があります。

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

vimの種類とクリップボード対応の有無

クリップボードを使えないVimをお使いの皆さんはapt-getで新しいvimをインストールする必要があります。

ubuntuソフトウェアセンターからapt-getで入手できるvimには以下のようなものがあります。

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

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

$ sudo apt-get install vim-gnome

例えば、vim-gnomeをインストールする場合、上記コマンドを用います。
入手完了後に、下記コマンドを試してみると、無事に+clipboardとなっているはずです。

$ vim --version | grep clipboard

これで、clipboard対応のvimを入手することができました。

クリップボード連携のための設定

次に、vimの設定ファイル.vimrcを作成します。
(このファイルが存在すればvim起動時に自動的に読み込まれ、設定がvimに反映されます。)

vimの設定ファイルの場所はホームディレクトリ直下と決められているので、そこに.vimrcというファイルを作成します。

$ touch ~/.vimrc

上記コマンドで.vimrcの空のファイルを作成します。
次に、そのファイルを適当なテキストエディタで開き、以下の一行を追加します。(.vimrcはドットで始まる隠しファイルです。ファイルエクスプローラーで見つけるには、隠しファイルを表示する設定にする必要があります。)

set clipboard=unnamedplus

.vimrcに設定を追加したら一度vimを再起動します。
するとどうでしょう。正しく設定できていればvim内でコピーした文字列を外部に貼り付けることができるようになっているはずです。うまくできましたか???

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