LoginSignup
8
6

More than 5 years have passed since last update.

Alfredで選択したファイルをEmacsで開く

Posted at

Alfredでファイルを選択し、"Open with..."でファイルを開く時、emacsclientを指定したい。
が、Alfredが.appなファイルしか拾ってくれないみたいなので、候補にemacsclientが出てこない。

ということで、emacsclientを.app化してみた。
参考にしたのはこのブログ(というか、そのまんま(- -;;)

環境はMac OS X 10.9.3。それ以前で使えるかどうかは未確認です。

Automaterを使う

  1. Automaterで新規ワークフローを作成する。書類の種類は"アプリケーション"を選択
  2. アクションは、"シェルスクリプトを実行"を選択
  3. 入力の引き渡し方法は、"引数として"を選択
  4. 以下のシェルスクリプトを入力して、保存。保存先はAlfredの検索対象になってる場所に
for f in "$@"
do
    emacsclient --alternate-editor="" -n "$f"
done

わたしはMacPortsのemacs-appを使ってるので、emacsclientはそちらのが実行されるようにフルパスで指定してます。

動作確認のためにAutomaterで実行しようとすると、

このアプリケーションは Automator で実行する場合、入力を受け取りません。

とお叱りのダイアログが。対処法はそのダイアログに書いてある通り。
"指定されたFinder項目を取得"アクションを前に追加して適当なファイルを追加してやる。
このアクションのオプションで"このアクションの入力を無視"にチェックを入れてから保存すれば、実際にアプリとして実行する時には無視されるようになる。

これで晴れて"Open with..."から選択して、Emacsで指定されたファイルが開くことが出来た。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6