読者です 読者をやめる 読者になる 読者になる

Macに導入して便利になったツールまとめ

どうもこんばんは、south37です。

今回は、自分がMacに導入して便利になったツールとか、terminalで使うプラグインとかの話をしたいと思います。 粒度がバラバラで若干まとまりの無い内容になってますがお許しください!!

Kobito

まず、ChromeとiTermを除くと一番使っているのはKobito.appです。KobitoはQiitaという情報共有サービスを運営しているIncrement社が作成したアプリケーションであり、Markdownの整形結果をリアルタイムで確認しながら文章を書けるのが大きな特徴です。Qiitaへの投稿を促進するために作成されたのですが、そのシンプルさと軽快さからマークダウンエディタとしてもめちゃくちゃ使い易いものになっています。

最近は、本を読むにしろコードを追うにしろWeb上で情報を集めるにしろ、出来るだけ自分用メモみたいなものを残す様にしており、その際にKobitoが大活躍してくれています。このブログ自体もマークダウン記法で書いてるのですが、はてなのブラウザエディタはプレビューの度にそこそこ待たされるのでストレスが溜まり、結局Kobitoで書いてからコピペするなんて事をしていますw

マークダウンでプレビューしながら書けると、コード部分が綺麗になったり章立てがきちんと出来たりするのでやっぱり書いてて気持ちいいです。マークダウンエディタにはいろいろあるみたいなので、気に入るのを一つ選んで使い込んだらいいんじゃ無いでしょうか!!

ちなみに、最近ではterminalからKobitoで書いた文書を操作する為のコマンドも用意されたようです。 [参考: suin/kobito-cli] https://github.com/suin/kobito-cli

terminalから操作出来るならevernoteに送りつけるとかいろいろ出来そうですね!!

Dash, Alfred

いろいろなとこでおすすめされていて気になっていたDashとAlfredの組み合わせ。どちらも有料版を使うとものすごく便利という事で、思い切って導入してみました!!

[参考: 開発環境の情報共有会でDash,SourceTree,Alfredの話をした] http://blog.glidenote.com/blog/2014/03/30/tech-tool-knowledge/

Dashというのは爆速でドキュメントを確認出来るアプリケーションで、rubypython等の標準的なプログラミング言語に加えて、MySQL、MongoDB、Puppet、Vagrantなどのドキュメントも確認出来る様になっています。ローカルにドキュメントをダウンロードしてから表示するため、高速に正確なドキュメントを見れるというのが大きな特徴となっています。

Dashは単体でもそこそこ便利なのですが、Alfredというランチャーアプリケーションから呼び出せる様にしてやるとさらに便利になります。

Alfredはそれを起点にいろいろなアプリケーションを起動したりファイルをしたりGoogleで検索をしたり出来るアプリケーションで、MacにデフォルトでついてるSpotlightをさらに強力にしたようなヤツです。

Alfredも有料版を使う事で様々な拡張を行える様になるのですが(workflowと呼ばれるプラグインを追加する)、そのなかでもdash-alfred-workflowと呼ばれるAlfredからDashを呼び出せるようになる拡張が大変便利です。

例えば

f:id:south37:20140727011659p:plain

のようにrails saveと打つと、railsのドキュメントの中からsaveというメソッドを検索するという意味になり、

f:id:south37:20140727011703p:plain

のような検索結果が表示されます。 同じ様な事がいろんな言語で簡単に出来るため、かなり便利です!!

あと、Spotlightでも出来る事ですが、アプリケーションの切り替えをAlfredでやるようにしたら捗るようになりました。cmd+tabとかだとなかなか目的のアプリケーションにたどり着けないのが嫌だったんですが、Alfred(Spotlight)ではアプリケーションの頭文字(iTermならi)だけ打って移動出来るため、快適に過ごせています。

cmd + spaceでアプリ内window移動(デフォルトはCmd + F1)

次はもはやツールとかじゃないんですが、アプリケーション内のwindow移動のショートカットキーを変更したら捗るようになりました。

