vim + screenはじめました
今日突然screen+vimに目覚めました。
こんな便利なのになんで今まで使ってこなかったんだろ・・・。
いま情報整理中なのでとりあえず~/.vimrc晒してみるテスト。
いろいろな所からコピペしたものなのでちょっとアレげかも。
参考にさせて頂いたサイトの方、ありがとうございます。
" vim: set ts=4 sw=4 sts=0: "----------------------------------------------------------------------------- " 文字コード関連 " 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 "----------------------------------------------------------------------------- " 編集関連 " "モードラインの無効化 set nomodeline "バックアップを取らない set nobackup "backspaceキーの挙動を設定する " indent : 行頭の空白の削除を許す " eol : 改行の削除を許す " start : 挿入モードの開始位置での削除を許す set backspace=indent,eol,start "オートインデントしない set noautoindent "バイナリ編集(xxd)モード(vim -b での起動、もしくは *.bin で発動します) augroup BinaryXXD autocmd! autocmd BufReadPre *.bin let &binary =1 autocmd BufReadPost * if &binary | silent %!xxd -g 1 autocmd BufReadPost * set ft=xxd | endif autocmd BufWritePre * if &binary | %!xxd -r | endif autocmd BufWritePost * if &binary | silent %!xxd -g 1 autocmd BufWritePost * set nomod | endif augroup END "----------------------------------------------------------------------------- " 検索関連 " "検索文字列が小文字の場合は大文字小文字を区別なく検索する set ignorecase "検索文字列に大文字が含まれている場合は区別して検索する set smartcase "検索時に最後まで行ったら最初に戻る set wrapscan "検索文字列入力時に順次対象文字列にヒットさせない set noincsearch "----------------------------------------------------------------------------- " 装飾関連 " "シンタックスハイライトを有効にする syntax on "カラースキーマ colorscheme slate "行番号を表示しない set nonumber "タイトルを表示しない set notitle "タブの左側にカーソル表示 set listchars=tab:\ \ set list "タブ幅を設定する set tabstop=4 set shiftwidth=4 "括弧入力時の対応する括弧を表示 set showmatch "検索結果文字列のハイライトを有効にする set hlsearch "入力中のコマンドをステータスに表示する set showcmd "ステータスラインを常に表示 set laststatus=2 "ステータスラインに文字コードと改行文字を表示する set statusline=%-50.50f\ %16(\ %m%r%{GetEFstatus()}%)%=%l\ /%5L "ステータスラインの色 hi StatusLine term=NONE cterm=NONE ctermfg=black ctermbg=white "----------------------------------------------------------------------------- " マップ定義 " "バッファ移動用キーマップ " F2: 前のバッファ " F3: 次のバッファ " F4: バッファ削除 map <F2> <ESC>:bp<CR> map <F3> <ESC>:bn<CR> map <F4> <ESC>:bw<CR> "表示行単位で行移動する nnoremap j gj nnoremap k gk "フレームサイズを怠惰に変更する map <kPlus> <C-W>+ map <kMinus> <C-W>- "----------------------------------------------------------------------------- " 関数 " "ステータスライン表示用 function! GetEFstatus() let str = '' let fenc = '' if &fileformat == 'unix' let str = '[UNI]' else let str = '[' . &fileformat . ']' endif if &fileencoding != '' if &fileencoding =~# 'iso-2022-jp' let fenc = 'J' elseif &fileencoding == 'utf-8' let fenc = 'U' elseif &fileencoding == 'cp932' let fenc = 'S' elseif &fileencoding =~# 'euc-jp' let fenc = 'E' else let fenc = &fileencoding endif let str = str . '[' . fenc . ']' else let str = str . '[-]' endif unlet fenc return str endfunction
次はscreenの~/.screenrcです。
# $Id: dot.screenrc,v 1.4 2008/04/25 02:39:53 takumi Exp $ # setenv screen true defencoding eucJP startup_message off vbell off autodetach on defscrollback 10240 msgwait 2 hardstatus on hardstatus alwayslastline hardstatus string "%{.Wb}.: %-w%{.RW}%n %t%{-}%+w :. %=[%Y-%m-%d %02c]" caption splitonly "%{.BW} >> %n %t" termcapinfo xterm|kterm|kterm-color 'hs:ts=\E]2;:fs=\007:ds=\E]0;screen\007' escape ^z^z
次はzshでもいれようかしら。