Subscribed unsubscribe Subscribe Subscribe

文字コード設定

id:ka-nachtさんより以下のようにアドバイスを頂きました。

私はマルチバイト文字が含まれないバッファを開いた場合に'encoding'の値を用いるようにしています。参考: http://github.com/kana/config/blob/299f820a897b9b78cdc5c4e9cf28216215158083/vim/dot.vimrc#L1951

おぉそんなことができるんですね。
参考に挙げて頂いた設定を見よう見まねで組み込んでみました。

#augroupとかまだ理解していませんが、まずはそのままコピペしてみました。
#vimの本買うかな〜

set enc=utf-8
set fencs=iso-2022-jp,euc-jp,cp932
 
" Fix 'fileencoding' to use 'encoding'
" if the buffer only contains 7-bit characters.
" Note that if the buffer is not 'modifiable',
" its 'fileencoding' cannot be changed, so that such buffers are skipped.
augroup MyAutoCmd
  autocmd!
augroup END

autocmd MyAutoCmd BufReadPost *
\ if &modifiable && !search('[^\x00-\x7F]', 'cnw')
\ | setlocal fileencoding=
\ | endif

確かにこれだと、

  • git commit -aでのコミットログ編集 --> ○
  • 試しにeuc-jpで保存したテキストファイルを開く --> ○

とうまく行きました。