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

#23 「欲しい情報に素早くアクセスするためのたくさんの方法」tech.kayac.com Advent Calendar 2012

AdventCalendar2013 emacs mac 仕事効率化

速さは強さ。

tech.kayac.com Advent Calendar 2012の23日目です。 @handlenameです。 クリスマス前の3連休なのに野郎オンリーでジムを冷やかしに行く予定しかありません。うける。

普段使っている、様々な情報に素早くアクセスする方法を紹介します。

アプリケーションを素早く起動する (Spotlight)

Mac限定のはなし。

Quicksilvel、LaunchBar、Butlerなどの ランチャーアプリを使っていたこともありましたが、 SSDなMacbookAirになってからはSpotlightが爆速なので 全てこれで済ませてしまっています。

候補が多すぎると鬱陶しいので、 検索対象をアプリケーションとシステム環境設定に絞って使っています。

アプリケーションを素早く切り替える (Spark)

こちらもMac限定のはなし。

アプリケーションの切り替えにいちいちCmd+Tabを使っていては、 「エディタは3番目にあるからTabを3回押して…」と、無駄な思考が入ってしまいます。 アプリケーションの切り替えごときにいちいち頭を使っていられないので、 Sparkというツールでワンストロークで切り替えられるようにしています。

設定画面。

spark.png

エディタ(Emacs)・ターミナル(iTerm2)・ブラウザ(Chrome)の三種の神器と、 よく使うアプリケーションいくつかを登録しています。

起動していなければ起動、していればアクティブにしてくれるので なにも考えずにキーを押せばお目当てのアプリケーションにたどり着くことができます。

(画像中で使われているキーに違和感を感じるかもしれませんが、 dvorak配列だとすべて右手で押せる位置にあるのです)

IRC/tmuxのウィンドウを素早く切り替える (canything)

弊社typesterのブログ記事を参照。

IRCでどんなにたくさんのチャンネルにjoinしていても、 tmuxでどんなにたくさんのウィンドウを開いていても、 一瞬で目的のチャンネルにたどり着けます。

tmuxのウィンドウを開くときは次のようなコマンドを作って使っています。 新しいウィンドウを開くのはたいていsshコマンドを使うときなので、 特別扱いしてホスト名をウィンドウ名として使うようにしています。

#!/bin/sh

name=$1

if test $name = "ssh"; then
    name=$2
fi

tmux new-window -n $name "$*"

ディレクトリ履歴を素早く絞り込む (zaw)

以前はこういう無理矢理な感じのエイリアスを登録していたのですが、

alias cda='cd `pushd | tr " " "\n" | sed -e "s/~/\/Users\/handle/" | canything`'

zawというものを知ってからはこちらを使っています。

詳しくはREADME参照。 ディレクトリ履歴以外にも様々なことをanythingなインターフェイスで絞り込み&実行できます。

emacs上で素早く絞り込む (helm.el)

anything派生のhelmを使ってます。

このあたりが便利。

helm-show-kill-ringキルリングの履歴を絞り込む
helm-c-moccur-occur-by-moccurバッファ内検索にマッチしたものを絞り込む
helm-for-filesバッファ・バッファ履歴・カレントディレクトリなどからファイルを絞り込む
helm-git-find-filesgitプロジェクト内のファイルを絞り込む
helm-imenuバッファ内の関数を絞り込む
helm-M-xemacsのコマンドを絞り込む

.emacs以下のファイルはgithubにpushしてあるので、 具体的な設定方法はそちらを参照してください。

でバッファ内を素早く移動する (ace-jump-mode.el)

emacs上でhit-a-hint的なカーソル移動を実現します。

README中にリンクのあるデモを見てみましょう。 どういう機能なのか、よくわかります。

Chromeのタブを素早く切り替える (chrome-anything)

調べ物をしているときはタブを大量に開くことが多いので、 目的のタブに素早く切り替えられるように拡張をつくりました。

こんな感じの表示が出て、インクリメンタルにタブを絞り込めます。

chrome-anything.png

拡張機能にショートカットを設定しておくと キーボードがから手を離さずにタブ切り替えができます。

Chromeからスマホに素早くテキストを送る (chrome-post-it)

以前、弊社のナカマップというサービスの公開APIを使って、 おなじく弊社のim.kayacというサービスと同じような 手軽にプッシュ通知を送るサービスをつくりました。

この自作のサービスを使って、 Chromeからスマホに簡単にテキストを送ることができる拡張機能をつくってみました。

インストールするとコンテキストメニューに「post to nakamap」という項目が追加されて、 im.handlena.meで登録した中マップのチャットグループに 選択したテキストを送ることができます。

post-it.png

im.kayacでは開けないURLも、ナカマップで受け取ればその場で開けます。 ナカマップAPI便利。

おわり

最終日は北海道より愛をこめて、@acidlemonさんがお送りします。 お楽しみに。