※ 商品リンクから購入されると少額の報酬が発生することがあります。
TextMateで日本語入力が出来るようになりました。ずっと求めていた機能が使えることになった途端、自分がエディタに求めていたことが分かりました。
自分が求めていたのは、「ファイルエクスプローラ+タブ」ではなく、「キーボード操作+なんでもできる」なのでした。 そういう意味では Aquamacs はemacsなので何でもできそうです。Aquaなので日本語の入力にも問題なく、テーマもたくさん入っていて好みなのです が、subversionを直にエディタから使おうと思うと面倒です。
もう一つ何でもできそうなエディタとして、最近流行のVim7というものがあります。拡張がPythonで書けるらしいです。ちょっと調べてみると、OSXで日本語 入力に対応しようとすると結構面倒(XCodeでコンパイルってのもちょっと。エディタなのに)。 いやいや、あるじゃん。carbonなVim7が。というお話。
OSXでVim7日本語入力環境を作る
日本語環境を作る方法は、 Mac Vim 再び と ずんWiki - vim のコードです。
macvim をダウンロード・展開して、vimをアプリケーションディレクトリに配置。
~/.vimrcを作成して、以下を記入するだけ。
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,euc-jp,iso-2022-jp,cp932
set ffs=unix
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("¥x87¥x64¥x87¥x6a", 'cp932', 'eucjp-ms') ==#
"¥xad¥xc5¥xad¥xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
elseif iconv("¥x87¥x64¥x87¥x6a", 'cp932', 'euc-jisx0213') ==#
"¥xad¥xc5¥xad¥xcb"
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','.
s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^¥(euc-jp¥|euc-jisx0213¥|eucjp-ms¥)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" □とか○でカーソル位置がずれないようにする
set ambiwidth=doubleあれま、簡単。でも文字が汚いし、日本語はちょっと変。
やっぱりAquamacsかな。。。だれかvc-svn教えて!
追記: Subversion メモ によると、簡単
Aquamacs/Contents/Resources/site-lispにpsvnというディレクトリを掘って、 psvn.el を置く。
~/.emacs.elに以下を記述して、M-x svn-statusとかするだけ
;;----------------------------------------------------------------- ;; psvn.el ;;----------------------------------------------------------------- (require 'psvn) (define-key svn-status-mode-map "q" 'egg-self-insert-command) (define-key svn-status-mode-map "Q" 'svn-status-bury-buffer) (define-key svn-status-mode-map "p" 'svn-status-previous-line) (define-key svn-status-mode-map "n" 'svn-status-next-line) (define-key svn-status-mode-map "<" 'svn-status-examine-parent) (add-hook 'dired-mode-hook '(lambda () (require 'dired-x) ;;(define-key dired-mode-map "V" 'cvs- examine) (define-key dired-mode-map "V" 'svn-status) (turn-on-font-lock) )) (setq svn-status-hide-unmodified t) (setq process-coding-system-alist (cons '("svn" . euc-jp) process-coding-system-alist))
なかなか素晴らしい:)