chrome複数window立ち上げたりKobitoで編集windowを起動したりしてると、どうしても複数windowを行ったり来たりしたくなります。こういったアプリ内の移動がcmd+tab等では出来なくて悶々としていたのですが、実はwindowの移動はmacの標準ショートカットキーで用意されていました。

ただ、デフォルトのキーバインドcmd+F1で何となく許せない気持ちになったので、cmd+spaceに変えたら捗る様になりました。

f:id:south37:20140727011704p:plain

オススメです!!

peco

pecoも便利便利っていろんなとこで聞いたので使ってみたら、本気で便利だったものの一つです。

pecoはterminalで使うコマンドの一つで、標準入力として渡された文字列内でインクリメンタルサーチが出来ます。 本家のgithubでデモが見れるので、実際見てもらった方が早いかもしれません。

pecoのデモ

もしくは、ls | peco | xargs echoって打ってもらうと感覚がつかめるかもです。lsした結果からpecoでインクリメンタルサーチが出来て、選んだファイル名がechoされてterminal上に表示されるはずです。

pecoは用途がめちゃくちゃ広いのでどう使ったら良いのか悩むのですが、Web上にいろんな人の使って見た事案がいっぱい落ちてるので、それを参考にしてみると良いと思います。

僕はr7kamuraさんのブログに取り上げられていたaliasコマンドをパクってみて、めちゃくちゃ便利だったのでそのまま使い続けています。

113 # r7kamuraさんのパクリalias
114 pvim() { peco | xargs sh -c 'vim "$0" < /dev/tty' }
115 pdo() { peco | while read LINE; do $@ $LINE; done }
116 alias c='find ./ -type d | pdo cd'
117 alias p='git ls-files | pvim'
118 alias e='ghq list -p | pdo cd'

117行目のpってaliasはgit管理下のフォルダにいる時に便利なヤツで、インクリメンタルサーチで選んだファイルをvimで開ける様にしています。 git ls-filesコマンドでgit管理下にあるファイルのリストを作って、それをpecoにリダイレクトして、peco内で目的のファイルをインクリメンタルサーチで選んでからさらにそれをxargs~に渡しています。

xargs~の部分は理想的にはxargs vim $0とか書きたいとこなんですが、どうもvimは標準入力でファイル名を渡そうとすると上手く動いてくれないようなので、文字列を作ってからそれを/dev/tty(標準入力)からの入力としてsh -cコマンドで実行しています。

[参考: ksaitoの日記 xargs] http://d.hatena.ne.jp/ksaito11/20100303/1267713925

デフォルトのエディタで開くだけならgit ls-files | peco | xargs openで良いので、試してみる価値はあると思います!!

ちなみに、118行目のeってaliasの中で出てくるghqコマンドはリポジトリ管理の為のコマンドで、これも最近色んなとこで見かけます。下記のリンクを参考に設定すると捗るかもです。

ghqを使ったローカルリポジトリの統一的・効率的な管理について r7km/s GHQ

vimプラグイン: ctrlp.vim


最後に紹介するのはctrlpっていうvimプラグインです。これはvim内で起動すると様々なファイルをインクリメンタルサーチで選んで開けるってヤツで、長い名前打つの面倒くせーなーって時とかに重宝します。

イメージはこんな感じで、これはviewって書いてviews以下のファイルが絞り込まれてるとこです。

このリンク見ると良さが伝わる気がします。 Qiita: ctrlp.vimの使い方まとめ

ctrl+pって打つだけでファイル検索用のbufferが開いてモリモリ絞り込んでくれるので、とっても良さげです。 vimmerな型は導入してみても良いのでは無いでしょうか。

まとめ

以上、粒度は若干アレでしたが、僕が最近使っていて便利だと思ったツール群(?)でした。環境を整えて便利にしてくのはものすごく大事だと思ってるので、自分はこういうの使ってるぜ!とかあったらコメントでも何でも意見貰えると嬉しいです。