2008/04/05

OpenBSD/Zaurus + Vim7

Chalice(2chリーダ)使う関係でVim6を使っていたのですが、Vim7に変更。
理由は、行番号表示(set number)が強制的に8桁とられてしまうのが嫌で、Vim7では必要に応じて桁数が変わるという情報があったからです。

タダでさえOpenBSD/Zaurusは表示が狭いのに…。

Vim6でも設定で何とか出来そうな気もしますけど。

・Vimのバージョン
:version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Nov 19 2008 13:29:35)
適用済パッチ: 2-6, 8-21, 23-25
Compiled by xxx@xxx.xxx
通常 版 without GUI. 機能の一覧 有効(+)/無効(-)
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset
+cindent -clientserver -clipboard +cmdline_compl +cmdline_hist
+cmdline_info +comments +cryptv -cscope +cursorshape +dialog_con
+diff +digraphs -dnd -ebcdic -emacs_tags +eval +ex_extra
+extra_search -farsi +file_in_path +find_in_path +float +folding
-footer +fork() +gettext -hangul_input +iconv +insert_expand
+jumplist -keymap -langmap +libcall +linebreak +lispindent +listcmds
+localmap +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg
-osfiletype +path_extra +perl +postscript +printer -profile +python+quickfix +reltime -rightleft +ruby +scrollbind -signs +smartindent
-sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static
-tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra
+viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11
-xfontset -xim -xsmp -xterm_clipboard -xterm_save
システム vimrc: "$VIM/vimrc"
ユーザ vimrc: "$HOME/.vimrc"
ユーザ exrc: "$HOME/.exrc"
省略時の $VIM: "/usr/local/share/vim"
コンパイル: cc -c -I. -Iproto -DHAVE_CONFIG_H
-I/usr/local/include -O3 -fno-delete-null-pointer-checks
-I/usr/local/include
-I/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-I/usr/local/include/python2.5 -pthread
-I/usr/local/lib/ruby/1.8/arm-openbsd4.4
リンク: cc -L. -Wl,-E -Wl,
-R/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-L/usr/local/lib -o vim -lcurses -lintl -liconv
-Wl,-R/usr/libdata/perl5/arm-openbsd/5.8.8/CORE -Wl,-E
/usr/libdata/perl5/arm-openbsd/5.8.8/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/arm-openbsd/5.8.8/CORE
-lperl -lutil -lc -L/usr/local/lib/python2.5/config
-lpython2.5 -pthread -lutil -Wl,--export-dynamic
-Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby -lm

・~/.exrc
set tabstop=4
set showmatch
set autoindent
set number
set showmatch
set shiftwidth=4
set showmode
set tags=./tags

・~/.vimrc
文字コード関連はこちらを参考にさせてもらいました。(というかそのままです)
" 他のviとの共通設定を読み込む
source ~/.exrc

filetype plugin on

" c-]でタグジャンプしたらc-[で戻る
" nmap <c-[> :pop<CR>

" allow backspacing over everything in insert mode
" set backspace=indent,eol,start
" if &t_Co > 2 || has("gui_running")
" syntax on
" set hlsearch
" endif
"
hi linenr term=bold ctermfg=darkblue
"256 color
set t_Co=256

" --------------------------------------
" Encoding

" 文字コードの自動認識
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
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
set ambiwidth=double
endif

" --------------------------------------

" --------------------------------------
" for Chalice

" URLを外部ブラウザ(dillo)で起動
let chalice_exbrowser_1 = 'dillo %URL% &'

" URLを画像ビューア(qiv)で起動
" let chalice_exbrowser_0 = 'wget -O /tmp/$USER.img %URL% ; qiv -n /tmp/$USER.img'
let chalice_exbrowser_0 = 'feh %URL% '

" URLを新しいscreenウィンドウ上のw3mで起動
let chalice_exbrowser = 'screen -X screen elinks %URL% '

" 自動プレビューは利用しない
let chalice_preview = 0

" プレビューは自動で閉じる
" let chalice_previewflags = 'autoclose'
let chalice_previewflags = 'stay'

" Chalice起動時は栞を開く
let chalice_startupflags = 'bookmark'
let chalice_columns = -1
"let chalice_boardlist_columns = 11
" --------------------------------------


こちらのとおりに文字コード関連の設定を行なったところ、Chalice も vim-bloggerも encoding を変えなくても一見すると文字化け等はしなくなったのですが、Chalice で記事を "r" で部分アップデートすると追加された箇所から文字化けしてしまいました。

Chalice 1.9.019 で対策された問題のようですので Chalice をアップデートしたところ、部分アップデートしても文字化けしなくなりました。

2008/12/01 追記
Vim の :version と .vimrc を変更。
前のままだと、encoding を vim-blogger と Chalice とで切り替えなければな使えなかったので。
2008/12/01 追記終了

0 件のコメント: