[Mac] Automator を使って Finder 上から直接ファイルの内容をクリップボードにコピーする
動機
「Git で clone してきたサンプルコードをちょっとコピペして試してみたい...」 ときに、毎回エディタ上でファイルを開いてからコピーするのは面倒くさい。
なので、Mac で Finder 上から直接ファイルの内容をクリップボードにコピーする方法を調べてみた。
OSX Yosemite 10.10.5 で動作確認を行ったが、恐らく他のバージョンでも動くと思う。
方法
結論としては、Automator を使えば簡単に実現できる。
- まず、アプリケーション ディレクトリの中の Automator (/Applications/Automator.app) を起動しよう。 以下のようなアイコンが目印。
- Automator が起動したら、新規書類を作成する。すると、以下のようなウィンドウが表示されるので、サービス を選択状態にして 選択 ボタンをクリックする。
Finder 上でファイルの内容をクリップボードにコピーするワークフローを作成する。ウィンドウ左側の ライブラリ から ユーティリティ を選択し、その隣のメニュー中にある シェルスクリプトを実行 という項目を、ウィンドウ右側の "ワークフローを作成するには、ここにアクションまたはファイルをドラッグしてください。" というメッセージが表示されているエリアにドラッグ&ドロップしよう。
-
続いて、以下の設定を順番に行う。
- "サービス"は、次の選択項目を受け取る を ファイルまたはフォルダ に設定する。
- 検索対象 を Finder に設定する。
- 入力の引き渡し方法 を 引数として に設定する。
- 実際に実行するシェルスクリプトの内容を、以下のように設定する。
cat $@ | LC_CTYPE=UTF-8 pbcopy
(ここでは LC_CTYPE=UTF-8
を指定することでロケールの文字コードを UTF-8 に設定している。Automator でシェルスクリプトを実行する際にはロケールの設定が行われていないため、このようにロケール情報を設定しておかないと日本語が文字化けした状態でコピーが行われてしまう。)
-
以上の設定が行えたら、ファイル メニューから 保存... を選択し、このワークフローを保存しよう。
- 保存する際、名前に日本語が含まれていると正しく認識されないようなので、名前は英語で入力するのが無難。
-
以下にここまでの全作業を行った後の状態を示す。
- シェルの設定が
/bin/zsh
になっているが、これは僕の環境のデフォルトのシェルが zsh であるだけなので、合わせる必要はない。シェルの設定を特に行っていない場合には/bin/bash
などになるだろう。
- シェルの設定が
- これにより、Finder 上でコンテキストメニューから選択したファイルの内容を直接クリップボードにコピーすることができるようになった。
参考
Author And Source
この問題について([Mac] Automator を使って Finder 上から直接ファイルの内容をクリップボードにコピーする), 我々は、より多くの情報をここで見つけました https://qiita.com/AnnPin/items/21565e152c8d7272745c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .