なんと、mac標準のvimではクリップボードにコピーができないらしい!!!
まあ一応確認しておきましょう。
vim --version | grep clipboard
と打ってみてください。
このように、「-clipboard」と書かれていればアウトです。vimでクリップボードは使えません!!
解決方法はHomebrewでvimをインストールしてくることです。
Homebrewでvimをインストール
まずは最新にアップデート
brew update
そして、インストール
brew install vim
クリップボードを使えるか確認してみる
/usr/local/Cellar/vim/8.1.0001/bin/vim
の8.1.0001の部分は人によって違うので、正しいバージョンに書き直してください。
/usr/local/Cellar/vim/8.1.0001/bin/vim --version | grep clipboard
出力結果で、「+clipborad」となっていればOK!!!!!
前のvimを無効にして、新しいvimを使えるようにする
前のvimの名前を変更すれば使えなくなるようになります。
sudo mv /usr/bin/vim /usr/bin/old_vim
新しいvimを使えるようにする
sudo ln /usr/local/Cellar/vim/8.1.0001/bin/vim /usr/bin
vimの設定で、クリップボードを使えるようにする
~./.vimrc
に以下のコードを付け足す
まずは、.vimrcがあるかどうかを確認しましょう。
(前のバージョンのvimをよく使っていた方は普通に.vimrcに付け足してもらえればオッケーです。)
ls ~/.vimrc
これで、.vimrc
と出てくれば、そこに以下のコードを貼り付けてください。
set clipboard+=unnamed
.vimrc
が出てこなければ、作ります
touch ~/.vimrc
そして、.vimrc
にさっきのコードを貼り付けてください。
vimでクリップボードにコピーを使ってみる。
vimのいろんな使い方も同時に紹介しているので、コピーのやり方だけ知りたい方はその部分だけご覧ください。
vim初心者はコマンドを真似してください。vimコマンドやその他のコマンドがわかるようになると思います!
(コマンド練習用に新しいファイルを作りますが、そのファイルを消すコマンドも併せて使用しているので、無駄なファイルが残ることはありません。安心してください。)
新しいファイルを作る
touch clipboard.php
そのファイルをvimで扱う
vim clipboard.php
「vim !$」でも可(次で使います)
インサートモードにする
「i」を押してください。インサートモードになります。
インサートモードにすると、文字を挿入することができるようになります。以下の文章を打ってください。
<?php echo "clipboardにコピーをする"; ?>
Escキーを押してください。(インサートモード解除)
「:wq」と打ってください(上書き保存)
文字が入力されたか確認します。
以下のコードを打ってください。
cat !$
!$
は一つ前の、コマンドじゃないところが同じの時に使います。
さっき、vim clipboard.php
と打ったので、cat !$
と打つと、cat clipboard.php
という意味になります。
<?php echo "clipboardにコピーをする"; ?>
と出てきたら成功です!
もう一度vimを使用して、クリップボードにコピーをしよう
- 以下のコマンドを実施してください。
先ほど説明したように、
!$
は一つ前の、コマンドじゃないところが同じの時に使います。 vim clipboard.phpという意味になります。
vim !$
一番最初にカーソルを合わせて、「v」を押してください。(ビジュアルモードにします)
矢印キーで最後まで洗濯してください(コピーしたい範囲を選択)
「y」を押す(コピーします。vimではコピーのことを「ヤンク」というらしい。だから「y」なのか)
Escキーを押します(ビジュアルモード解除)
「:q」を押す(vimを終了します。)
お使いのテキストエディタを開けて、貼り付けしてみてください!できていれば成功です
ファイルを削除する
もう使わないので、このファイルを削除しちゃいましょう。
ファイルの削除はrmコマンドです。「remove」からきたのかな?
rm!$
ファイルが削除できているか確認してみましょう
ls!$
clipboard.php: No such file or directory
と出ればオッケーです!
手順通りにやったら、ターミナルはこんな感じになっているはず
おしまいです!