.vimrcの設定

やはり.vimrcとの戦いは避けられません(笑

自分でプログラミングして作るサービスはもちろん、
設定変更とかでどうしてもファイル編集は必要!

だからエディタにはちょっとこだわりたい。
と言っても、自分のこだわりは少ないほうかな^^

今設定している.vimrcをご紹介。#前回紹介したもの含む
いろいろなサイトに載っているもの参考にして作りました。
自分のブクマにありますので興味ある方は本家をどうぞ^^)b

以前もvimのソース折り畳み機能書いたけど、
実は設定が足りていませんでした。。(;´Д`)
vim – ソースコードの折り畳みComments

この機能はデフォルトではCとかのコメントアウトしか
対応していないぽいです。

/* こういうコメントアウト */
だから折りたたみたい場合はこう書く。
int main {    /* {{{ */
xxx;
}    /* }}} */

でも、自分がよく使うPerlののコメントアウト
は#(シャープ)ですΣ(゚Д゚;

調査中にいいサイト発見!!シンプルでわかりやすいです♪
http://reddog.s35.xrea.com/wiki/Vim%20%E6%8A%98%E3%82%8A%E7%95%B3%E3%81%BF.html

そこで学んだのは以下です。
この設定を .vimrc に追加してあげるだけ。

set foldmethod=syntax
set commentstring=;#%s
set fdm=marker

これを設定してあげれば、#(シャープ)後も
折りたたんでくれます(≧∇≦)b
今は感じで使っています♪

sub hoge_function {    # {{{
print "hoge\n";
print "hoge\n";
print "hoge\n";
}    # }}}
これを折りたたむと!
+--  5 lines: sub hoge_function { # ---------------------

ちなみに必要な折り畳みコマンドはこれくらいかな~

zo -- 折り畳まれてるのをコードを広げる(スペースとかでもok ^^v)
zc -- 今いる位置のコードを折りたたむ
zM -- ファイル内全クローズ!
zR -- ファイル内全オープン!

ソースがかなりスッキリします♪ しばらくは多様しそう(笑
そのうちちょうどいい折りたたみポリシーに辿り着けばいいな~♪

.vimrc

set number
set showmode
set showmatch
set hlsearch
set tabstop=4
set foldmethod=syntax
set commentstring=;#%s
set fdm=marker
" 文字コードの自動認識
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 ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch
"-----------------------------------------------------------------------------
" 装飾関連
"
"シンタックスハイライトを無効にする
if has("syntax")
syntax off
endif
"行番号を表示する
set number
"タブの左側にカーソル表示
set listchars=tab:\ \
set list
"タブ幅を設定する
set tabstop=4
set shiftwidth=4
"入力中のコマンドをステータスに表示する
set showcmd
"括弧入力時の対応する括弧を表示
set showmatch
"検索結果文字列のハイライトを有効にする
set hlsearch
"ステータスラインを常に表示
set laststatus=2
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 ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch
"-----------------------------------------------------------------------------
" 装飾関連
"
"シンタックスハイライトを無効にする
if has("syntax")
syntax off
endif
"行番号を表示する
set number
"タブの左側にカーソル表示
set listchars=tab:\ \
set list
"タブ幅を設定する
set tabstop=4
set shiftwidth=4
"入力中のコマンドをステータスに表示する
set showcmd
"括弧入力時の対応する括弧を表示
set showmatch
"検索結果文字列のハイライトを有効にする
set hlsearch
"ステータスラインを常に表示
set laststatus=2
"ステータスラインに文字コードと改行文字を表示する
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
カテゴリーvim

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です