ホーム > Application
Application アーカイブ
TextMateをLinux/Windowsで使いたい人のためのRedcar
- 2010年10月20日 12:00 AM
- Application

プログラマーなら”TextMate“はご存知だと思います。
この”TextMate“があるから、Macを使っているという方もいます。
しかし、このTextMate、”56ドル“もするんです。
(仕事道具なんだから56ドルぐらい出せよ、とも思うけど。)
さらにはLinuxやWindowsには対応していません。
今日はその代替えとなる”Redcar“というオープンソースエディタを紹介します。
Redcarとは
先ほど述べた通り、オープンソースのエディタ。
つまり、TextMateとは違い、無料で使えます。
トップページに行けば分かると思いますが、クロスプラットフォーム対応です。
Linux/Mac/Windows、どの環境でも使えます。
これがRedcarの魅力の一つ。
また、TextMateのバンドルと互換性があり、これを使うことが出来ます。
あくまで互換性があるだけなので、使えないバンドルもあるようです。
プラグインで拡張も可能です。
今、公式のgithubに上がっているプラグインはこれ。
- Github viewer: View a Github repository in Redcar
- Go to github: Show current file in github, and selects the same lines that are selected in RedcarEditor
- GCCSense: highly precise code completion for C/C++, GCCSense required
- Redcar Debug: Debugger supporting GDB and JDB
- RSense: highly precise code completion for Ruby
- redcar-pastie: create a gist from Redcar
- redcar-help: Displays a help file/user guide for Redcar
- touchy: Adds a ‘Touch File’ option to the project context menu
- Code Package View: View directories grouped as packages, for Java, etc
- Web Bookmarks: View webpages or html files from within redcar
その他にデフォルトでインストールされているプラグイン達。
- Auto Completer
- auto_indenter
- document_search
- find-in-project
- HTML View
- scm
- scm_git
- scm_hg
- scm_svn
- snippets
- Strip Trailing Spaces
- task_manager
- todo_list
説明は省きますが、昨日のイメージはつきますよね。
色々なことが出来そうです。
しかし、このRedcar、最新バージョンは0.7です。
つまり、まだβ版です。
そのため、日本語でも英語でも情報がとても少ない。
このプロジェクトへの応援も兼ねて、MacにおけるRedcarのインストール方法をまとめてみます。
(といってもものすごく簡単ですが。)
Redcarをインストールする
インストールの仕方は、こちらにあります。
手順は簡単で、
- RubyGemsでRedcarをインストールする。
- RubyGemsにインストールされたRedcarを自分の環境にインストールする。
これだけです。
コマンドを2つ入力するだけで、インストール完了です。
まずは環境チェック。
JavaとRubyのバージョンをチェックします。
Rubyは1.8.7以降、Javaは1.4.0以降が必要だとGetting Startedにあります。

バージョンチェックしたら、早速RubyGemsにインストールします。
sudo gem install redcar

次は自分の環境にインストール。
redcar install

“redcar install“を忘れると、起動しないので注意。
あとはターミナルからRedcarを起動します。
redcar

この記事の始めに使った画像が表示されます。
10秒ほど待つと、エディタが起動。これで準備完了!

試しにCakePHPのプロジェクトを開いてみました。
デフォルトでPHPのステートメントがカラーリングされます。
良いですね!

AppControllerをコーディングしてみました。
これもしっかり、PHPのコードだと認識されていますね。
カッコも自動補完してくれるので、打ち心地もなかなか良い。

Redcarのショートカットをアプリケーションフォルダに作る
ターミナルから起動するのも悪くはないのですが、Macならアプリケーションはアプリケーションフォルダに登録したいですよね。
そこで、アプリケーションフォルダにRedcar起動用のシェルスクリプトを追加します。
cd /Application vi Redcar
viが開いたら次のコードを書き込みます。
#!/bin/bash /usr/bin/redcar --ignore-stdin & exit
後は保存して、実行権限を与えます。
chmod 755 Redcar
これでショートカットが出来ました。
しかし、何かが足りない…そう、アイコンです。
今度は作成したRedcarのショートカットから、”情報を見る“を開きます。

左上のアイコンは選択出来るんです。
知っていました?
ここに設定したい画像をコピーした上で、ペーストします。
画像をコピーする場合は、プレビューを開いて”Command + a“と”Command + c“で可能。

これでショートカットにアイコンが設定されました。

ちなみに、私はこのアイコンを使わせて頂きました。
公式のアイコンはここにあるのですが、解像度が低いんです。
アイコンが拡大されたときに、画像が荒れてしまうので、私は上記のアイコンを設定しました。
いかがですか?
少し使った感じでは、なかなかキビキビと動いてくれます。
良く使う言語はデフォルトでカラーリングもしてくれますしね。
TextMateのバンドルが使えるかどうか、試してみたのですが、インストール方法が分かりませんでした。
CakePHPバンドルをインストールしたんですが、うまくいかなかった…。
この辺りの情報を持っている方は、教えて頂けると助かります。
引き続き、ちょっと使ってみます。
また機会があれば、ブログにも書きますね。
皆さんも使ってみてください。
Spacesが固まったときの対処法
- 2010年9月12日 11:00 PM
- Mac OS X

Spaces便利ですよね。
今や、Macを使い続ける理由の一つになっています。
しかし、このSpaces、最近調子が悪いのです…。
皆さんはこんな画面で固まることがありませんか?

こうなるともう、手がつけられません。
スペースの切り替えはできます。
マウスのクリックも効きます。
しかし、”キーボード入力“が効かないのです。
私はこれを”Spacesの牢獄“と呼んでいます(今名付けました、ネーミングセンスがないのは知っています)。
対処法
Spacesの牢獄の対処法は2つあります。
- Macを再起動する
- ターミナルでDockを再起動する”killall Dock”コマンドを実行する
どちらの方法にせよ、Dockを再起動すれば直るようです。
しかし、これは発生してしまった後の事後対処。
“じゃあ、根本的な解決法は?“と聞きたくなります。
根本的な解決法は…ないようです。
Spacesのバグらしく、いくつか情報を探してみましたが、それらしい解決法は載っていませんでした。
- Snow LeopardでSpacesがキーボードを返してくれないバグ?
- Snow Leopardにしてから困っていたこと=ファンクションキーが効かなくなる問題・・・が解決!
- spaces操作後キーボードが効かなくなる
killall Dockコマンドのショートカットを作る
先ほど紹介した方法の2つ目で、
Spacesが固まった状態で”killall Dock”は実行出来ないよね?
と思われた方は賢い。正解です。
“killall Dock“は実行出来ません。なぜなら、キーボード入力が効かないから。
こうなると、Macを再起動するしかなくなるのですが、Spacesの牢獄が発生するたびに、Macを再起動していたのでは面倒です。
そこで、“killall Dock”コマンドのショートカットを作りましょう。
Spacesの牢獄の状態でも、幸いなことにマウスは効くので、アプリやショートカットを呼び出すことはできます。
クリックすれば”killall Dock”してくれるショートカットを作っておけば、Macを再起動しなくても済みます。
ここではApplicationsディレクトリにショートカットを作ります。

Applicationsディレクトリに移動

viでファイルを作成

iキーで入力モードに、下記のコードを張り付け
#!/bin/bash killall Dock

escコマンドでコマンドモードに、:wqで保存/終了

chmod 755 “Dock Restart”で実行権限を付与
これでショートカットが出来ました。
私はこのドキュメントアイコンで表示されるのが嫌なので、独自にアイコンを設定しました。
![]()
ドキュメントアイコン
![]()
自分でアイコンを設定
アイコンは以下のページから拝借させて頂きました。
非商用利用が無料です。
あとは”Spacesの牢獄“が発生したら、“Dock Restart”を起動するだけです。
これでキーボード入力が出来るようになります。
ここまで説明しておいてあれなのですが、1つ注意点があります。
それは
Dockを再起動した後にすぐにスペースを切り替えると、再びSpacesの牢獄に閉じ込められる
ことです。
発生条件はわからないのですが、とにかくすぐにスペースを切り替えるとSpacesの牢獄が再発します。
再発を防ぐためには、しばらくSpacesの切り替え以外の作業を続けてください。
そうすると、いつの間にか再発しなくなります。
Spacesを切り替えたい場合は“F8″キーで切り替えてください。
この切り替え方だと、Spacesの牢獄に閉じ込められることはありません。
Spacesが固まったときの対処方法、こんなところですね。
大したことはないのですが、ちょっと不便だったのでまとめてみました。
迅速な対応をお願いします、Appleさん。
[2010/09/14 追記]
edvakfさんからご指摘頂きました。
この現象、Macをスリープすると直るようです。
以前にスリープを試したのですが、直らなかった記憶があったのでしばらくこの記事の方法でやっていました。
ですが、昨日、この現象が再度発生し、スリープによる復帰を試してみたところ、普通に復帰出来ました。
復帰後の後遺症もなし。
スリープで直すのが良いかもしれませんね。
たまにDock関連で動作がおかしくなることもあるので、私はこのショートカットを残しておくことにします。
空気のように開発をサポートするLaunchBar
- 2010年8月27日 7:30 PM
- Mac OS X

システムを開発するときは、長時間お気に入りのMacの前で色々な操作をしていきます。
例えば、”PHPの関数を忘れたから検索する。”、”アルゴリズムがわからないからググる。”、あるいは”仕様書を保存したディレクトリがわからないからSpotlightで検索する。”などなど。
皆さんはどういう手段でこれらの操作を始めますか?Dock?それともブラウザのブックマーク?
これらの操作の始まりをまとめてくれるアプリケーションがあったら素敵だと思いませんか?
それを実現してくれるのがLaunchBarです。
LaunchBarとは
LaunchBarはカテゴリに分けるとすれば”ランチャー“に当てはまります。
しかし、他のランチャーとは違い、
- LaunchBarを立ち上げる。
- 文字列を入力する。
- アプリケーションや操作を選ぶ。
- 選択したアプリケーションや操作を実行する。
という流れで使用します。
他のランチャーと違うのは、アップルスクリプトやシェルスクリプトを使うことで操作を選択出来ることです。
単なるショートカットではなく、ランチャー対象に対してコマンドを渡せるのです。
これがLaunchBarの強みであり、LaunchBarが開発を空気のようにサポートしてくれる理由です。
24ドルの有料アプリケーションですが、それだけの価値があります。
円高のうちにぜひ買ってください(笑)
(ちなみにトライアル版は30日間無料で使えます)
LaunchBarのインストール
インストールは通常のMacと同様、以下のURLからファイルをダウンロードし、ドラッグ&ドロップで完了です。

LaunchBarのインストール
LaunchBarを使う
早速、使ってみましょう。
LaunchBarは起動方法さえわかれば、その世界を味わうことが出来ます。
まず、LaunchBarを立ち上げてください。ドックにアイコンが出ればLaunchBarは立ち上がっています。

ドック上のLaunchBar
次にショートカットでLaunchBarを呼び出します。
初期設定では”Command” + “Space”が設定されています。”Command”キーを押した後に”Space”キーを押してください。
![]()
LaunchBarのウィンドウ
この小さなウィンドウの先には大きな世界が広がっています。
練習として、良く使う”システム環境設定”をLaunchBarから呼び出します。
- “Command” + “Space”を押す。
- “system”とタイプする。
- 十字キーで”System Preferences”を選択する。
- “Enter”キーをタイプする。

該当するアプリケーション一覧

十字キーで選択
これで”システム環境設定”を呼び出せました。
これがLaunchBarの基本操作です。
次に、”LaunchBar”をググってみます。
- “Command” + “Space”を押す。
- “google”とタイプする。
- 十字キーで”google”を選択する。
- “space”キーをタイプする。
- “LaunchBar”とタイプする。
- “Enter”キーをタイプする。
![]()
LaunchBarに検索ワードを入力
そうするとブラウザが立ち上がり、Googleの検索結果が出るはずです。
どうですか?LaunchBarの公式ページが表示されましたか?
ここでは十字キーを使ってアプリケーションを選択しましたが、何度か同じ操作を繰り返すとLaunchBarが入力を記憶してくれ、よく使うアプリケーションが上位に来るようになります。
そのため、ほとんどの場合、十字キーに触れずに操作が完了します。
これもLaunchBarが空気のような存在である理由ですね。
LaunchBarのカスタマイズ
LaunchBarは初期設定でしばらくは満足できるはずです。
例えば、以下のことが初期設定で実行できます。
LaunchBarで実行出来るデフォルトの機能
| 出来ること | 打ち込むコマンド |
|---|---|
| アプリケーションを実行する | アプリケーション名 |
| Wikipediaを検索する | wikipedia |
| PHPドキュメントを検索する | php |
| TinyURLでURLを短縮する | make tinyurl |
| コピーの履歴を表示する | clipboard |
| 検索履歴を開く | ページのタイトルの一部 |
| 電卓で計算する | 数値と式(プラスやマイナスなどの記号) |
| sshでサーバにログインする | ssh + space + オプション指定 |
これだけでも十分ことが足りそうですね。
私自身も初期設定でしばらく使っていました。
しかし、LaunchBarはカスタマイズすることでどんどん自分にフィットしていきます。
私が追加しているカスタマイズを紹介します。
“Shift”キーx2で起動
私は起動方法を変更しています。
“Command” + “Space”だと、ことえりの文字種選択画面が開いてしまうため、使いにくいのです。
この設定は簡単に出来ます。

LaunchBar >> Preferences

Shortcuts
これで”Shift”キーを連続2回押すことでLaunchBarが起動するようになります。
sshのショートカット
私はシェルスクリプトにsshコマンドを書き込み、ショートカットを作っています。
これをLaunchBarのインデックスに含めることで、一発で特定サーバにログインできます。

Index >> Show Index

Unix Executables

追加したいファイルを選択/Add
これでLaunchBarのインデックスに追加されました。
Unix Executablesのルールに追加することで、シェルがターミナルで実行されるようになります。
[注意]
- シェルに実行権限を与えておくこと。
- 拡張子を与えないこと。
拡張子には特に気をつけてください。拡張子をつけてしまうと、エディタが開いてしまい、思った通りの動作になりません。
シェルスクリプトの中身は普通に書けばOKです。わからない人はググってください。
CakePHPのAPI検索
CakePHPに限らず、検索クエリがURLに含まれているものは全てLaunchBarに対応できます。
ここではCakePHPのAPI検索をLaunchBarに追加します。
LaunchBarのコマンド追加は全て先ほどの”Index >> Show Index”から行います。

Search Templates (UTF-8)

インデックス名とURLを入力
URLを入力するときに検索ワードに置き換えたい文字列を”*(アスタリスク)”とします。
この”*(アスタリスク)”が、”Space”キーを押した後に入力した検索ワードに置き換わります。
CakePHPのAPI検索は以下のように入力します。
| Name | URL |
|---|---|
| CakePHP | http://api13.cakephp.org/search/* |
Amazon.co.jpの商品検索
AmazonもCakePHPのAPI検索と同様の方法で実装できます。
| Name | URL |
|---|---|
| Amazon Japan | http://www.amazon.co.jp/s?ie=UTF8&index=blended&keywords=* |
英英辞書の登録
英英辞書もCakePHPのAPI検索やAmazonの商品検索と同様の方法で実装できます。
私はLongmanとCollins Cobuildを登録してあります。
| Name | URL |
|---|---|
| Longman | http://www.ldoceonline.com/search/?q=* |
| Collins Cobuild | http://dictionary.reverso.net/english-cobuild/* |
ここでは関係ないですが、この2つの辞書はオススメです。特にCollins Cobuildは例文が多くとてもわかりやすい!
Omnifocusとの連携
Omnifocusにタスクを追加するにはスクリプトを利用します。
私はこちらのスクリプトを利用させて頂いてます。
on handle_string(taskName)
if taskName is not "" then
tell application "OmniFocus" to tell default document
make new inbox task with properties {name:taskName}
end tell
open location "x-launchbar:hide"
end if
end handle_string
これをomnifocus.scptという名前で好きなディレクトリに保存し、インデックスにこのディレクトリを追加します。

“Add Folder…”からディレクトリごとインデックスに追加
これで以下の流れでInboxにタスクを追加できます。
- “omnifocus”とタイプする。
- “omnifocus.scpt”を選択する。
- “space”キーをタイプする。
- タスクを入力する。
私はこの操作か、Google検索を一番使っていると思います。
カスタマイズする上で参考になるページ
最後にカスタマイズの参考になるページを挙げておきます。
私よりも使いこなしている人がたくさんいるので、これらのページを見てLaunchBarマスターになってください。
Macのカーソル移動をvi風にするハック

viに慣れてくるとGUIでも”j”キーや”k”キーを打ってしまいませんか?
あるいは”i”キー、”d”と”$”キー…。
こうしてブログを書いてる間も、それらのキーを打ち込んでいまいそうです(苦笑)
そこで、Macでvi風の操作が出来ないか、調べてみました。
そうすると、そういったキーマップをしてくれるソフトウェアがあるんですね。
viのコマンドモードと入力モードを再現したり、特定のキーとviのコマンドキーをタイプしたときだけviの動作を再現することが出来るようです。
もちろん、Snow Leopardにも対応しています。
こちらのスライドがわかりやすいですね。
まだ私は導入していませんが、うまくキー割当が出来るなら入れてみたいな、と思っています。
使っている方、いらっしゃいますか?
Macのウィンドウ操作を簡単に柔軟にするDivvy
- 2010年8月18日 1:00 PM
- Mac OS X
@kamekitiさんのまとめ記事を読んでいて、良さそうなアプリケーションを見つけたので紹介します。
DivvyはMacのウィンドウのリサイズをしてくれる単純なアプリケーションです。
しかしインターフェースが洗練されており、簡単にかつ柔軟にこのウィンドウのリサイズ操作が可能です。
このアプリケーションを紹介していたまとめサイトでも
Divvy is by far my favorite window management app. The unique interface lets you quickly create the most complex window arrangements you can dream up in seconds flat.
操作はこの動画を見るとすぐにわかります。
英語ですが、操作デモを見ているだけで、どんなことが出来るか、わかります。
ウィンドウのリサイズがブロックをドラッグすることで可能なので、とても直感的じゃないですか?
また、アプリケーション側でリサイズを自動に決める訳でもないので、柔軟に設定できそうです。
特定のサイズをショートカットとして保存できる点も気に入りました。
有料のようですが、デモ版でもアプリケーションの立ち上げのときにたまに登録画面がポップアップするだけで、それほど操作に支障はなさそうです。
私自身もまだ買ってはいません。
ただ、良いアプリケーションなので、使い込むようになったらちゃんと支払おうかな。
とにかくこのDivvy、カフェなどで作業しているときに一層役立ちそうです。
Divvy · Window management at its finest.
[2010/08/31 追記]
先日、ライフハッカーさんでこんな記事が上がっていましたね。
モニタの数ではなくピクセル数が生産性に関わっているとのこと。
この記事で紹介しているDivvyも載っていましたよ。
よろしければ合わせて読んでみてください。
欲しいものは全てブラウザからAmazonに放り込む
- 2010年8月17日 3:30 PM
- Application | Service
Safariでたまたま見つけた便利そうなエクステンションを紹介。
Now your Amazon.com Wish List is always accessible. With the official Amazon.com extension, Add to Amazon Wish List, you can add any item from any website to your wish list with one simple click. This makes it easier than ever to keep track of all the items you wish for, all in one place. When you see something you like on a website, just click the Add to Wish List button.
どうやら、Amazon公式のエクステンションのようですね。
どんなサイトからもAmazonのウィッシュリストにワンクリックで追加できるとか。
あなたが欲しい全てのものを一元管理できますよ!とのこと。
うまく使えば便利そうですね。
ついでに、他のブラウザにもエクステンションがないか調べてみました。
- Firefox
- Chrome
それぞれエクステンションが出ていますね。
アマゾンのウィッシュリストを活用している方は使ってみてはいかがでしょうか?
[追記]
Amazon、4月に“何でも欲しいものリスト”なんてサービスを初めてたんですね。
知りませんでした…。
紹介したエクステンションはこのサービス向けのものですね。
Amazon.co.jp、他サイト商品に対応した「何でもほしい物リスト」
このエクステンションの他に、ブックマークレットもあるようなのでそちらも活用できそうです。
MacBookのトラックパッド”慣性あり”の設定での注意点
- 2010年8月8日 9:13 AM
- Mac OS X
最近、Mac OS Xがアップデートされましたね。
きちんと把握していませんが、トラックパッドのドライバ関連のアップデートだったかと。
このアップデートを適用すると、
システム設定 > トラックパッド > 2本指の操作 > スクロール > 慣性あり
という設定が出来るようになります。

この”慣性あり”を設定すると、2本指で画面をスクロールしたときに、慣性がつくようになります。
つまり、iPhoneのように指で弾くように操作すると、すぐにスクロールが止まらず、ずずずーっと(効果音で失礼)しばらく画面が動いてから止まります。
これが”慣性あり”の設定なのですが、この設定にしてから気になっていたことがありました。
それはSpacesのcontrolキーショートカットと併用した場合です。
私はSpacesを利用しています。
その切り替えには”control + 十字キー”のショートカットを使っています。
なので、次のような操作をよく行います。
- Space3でデバッグFirefoxを開いておく。
- 結果を確認するために”慣性が効いた状態”で画面をスクロールする。
- その後、ターミナルでプログラムを修正するために、”control + ↑”でSpace1の画面に切り替える。
この操作をしたときに、なぜかFirefoxの画面が拡大されるのです。
(メニューの操作で言い換えると、”ズーム”です。)
この現象、はじめはなぜ起こるのかわかりませんでした。
しかし、結構邪魔なので少し調べてみると、トラックパッドの”慣性あり”の設定が原因だとわかりました。
つまり、
“慣性が効いた状態“で“controlキーを押す“とズームされるようなのです。
この現象、Safariでは起こらないようです。Firefoxだけでしょうか?
皆さんも同じ現象が起きたときは、上記の状態にならないように注意してみてください。
もし、解決策を知っている方がいましたら、教えて頂けると幸いです。
ホーム > Application
- エキスパートPythonプログラミング読書会 第二期 07の募集を開始しました! http://t.co/DuVQ32jM #expertpython 2 days ago
- 受付を撤収したので、遅れてくる方は @sanojimaru か、 @tfmagician まで声をかけてください。 #expertpython 3 days ago
- http://t.co/e4N59JH3 4章ですね、募集ページを修正しました。 #expertpython 3 days ago
- More updates...
- 無印良品の高度なFacebook連携がさすがだと思った件 « Looops 直人の備忘録
- Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
- 0から始めるiPhoneからのWordPress更新術。第9回 終わりに。一連の流れ ...
- shell.vim 0.9.6 -- Improved integration between Vim and its environment (fullscreen, open URL, etc)
- Cakephp auth refresh websites and posts on cakephp auth refresh
- さよなら、iPhone。 日本でも訴訟されて発売されるGalaxyS2の凄さがわかる動画 alpha device
- フィードからの情報をデスクトップ通知してくれるChrome拡張機能「RSS Alert」
- PHPとアジャイル開発の勉強会を開催しました | 48JIGEN
- レノボ、Android 採用の ThinkPad タブレットを今夏発売へ。Windowsタブレットは年内
- 致命的すぎるバグがgithubで話題 « A-Listers


