のんべんだらり

プログラミングの勉強をはじめた人が書いてるブログ

vim のクリップボード連携する方法

 

vim でヤンクした内容を、vim 以外にペーストしたい

 

vim を使うようになって慣れてきて、便利だなーと思うようになってきましたが、まだまだ初心者。分からないことがあって調べて手順が分かったことがあるので、メモがてら書いておきます。

vim でヤンクして vim で別ファイルにペースト、は簡単に出来るんですが、

vim でヤンクして vim 以外のアプリにペースト、が全然出来なくてびっくりしました。

(ちなみにヤンクはコピーのこと。自分的にはスラングのイメージがあるので、これまた驚きました)

 

で、調べてみたところ、Mac 標準の vim にはクリップボード連携の設定は入ってないそうなんです。マジか。

vimクリップボード連携しているかどうか確認するには以下のコマンドを入力します。

$ vim --version | grep clipboard

「-clipboard」と表示されていたら、クリップボードは使用できません。残念。 「+clipboard」と表示されていたら、クリップボードは使用可能です。やったね!

残念ながら自分は前者だったので、プラスにするために次の手順をやってみました。

最新の vim をインストール

Homebrew を使って、最新の vim をインストールします。
(Homebrew はこちらからインストールできます)

  • $ brew update
    Homebrew のアップデート

  • $ brew upgrade
    Homebrew のアップデートと、Homebrew でインストールしたパッケージのアップデート

  • $ brew install vim
    最新の vim をインストール

  • 更新を反映させるために vim を再起動させるか、.vimrc の再読み込み:source ~/.vimrcを実行。
    .vimrc は vim の設定ファイルのこと。

  • $ vim --version | grep clipboard
    vimクリップボード連携を確認。「+clipboard」になっていればOK。

vimrc の設定を変更

  • $ vim ~/.vimrc
    vimrc のファイルを開く。ヤンクしたテキストをクリップボードにコピーする設定「set clipboard+=unnamed」の記述があればOK。無ければ追記する。

以上で完了です。

元から入っていた vim と新しいvim

ちなみに。

$ which vimコマンドで調べてみたところ、新旧 vim の場所はこんな感じでした。

  • Mac 標準の vim は「/usr/bin/vim」(旧)
  • Homebrew でインストールした vim は「/usr/local/bin/vim」(新)

新しく vim をインストールした後に$ which vimを実行すると新 vim しか表示されないので、何も設定しなくても新 vim が立ち上がるなら、特にファイルの置き換え等の作業は不要かなーと思っています。多分。

これで vim のテキストを他のアプリにコピペ出来るようになったので、作業が楽になりました。めでたし。

おまけ

vim のファイル内容を全選択してヤンクするときの手順

  • gg 先頭行に移動
  • V ビジュアルモード(行選択)に変更
  • G 最後の行に移動 → 先頭行から最後の行まで選択される
  • y ヤンク(コピー)