2006-09-15 (金)
■ vim の文字コード自動認識
玄箱のデフォルトのロケールを UTF-8 に設定して使っているが、 文字コードが EUC のファイルを vim で編集しようとすると、 文字化けすることに気が付いた。 あれ? vim って文字コードの自動認識はしてくれないのか?
調べてみたところ、 ずんWiki の vim のページ に、 文字コード自動認識のための設定が載っていた。 ただ、ちょっと大げさすぎる気がする。 常用するわけではないので、もう少しシンプルな設定で済ませたい。
vim の文字コード設定 のページを読むと、 基本的には、fileencodings に候補の文字コードをずらずら並べればいいようだが、 どの文字コードをどの順番で記述すべきなのかがよく分からない。 ただし、以下のルールは守ったほうが良さそうだ。
- encoding に指定した文字コードは、fileencodings 中に指定しない
- euc-jp は cp932 よりも先に記述する
ということで、設定をしてみた。 vim の設定は、普通は ~/.vimrc に設定するらしいが、 これは全ユーザに共通の設定にしたいので、 /etc/vim/vimrc.local に以下の設定を追加した。
set encoding=utf-8 set fileencodings=ucs-bom,iso-2022-jp,euc-jp,cp932 set fileformats=unix,dos,mac set ambiwidth=double
この設定をした後、EUC で書かれたファイルを読み込んでみたところ、 とりあえず文字化けせずに編集できるようになった。
(追記) fileformats と ambiwidth の設定を追加した (2006/11/18)。
(2009/04/08 追記)
上記のリンク先に、
'fencs' の途中で 'enc' と同じものが登場すると以降の変換試行が行われない
と書かれていますが、少なくとも最近の Vim ではそのような制限はないようです。 上の設定だと、UTF-8 のファイルを SJIS と誤判定することがあったので、 こちらの設定のように、fileencodings に utf-8 も加えた方が良さそうです。
- 23 http://blogger.blog360.jp/552429/20599687
- 8 google検索(vim 文字コード)
- 8 http://d.hatena.ne.jp/rdera/20080427/p1
- 7 google検索(vim 文字コード 自動認識)
- 5 google検索(debian vi 文字化け)
- 5 google検索(vim 文字コード 自動認識)
- 4 google検索(vim 文字コード)
- 4 google検索(vim 文字コード 自動認識)
- 4 google検索(vimrc.local)
- 4 google検索(vimrc 設定 utf)
- 4 goo検索(vi 文字化け)
- 3 http://www.kawaz.jp/pukiwiki/?plugin=referer&page=...
- 3 google検索(debian vim 文字化け)
- 3 google検索(debian vi 文字化け)
- 3 google検索(vim 文字コード 自動認識)
- 3 google検索(vim 文字コード 自動)
- 3 google検索(文字コード 認識 vi)
- 3 google検索(debian 指定 文字コード)
- 3 google検索(t)
- 3 google検索(vimrc 文字コード 自動)
- 3 google検索(vim 文字コード 自動認識)
- 3 google検索(vi 文字コード)
- 3 google検索(centos locale 文字コード変更)
- 3 google検索(debian vi utf-8)
- 3 google検索(vim cp932 文字化け)
- 3 google検索(vim lenny 文字化け)
- 3 google検索(vim 文字コード 自動認識)
- 3 google検索(set fileformats=unix,dos,mac vimrc)
- 3 google検索(debian 文字コード 設定)
- 3 google検索(vim 文字コード)
- 3 http://www.google.co.jp/hws/search?q=vim centos&cl...
- 3 goo検索(centOS vimrc)
- 3 http://d.hatena.ne.jp/rdera/searchdiary?word=*[vim...
- 2 google検索(vim 文字コード 自動)
- 2 google検索(vi 文字コード 自動認識)
- 2 google検索(euc debian vim 文字化け)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vimrc 文字コード)
- 2 google検索(vi 文字化け debian)
- 2 google検索(debian 文字コード変更)
- 2 google検索(vimrc 文字化け)
- 2 google検索(vi 文字化け)
- 2 google検索(debian vim vimrc)
- 2 google検索(debian vi 文字化け)
- 2 google検索(debian vim utf-8)
- 2 google検索(debian vi 文字化け)
- 2 google検索(.vimrc 文字化け)
- 2 google検索(vim 文字コード 自動)
- 2 google検索(vi 文字コード fileencodings)
- 2 google検索(debian vi 文字化け)
- 2 google検索(viの文字コード)
- 2 google検索(vmware 文字コード 変更)
- 2 google検索(vimrc 文字コード 自動認識)
- 2 google検索(vimrc 文字コード 例)
- 2 google検索(vimrc 文字コード)
- 2 google検索(vim vimrc 文字コード)
- 2 google検索(vim cp932 文字化け)
- 2 google検索(vim 文字コード euc)
- 2 google検索(vim 文字コード 自動)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vim 文字コード)
- 2 google検索(vim 文字コード)
- 2 google検索(vim ロケール自動認識)
- 2 google検索(debian vi UTF-8)
- 2 google検索(debian 文字化け)
- 2 google検索(debian 文字コード)
- 2 google検索(debian 文字コード 変更)
- 2 google検索(centos vi 文字化け)
- 2 google検索(玄箱 vi 文字化け)
- 2 google検索(玄箱 MAC 文字化け)
- 2 google検索(vim 文字コード)
- 2 google検索(debian vimrc)
- 2 google検索(vi 文字化け centos)
- 2 google検索(vimrc.local 自動認識)
- 2 google検索(vimrc 文字コード)
- 2 google検索(vimrcの文字コード)
- 2 google検索(vim 文字コード 自動)
- 2 google検索(vim 文字コード)
- 2 google検索(vim 文字コード 認識)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vi 文字化け vimrc)
- 2 google検索(vi 文字化け debian)
- 2 google検索(vi 文字コード vimrc)
- 2 google検索(vi 文字コード 自動認識)
- 2 google検索(ethna 全角チェック)
- 2 google検索(devian vim 文字化け)
- 2 google検索(debian vim 文字化け)
- 2 google検索(debian vi 文字化け)
- 2 google検索(centos vi 文字コード 自動認識)
- 2 google検索(CentOS 文字 自動)
- 2 google検索(文字コード 自動認識 vimrc)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vi 文字化け)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vim 文字コード 自動認識)
- 2 google検索(vi 文字化け)
- 2 google検索(vi 文字コード指定)
