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 の場所はこんな感じでした。
新しく vim をインストールした後に$ which vim
を実行すると新 vim しか表示されないので、何も設定しなくても新 vim が立ち上がるなら、特にファイルの置き換え等の作業は不要かなーと思っています。多分。
これで vim のテキストを他のアプリにコピペ出来るようになったので、作業が楽になりました。めでたし。
おまけ
vim のファイル内容を全選択してヤンクするときの手順
gg
先頭行に移動V
ビジュアルモード(行選択)に変更G
最後の行に移動 → 先頭行から最後の行まで選択されるy
ヤンク(コピー)