TextMate tips

TextMate についての tips。

よく使うショートカット

⌘T プロジェクト内のファイルを検索して開く
⌘⇧F プロジェクト内で検索・置換
⌘R 実行 (Bundle 依存)
⌘/ 選択範囲をコメント / コメント解除 (Bundle 依存)

日本語の表示・入力

半角幅で日本語を表示できるフォントを導入

から ForMateKonaVe をダウンロード、インストール。 [TextMate]-[Preferences…]-[Font & Colors] で Font を ForMateKonaVe に。

日本語入力プラグイン

から CJK-Input.tmplugin をダウンロード。 ~/Library/Application Support/TextMate/PlugIns/ にコピー。

プロジェクトで無視するファイル

[TextMate]-[Preferences]-[Advanced]-[Folder References] の File Pattern でプロジェクトに追加するファイルのパターンを指定する。 デフォルトは下記の通り。

!(/\.(?!htaccess)[^/]*|\.(tmproj|o|pyc)|/Icon\r|/svn-commit(\.[2-9])?\.tmp)$

ログファイルがプロジェクトに入ると、プロジェクト内検索時に邪魔なので、.log を無視するようにする。

!(/\.(?!htaccess)[^/]*|\.(tmproj|o|pyc|log)|/Icon\r|/svn-commit(\.[2-9])?\.tmp)$

Bundle の追加

マニュアルでは svn リポジトリからとってくるよう書かれているが、github に移行した模様。 公式の Bundle は textmateのプロフィール - GitHub にある (.tmbundle となっているもの)。

たとえば haskell.tmbundle を導入したい場合、textmate/haskell.tmbundle - GitHub で [Git 読み込み専用] の URL を確認し (git://github.com/textmate/haskell.tmbundle.git)、ターミナルで下記のようにコマンド実行 (要 git)。

cd ~/Library/Application\ Support/TextMate/Bundles
git clone git://github.com/textmate/haskell.tmbundle.git

Bundle の編集

HTML 空タグ内での変換確定 return 無視

HTML で、空タグ内に日本語入力時、変換確定の return 押下時に、改行・インデントされるのを防ぐ。

[Bundles]-[Bundle Editor]-[Show Bundle Editor] を開き、[HTML]-[Special: Return Inside Empty Open/Close Tags] を選択。

[Activation] の右の入力ボックスにフォーカスし、×ボタンをクリック。

Ruby のインデント調整

デフォルトでは、Ruby において、下記のようなコードのインデントがうまくいかない。

hash = {
  :foo => {
    :name => "foo"
  },
  :bar => {
    :name => "bar"
  }
}

array = [{
  :foo => "foo"
}]

[Bundles]-[Bundle Editor]-[Show Bundle Editor] を開き、[Ruby]-[Indent] を編集する。

// 変更前
decreaseIndentPattern = '^\s*([}\]]\s*$|(end|rescue|ensure|else|elsif|when)\b)';

// 変更後
decreaseIndentPattern = '^\s*([}\],]+\s*$|(end|rescue|ensure|else|elsif|when)\b)';

インデントレベルを上げる閉じ括弧類のパターンが、単独の } か ] だけだったのを、}], のいづれかの 1 つ以上の連続に変更。

Git のエディタにする

$ git config --global --unset-all core.editor
$ git config --global core.editor "mate -wl1"

ペースト時の自動インデントを無効化

YAML や HAML などで、ペースト時に不要な自動インデントがされる場合、⌘⌃V で自動インデントなしでペーストできる。 これをデフォルトにしたいなら Preferences -> Text Editing -> Re-indent pasted text のチェックを外す。