mem()rand()m

ひよっこIT基盤技術者の備忘録

vimを自分好みに設定する

目的

vimの見た目と詳細機能を".vimrc"を編集して整える。

.vimrcの設定

シンタックス・ハイライト設定

黒背景のコンソール画面に対して、以下の設定が見栄えが良いと感じた。

set number
syntax on
highlight Comment ctermfg=lightblue
highlight LineNr ctermfg=darkyellow
highlight NonText ctermfg=darkgrey
highlight Folded ctermfg=blue
highlight SpecialKey cterm=underline ctermfg=darkgrey

タブ設定

タブを4スペースで置換する。ただしMakefileに対しては、スペース置換を行わない。

set ts=4 sw=3
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
autocmd BufRead Makefile setlocal noexpandtab

文字コード設定

set encoding=utf-8
set fileencodings=jis,euc-jp,iso-2022-jp,cp932,ucs-bom,utf-8

入力設定

コーディング時、ブロックごとのインデントが自動で行われるように設定。

set autoindent
set incsearch
set smartindent
set smarttab

そして、行末で一文字先へ移動した際に次の行へ移る(wrap)設定

set whichwrap=b,s,h,l,<,>,[,]
set nowrapscan

括弧、クォートの自動補間

括弧{,[,(を入力した際に、対の括弧が自動で入力される設定。もし一対の"{"だけを入力したい場合は"{{"を入力する仕様とした。また"{<Enter>"を入力した場合は自動でインデントをかける。

inoremap { {}<Left>
inoremap [ []<Left>
inoremap ( ()<Left>
inoremap " ""<Left>
inoremap ' ''<Left>
inoremap ` ``<Left>
inoremap {{ {
inoremap [[ [
inoremap (( (
inoremap "" "
inoremap '' '
inoremap `` `
inoremap {<CR> {<CR>}<ESC><UP>o
inoremap [<CR> [<CR>]<ESC><UP>o
inoremap (<CR> (<CR>)<ESC><UP>o