Fuzoku実践入門ブログ

Amazon で好評発売中の『Fuzoku実践入門』に関するエピソードなどを紹介するブログです。

pecoを使ってAtomでプロジェクトを開く

Atom使ってますか? 私はAtomを使って原稿を執筆しています。そして、最近は複数のプロジェクトが平行して走ることもあり、それら全てをAtomで編集しています。

様々なプロジェクトをAtomで開くには、Atomからプロジェクトマネージャーを使って管理する方法もありだと思うのですが、何だかんだでターミナルから開く方が早かったりします。

ターミナルからプロジェクトを開く

これまで、ターミナルからプロジェクトを開くには、私は次のようにしていました。

$ atom /path/to/project

atomコマンドからプロジェクトディレクトリを指定して開けばよいだけなので、過去に開いたプロジェクトの場合はC-rでプロジェクト名を検索して開いていました。

この方法も悪くないのですが、プロジェクトを開くためにコマンド履歴を使い続けるのも、少し違う気がしてきたので、別の方法を導入してみるとことにしました。

pecoを使ってプロジェクトを開く

ターミナルで絞り込みを使ってコマンドを実行すると言えば、近年だとpecoが最有力ツールだと言ってよいと思います。そこで、pecoを使ってAtomでプロジェクトを開くようにしてみることにしました。

pecoを使ったコードはみなさん色々と公開されているのですが、今回はzshにpeco + ghqを導入したメモを参考にして、Atomで開くコマンドを作成してみました。

function open-src-atom () {
  local selected_dir=$(find $HOME/projects/ -maxdepth 2 -type d | peco --query "$LBUFFER")
  if [ -n "$selected_dir" ]; then
    BUFFER="atom ${selected_dir}"
    zle accept-line
  fi
  zle clear-screen
}
zle -N open-src-atom

bindkey '^t' open-src-atom

私の場合、~/projects/CATEGORY/REPOという形式でリポジトリを配置しているため、find $HOME/projects/ -maxdepth 2 -type dというコマンドをpecoに渡しています。

これで、C-tから絞り込んでAtomでプロジェクトを開けるようになりました。

まとめ

本当はAtomproject-managerを使いたいところなのですが、自分でプロジェクトを追加するのが面倒で、結局使わなくなってしまったので、しばらくpecoで頑張りたいと思います。