Arch LinuxでVimのクリップボードを使う方法

こんにちは。今回のテーマは『Arch LinuxでVimのクリップボードを使う』です。筆者は本ブログの記事をvimで書いているのですが(気まぐれなので時々Bluefishですが)Arch Linuxのvimでクリップボードを使ってウェブブラウザにコピー・アンド・ペーストしようとしたら出来ないことに気が付きました。vimをビルドし直して使えるようにしたので記事にしました。
※本記事はXfce4上で検証しました。他の環境での動作は保証出来ません。作業はご自身の責任で行ってください。
【関連記事】
VimをMarkdownエディタにするmdforvimプラグインを公開しました
これで使える!Vimのコマンド集(基本操作編)


初期状態のvimはクリップボードが使えない状態

少し意外かも知れませんが、Arch Linuxでvimを単体で以下のコマンドでインストールした方はクリップボードが使えません。クリップボードが使えるかどうかはバイナリをコンパイルする時に決定するからです。

$ sudo pacman -S vim

まずは自分のvimの状態を調べましょう。以下コマンドでvimを起動します。

$ vim

次にvim中で以下コマンドを入力します。

:version

ここで以下のように”clipboard”や”xterm_clipboard”の前の符号が”-“であればクリップボードを使うことは出来ません。

-clipboard
-xterm_clipboard

一番簡単な方法はgvimのインストール

このクリップボード機能を付け加えるにはコンパイル時にオプションを設定しなければいけないのですが、まずはそんな面倒なこと抜きで使える方法を紹介します。それはgvimパッケージをインストールすることです。

もうすでにgvimを使っている方はきっと”+clipboard”表示されクリップボードを使えるはずです。

gvimパッケージの導入

以下コマンドを実行します。

$ sudo pacman -S gvim

以下のようにvimと衝突しているとメッセージが出ますが、問題ないので”y”を押してインストールを続行します。

これでvimを起動して先ほどと同じように”:version”コマンドでクリップボードが使えるようになったか確認しましょう。

ABSを使う手もある

ABS(Arch Build System)の利点は自分でコンパイルオプションをカスタマイズできることです。ABSの導入や使い方はこちらの記事をご覧ください。
Arch LinuxでArch Build System (ABS)を使う方法

ABSでvimをコンパイルしてみよう

PKGBUILDのダウンロード
以下コマンドでvimのPKGBUILDをダウンロードします。

$ abs extra/vim
$ cp -r /var/abs/extra ~/abs (作業ディレクトリへのコピー)

PKGBUILDの編集
次にクリップボードを使えるようにPKGBUILDを編集しましょう。筆者の場合はABSの作業ディレクトリを~/absにしているので以下のようにPKGBUILDを編集します。

$ cd ~/abs/extra/vim
$ vim PKGBUILD

以下の部分を赤字のように修正します。

make
cd "${srcdir}"/vim-build
./configure \
 --prefix=/usr \
〜中略〜
 --with-x=yes \

このままだとpacmanでアップデートする度にリポジトリのバイナリファイルに更新されてしまうので以下フレーズをPKGBUILDに忘れずに記載しましょう。

group=('modified')

vimのビルドとインストール
ここまで準備ができたら後は通常のABSの使い方と変わりません。
ビルド

$ makepkg -s

インストール
パッケージが複数あるのでファイル名に気をつけてください。

$ sudo pacman -U vim-[バージョン].pkg.tar.xz

これでクリップボードを使ってテキストを他のアプリケーションと共有できるようになりました。

クリップボードを使ってみよう

クリップボードの使用には選択領域用レジスタを使います。今回のコンパイルでは”+レジスタが使用可能になっているはずです。
選択領域用レジスタを用いたコピー(ヤンク)
基本的にはヤンクする前に『”+』を押すだけです。以下に使用例のコマンドを示します。
一行をクリップボードにコピー(ヤンク)

"+yy

選択範囲をクリップボードにコピー(ヤンク)

vでビジュアルモードに変更し選択後"+y

全て選択しクリップボードにコピー(ヤンク)

ggVG"+y

これで他のプログラムにペースト可能になりました。馴染みのあるCtrl+vで存分にペーストして下さい。

最後に

Ubuntuではgvim(vim-gtk)を導入しなくてもクリップボードの使用が可能だったのでArch Linuxで使用が出来なかった時には少々驚きました。非常に便利な機能なのでデフォルトでONにして欲しかったなと思うのですが、柔軟にコンパイルし直しが可能なのもArch Linuxの利点だと思います。本記事が少しでもお役に立てば幸いです。

Sponsored Link