Vim7で日本語入力までの道のり

2006年11月18日(土) 23:00

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))

なかなか素晴らしい:)


 
ponybadge

Powered by

Feedbacks

Tweets

Tags

Calendar