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
ヤンク(コピー)
Terminal(ターミナル)使ってみた
学習内容をちょっと書いてみます。
Terminalについて少し学習しました。使いこなせるようになると作業を自動化できるため、効率よく仕事を片付けられるようになるそうです。なんて便利。確かに仕事中、扱う資料は違えど同じ手順で作業を繰り返すことがあるので、それがもし自動化できるならものすごく便利ですね。早く使いこなせるようになりたいものです。
今回はTerminalの使い方を学習した時にやってみたことについて書いていきます。
起動してみる
自分が使っているパソコンはMacなので、アプリケーション→ユーティリティに入っている「ターミナル」を立ち上げます。
すると2行目に「ホスト名(host name):ユーザー名$」と表示されます。ホスト名は使っているコンピューターの名前、$マークまでの左側をプロンプトと言い、$マークは入力の目印みたいなものです。実行したいコマンドやファイル名は$以降に入力していきます。
どんなコマンドがあるのか
「/bin」というフォルダの中にターミナルで使えるコマンドが入っているので、それを参考にします。Finder→メニュー→移動→フォルダへ移動「/bin」で移動できます。
以下は、各コマンドを入力した場合の動作です。$の右以降にコマンドを入力し、エンターキーを押すと実行されます。
- ls:listの略。ファイルやディレクトリの一覧を表示する。
- echo+スペース+引数:引数(ひきすう)とはコマンドに渡して実行したい文字のこと。引数には適当な文字を入れられる。例えば「echo Hello」と入力すれば「Hello」を「echo」というコマンドに渡して実行することになる。
- echo+スペース+$PATH:PATHに設定されたディレクトリを表示する。コロンで区切られている。PATHとは、例えば深い階層にあるコマンドを実行するときに使用する…短縮番号のような、ショートカットのような、正式なパスを入力しなくてもファイル名だけで使える便利な仕組み。
- env:environmentの略。環境変数の一覧を表示する。PATHなど各種コマンドの実行に影響を与えるものがある。
- ls+スペース+-a:-aの部分はオプションという。ドットで始まる名前のファイルやディレクトリを表示する。普段は見えない隠しファイルなどがこれで見れる。
- コマンド+スペース+-h:コマンドの使い方を簡易的に表示する。Usageは利用法のこと。
- man+スペース+コマンド:コマンドの詳しいマニュアル(manual)を表示する。ただし英語で。矢印キーでスクロール、qキーでマニュアルを終了する。
あとはcurlでURLを指定すると、そのページのソースを表示してくれたり、
openで指定したファイルを開いてくれたり、
ファイルを作成したり(touch)、コピーしたり(cp)、移動したり(mv)、削除したり(rm)。。。色々とあります。
とりあえず使ってみた
まだまだ初心者なので、まずはターミナルに慣れるために表示する系のコマンドとcdのみ入力しまくりました。よく分からないままmvやらrmを実行して「あれ?あのファイルどこいった?」ってなるのが怖かったので 😅
ls、pwd、cd、-hあたりを延々と使っていると、段々とターミナルの画面が見慣れてきた気がします。英語があんま読めないので苦手なんですが、でも知ってる単語が知ってるコマンドで、どんな動作をするものなのか分かっていると苦手意識が薄れるように思います。マニュアルは全然読めないのでもう全力で苦手ですが。。。助けてグーグル先生。
使っていくうちに慣れていくと思うので、とりあえずは無闇矢鱈に苦手意識を持たないようにしたいと思います。
おまけ
ちなみに。
ターミナルのようにコマンドを打つことで操作することをCUI(character user interface)というそうです。character=文字を使って、人とコンピューターがやりとりすること。
アイコンなどをマウスでクリックする等で操作することはGUI(graphical user interface)というそうです。graphic=画像を使って、人とコンピューターがやりとりすること。
CUIは覚えることが沢山ありそうですが、その分出来る事も多い気がします。いつかマスターして、作業を効率よく進められるようになりたいものです。
ブログ開始
今日からブログを始めてみました。
昨日からフィヨルドブートキャンプを始めてみました。
一昨日初めてMacを買いました(今まで窓だったので、ショートカット等慣れません。。。でもMac使うの楽しいです)
はじめて尽くしです。
でも実は昔ブログは書いていたことがあるんですが。まぁブランクがあるので、ほぼ初めてということで。
プログラミングで学習したことを書くのか、日常を書くのか決めていませんが、多分両方書いていくと思います。たぶん。予定は未定。未定は未来。
ゆるりとよろしくお願いいたします。
そういえば昨日?今日?見た「進撃の巨人」でアルミン先生の腹黒シーンをやっててテンション上がりました。大事な物を守るためなら手段を選ばない姿がカッコいいし、大事なもの以外に容赦ない感じが最高でした。来週も楽しみです。