Ubuntu の Vim は、ファイルを開いたときに、前回終了した場所にカーソルがありません。
Fedora のときは、特に設定しなくても、前回終了した場所にカーソルがありました。
.vimrc に設定を追加することで、それは解決するようです。
Fedora はどこかで設定されてたのかな?
.vimrc に以下を追加します。
(この設定を探すのに時間がかかりました)
" 前回終了したカーソル行に移動 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"" | endif
参考: http://d.hatena.ne.jp/sugarbabe335/20080801/1217596590
現在の .vimrc 。
syntax off set autoindent set tabstop=4 set expandtab set vb " set number " 入力中のコマンドをステータスに表示 set showcmd " 括弧入力時の対応する括弧を表示 set showmatch " ステータスラインを常に表示 set laststatus=2 " 前回終了したカーソル行に移動 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"" | endif " 文字コードの自動認識 " http://www.kawaz.jp/pukiwiki/?vim#content_1_7 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
参考: http://www.kawaz.jp/pukiwiki/?vim#content_1_7
● Vim、前回、編集、終了、場所、カーソル、.viminfo、.vimrc
0 件のコメント:
コメントを投稿