| @技術/プログラミング

FreeBSDでVimを起動しファイルを編集したあと、 :q でVimを終了させてるのに元のコンソールに戻らなくてなんか嫌だなーと思っていた。MacもUbuntuもDreamHostのDebianもVimを閉じると元に戻るのに、職場の本番環境のFreeBSDだけこれなの。ファイル編集前のコンソールの履歴とかを見たいこともあるので、Vimが終了したら元の画面に戻るようにしたいと随分長いこと思っていたんだけど、たったいまようやく出来たのでメモっときます。

ちなみにVimには restorescreen とかいうオプションがあるらしく、必死で.vimrcにこの設定を書いてたけど、これはなんかWindowsのVim専用のオプションらしいのでマカーやUNIXユーザーの方はこれを設定しても無駄です。

情報元は フルスクリーンアプリを終了したときに元のコンソールの状態に復元する - 技術メモ帳 というページ。

FreeBSDの場合、 /etc/termcap ってのの中にフルスクリーンアプリを終了したときにコンソールに戻るかどうかを設定する場所があって、こいつを変更すればよいらしい。

しかし自分はこのサーバーでroot権限を持ってない。なので cp /etc/termcap ~/.termcap したあと chmod 644 ~/.termcap して vim ~/.termcap し、自分の使ってるターミナルの環境に合わせて設定を変更してやるとOK。

僕の場合はMacの純正ターミナルを、シェルはzshで使っている。 echo $TERM してみると xterm-color と表示されるのでxterm-colorの設定が書いてあるところをいじった。

くわしくは上のリンク先を見てもらうといいんだけど、とにかく te ってのと ti ってのがあって、これをMacの場合は te=E7E[?47hti=E[2JE[?47lE としてあげればいい。そんでシェルの設定ファイルに export $TERMPATH=$HOME/.termcap と書いてやり、一端ログアウトして再ログインするとめでたくVimを終了したときにコンソールが復元されるようになります。

| @Mac/iPhone

CakePHPとかRailsでサイトを作るときはModel View Controllerを頻繁に行ったり来たりします。Vimは確かに素晴らしいのですが、複数のファイルを一括で開いてあちこち編集するのはさすがに苦行に近いものがあります。CodaとかTextMateはサイドにDrawerがあってファイルをブラウズしながらタブでじゃんじゃんファイルを開いていけるのでかなり便利です。Codaの例ですが、こんな感じ。

1119_coda_1.png

CakePHPでなんか作ってるときはCoda一辺倒でした。とにかく使いやすい。タブ機能だけじゃなく、ファイルを「分割ウィンドウで開く」という機能があって、例えばModelを左に、Controllerを真ん中に、Viewを右に開いて各々を突き合わせながらコードを書くことができます。

1119_coda_3.png

この機能は重宝しました。こんな感じ。

1119_coda_2.png

RailsもCodaで書こうかと思ったんだけど、弱点がある。それはRuby on Railsのシンタックスに弱いことです。まったく対応してない訳じゃないけど、.html.erb形式のファイルの色分けがいけてない。メソッドの補完とかは結構やってくれるんだけど、それよか他にやることあるんじゃね? って感じですね。

結局、RailsはTextMateで書くことにしました。

TextMateのなんとも素晴らしいところはBundles機能。これすごいですね。いま開いてるファイルのViewやModelにBundlesメニューから一発で飛んでけたり。

あとTermina.appとの連携とかKey Bindingsとか。これでマルチバイト文字にネイティブで対応してくれてたら言うことなしなんだけど。

| @Mac/iPhone

MacはUnixとして使うと便利

IMG_0287

Macはシャレオツパソコンとして使うだけじゃもったいない。一応UnixなのでUnixとしても使える。

Unixコマンドが気持ちいい

  • 「○×は使用中のため削除できません」とか警告が出るファイルも sudo rm -f <ファイル名> と打てば消せる。ストレスフリー。

  • 10分後にシャットダウンさせるとかも楽ちん

    出かけなきゃいけないけどまだDropboxの同期が終わってなくて電源落とせない、みたいなときは、 sudo shutdown -h +n とか打つとn分後にシャットダウンする。nのところに10を入れて実行すれば10分後にシャットダウンする。便利。

きっかけ

GitやVim、サーバー環境構築などでTerminal.appを多用するようになった。

  • Git

    • とにかく便利。プログラミングしてなくても、htmlやcssのバージョン管理もできる。『入門git』という本を読んでるけど、著者はこの本自体をGitを使ってバージョン管理しながら書いたらしい。ちょっとUnixの操作に慣れれば劇的に快適な文書のバージョン管理環境がゲットできる。共同作業で使うんじゃなく一人でやるんでも便利。
  • Vim

    • 最初はとっつきにくかったけど、慣れたらとても使いやすい。さすがにhtml書くときはグラフィカルなエディターを使うけど(Espressoで全裸コーディングとか)、プログラムを書くときはvimの割合が増えた。Terminalとの行ったり来たりが楽だし、そもそもGitを使ってたら git commit -a のときにVimが自動で開くし必然的に使う機会が増える。

MacPortsは神

MacPortsのリポジトリは結構頻繁に更新されてる。新しいバージョンをインストールするために自分でリポジトリ追加したりしなくていいし、とにかくパッケージ管理が楽。個人的に自宅サーバーやるんだったら古いMacにMacPortsで環境つくる。

というわけで

iTunesとSafari専用マシンとしてだけMacを使うのはもったいないです。良かったらUnixとしても使ってあげてください。

Snow LeopardになってもUnixとしてのOS Xには大きな変化がないので以下の本がオススメです。僕も毎日拾い読みしてます。

| @Mac/iPhone

最近、映画の感想を書くときはなるべくMicroformatsのhReviewで書くようにしてます。検索ロボットにもっと僕の映画評読んでもらいたいと思って。Googleの映画検索はとても便利なんですけど、レビューの点数拾ってきてるのは映画生活とgoo映画が殆ど。これ一般人のブログからも点数拾ってきたらすごく面白いだろうなー、そのうち僕の映画レビューの点数も拾ってくれるようになんないかなー、と思って今んとこ無駄な労力かも知んないけどhReviewにこだわって映画評書いてます。

で、hReviewなんですが、どういうのかっつったらこういうのです。

<div class="hreview">
 <span class="reviewer vcard">
  <span class="fn">anonymous</span>, 
  <abbr class="dtreviewed" title="20050418">April 18th, 2005</abbr>
 </span>
 <div class="item">
  <a lang="zh" class="url fn" href="http://www.imdb.com/title/tt0299977/">
  Ying Xiong (<span lang="en">HERO</span>)
  </a>
 </div>
 <div>評価:5 点満点中 <span class="rating">4</span> 点</div>
 <div class="description"><p>
  この映画は音楽と映像が素晴らしい。 </p></div>
</div>

こいうのを毎回入力するのはさすがにしちめんどくさい! HTMLとかプログラミング言語とかのコードの断片をスニペットって言うんですけど、入力する頻度が高いスニペットはクリップボードみたいのに常に保持できたら便利ですよね。ワンクリックで呼び出してコピペできたら手間が省ける。そういうののイカしたアプリねーかなーと思ってたら、先日macZOTでSnippetというソフトに出会いました。これがなかなか良い感じ。

詳しくは開発元が公開してるビデオを見て欲しいんですけど、こんな感じです。

</embed>

Snippet App from Stephen Korecky on Vimeo.

ちょっと英語が「うぇいうぇいあ〜」みたいな感じで聞き取りにくいですけど、HUDライクなUIでかっちょよくスニペット管理が出来ます。僕がこれまでに試してみたことのあったスニペット管理アプリはメニューバーから呼び出すのではなくアプリケーションウィンドウで管理するものばかりで、結局常用するに至りませんでした。気軽にコピペする気にならない。

翻ってSnippet.appは Control + s でお気軽お手軽に呼び出せます。ホットキーが充実してるのでマウス操作なしでスニペットの追加、参照が可能。加えて検索が高速で、Tag付けも可能なので大変気に入ってしまいました。MobileMe経由で同期することも可能なので、自宅のMacと職場のMacでスニペットを一元管理みたいなエロい使い方もできますね。

Codaとかはアプリケーションのなかにスニペット管理機能が付いてますけど、コードの断片はアプリケーションを横断してやり取りしたくなるもの。軽くてホットキーで呼び出したらメニューバーからにょきにょきっと現れて高速にスニペットを参照できるSnippet.appはかなりオススメです。シェアウェア$12.95ですが、Twitter(@snippetapp) でよくディスカウント情報流してます。良かったらチェキラーしてください。

| @Mac/iPhone

今日はちょっとテキストエディターについて語ってみたいと思います。ちなみにTerminalから直接呼び出して使う系のエディターにはまだ手を出してません。viとかvimっていうんですかね。これはjとかkとかでカーソル移動させるしちょっと初心者には敷居が高いです。以下が僕が持ってる&日頃ぼちぼち使ってるテキストエディターの一覧です。

  • CotEditor
  • Coda
  • Espresso
  • CSSEdit(CSS専用)
  • Dreamweaver
  • Xcode

CotEditor

CotEditor

単純にテキストを書くならCotEditorが良いですね。軽いです。P_BLOGのコードも書いておられるnakamuxuさん作のテキストエディターです。国産。もちろんコード書くのにも向いてます。AppleScriptでわしわし機能強化とかも出来そうです。CodaゲットするまではCotEditor一本でした。いまでもWindowsでいう秀丸エディタ的な地位を僕のMacで占めてます。とりあえず素性の怪しいファイルはCotEditorで開いて確認してみます。TextEditとかまず使いません。

Coda

Coda

Codaはやっぱり素晴らしいですね。プラグインもたくさんあってかなり良い感じになってきてます。UIの美しさが群を抜いていて、使っていてとても気持ちが良いです。これ一つでサーバーにSSHアクセスもできるし、FTPクライアントも内蔵してるし、コード自動補完機能が付いてるし、カラーシンタックスも見やすくて大変素晴らしいです。もうどうにでもして。 Continue reading...