個人的なVimの設定

Windows

_vimrc

"
" vimrc
"
" 設定ファイルの名前は「.vimrc」または「_vimrc」で作成
" 置き場所は$HOMEまたは$VIM。それぞれの場所は下記のコマンドで確認できる
"   :echo $HOME
"   :echo $VIM
" 全設定を確認
"   :set
" 個別に設定値を確認する場合は、設定名の後に「?」を付ける
"   :set 設定名?
" 設定の各種詳細は下記を参照
"   https://vim-jp.org/vimdoc-ja/options.html
"
"---------------------------------------------------------------------------
" 全般
"
" viの互換モードをオフにする(よく分かってないが、おまじないとして設定)
set nocompatible
" 文字コード
set encoding=utf-8
" ビープ音を消す
"set belloff=all
" 検索やコマンドの履歴の保存数
"set history=50

"---------------------------------------------------------------------------
" ファイル
"
" バックアップファイルを作成しない
set nobackup
" スワップファイルを作成しない
set noswapfile
" アンドゥファイルを作成しない
set noundofile
" 他でファイルが更新された時に自動で再読み込み
set autoread

"---------------------------------------------------------------------------
" 画面表示
"
" ウィンドウのタイトルバーにファイル名を表示
set title
" 行番号を表示
set number
" ステータスライン(0:非表示,1:ウィンドウが2つ以上の時のみ表示,2:常に表示)
set laststatus=2
" カーソルの位置(行,列)を画面の右下に表示
set ruler
" 入力中のコマンドを画面の右下に表示
set showcmd
" カーソルのある行・列をハイライト
"set cursorline
"set cursorcolumn

"---------------------------------------------------------------------------
" コマンドライン
"
" コマンドラインの高さ
"set cmdheight=2
" 補完候補を一覧表示
set wildmenu

"---------------------------------------------------------------------------
" 検索・置換
"
"set vb 検索結果をハイライト
set hlsearch
" 大文字・小文字を区別しない
set ignorecase
" 大文字が含まれる場合は、大文字・小文字を区別する
set smartcase
" インクリメンタルサーチ(1文字ずつ入力するたびに検索)を有効にする
set incsearch
" 最後まで検索した後、先頭に戻らない
"set nowrapscan
" 置換の際のgオプション(行中のすべてのマッチを置換)をデフォルトにする
"set gdefault

"---------------------------------------------------------------------------
" 編集
"
" 長い行を折り返さない
"set nowrap
" タブ文字や改行などの不可視文字を表示
"set list
" tab:タブ, trail:行末の空白, eol:改行
"set listchars=tab:›\ ,trail:·,eol:↲

" 対応する括弧に一瞬移動
"set showmatch
" 対応する括弧への移動時間(1の場合は0.1秒)
"set matchtime=1
" 上下にスクロールする際、指定された行数分の余白を残してスクロール
"set scrolloff=5
" カーソルの左右移動時に、行頭・行末で止まらないようにする
set whichwrap=b,s,h,l,<,>,[,]
" 挿入モードでもバックスペースキーで文字を削除できるようにする
set backspace=indent,eol,start

"---------------------------------------------------------------------------
" インデント・タブ
"
" 改行時に、前の行と同じ数だけ自動でインデントする
set autoindent
" 自動でインデントする際、「{」等のブロックに応じてインデントを調整
set smartindent
" タブ文字の空白数(stsやswで挿入された空白がtsに達するとタブ文字に変換される)
set tabstop=4
" タブキーを押したときに挿入される空白数
set softtabstop=4
" 「>>」コマンドによるインデントや自動インデントで挿入される空白数
set shiftwidth=4
" タブ文字の代わりに空白を挿入
"set expandtab

"---------------------------------------------------------------------------
" インデント・タブ (ファイル種別毎)
"
"if has("autocmd")
"  filetype plugin indent on
"  " ts=tabstop, sts=softtabstop, sw=shiftwidth, et=expandtab
"  autocmd FileType html       setlocal ts=4 sw=4 sts=4 et
"  autocmd FileType css        setlocal ts=4 sw=4 sts=4 et
"  autocmd FileType javascript setlocal ts=4 sw=4 sts=4 et
"  autocmd FileType c          setlocal ts=4 sw=4 sts=4 et
"  autocmd FileType java       setlocal ts=4 sw=4 sts=4 et
"  autocmd FileType python     setlocal ts=4 sw=4 sts=4 et
"endif

"---------------------------------------------------------------------------
" キーマッピング
"
" Yでカーソル位置から行末までヤンク(コピー)
nnoremap Y y$
" カーソルで上下に移動する際、表示行単位で移動
nnoremap j gj
nnoremap k gk
" Escの2回押しで検索のハイライトを消去
nnoremap <Esc><Esc> :nohlsearch<CR><ESC>
" 素早く「jj」で挿入モードからESC
"inoremap <silent> jj <ESC>
"「+」「-」でインクリメント・デクリメント
"nnoremap + <C-a>
"nnoremap - <C-x>
" コマンドラインで履歴を表示する際、入力途中の文字で絞り込で表示
"cnoremap <C-p> <Up>
"cnoremap <C-n> <Down>

_gvimrc

"
" gvimrc
"
" 設定ファイルの名前は「.gvimrc」または「_gvimrc」で作成
"
" 現在のカラースキーム
"   :colorscheme
" 選択可能なカラースキームの一覧
"   :colorscheme <tab>
" カラースキームのカスタマイズ
"   hi 対象名 gui=属性 guifg=文字色 guibg=背景色
"   属性には「bold」「italic」「underline」などが指定可
"   指定無しの場合は「NONE」
"
"---------------------------------------------------------------------------
" 全般
"
" マウスを有効化
set mouse=a
" Windowsのクリップボードを利用
set clipboard=unnamed,autoselect
" フォント
set guifont=MS_ゴシック:h12

"---------------------------------------------------------------------------
" ウィンドウ
"
" ウィンドウの縦幅・横幅
"set lines=25
"set columns=80
" メニューを非表示
"set guioptions-=m
" ツールバーを非表示
"set guioptions-=T
" タブバー(0:非表示,1:タブが2つ以上の時のみ表示,2:常に表示)
"set showtabline=1
" 水平スクロールバーを表示
"set guioptions+=b

"---------------------------------------------------------------------------
" カラースキーム
"
" シンタックスハイライトを有効化
syntax on
" カラースキームを指定
"colorscheme default

"---------------------------------------------------------------------------
" カラースキーム(カスタマイズ)
"
" 通常の文字
"hi Normal     gui=NONE guibg=NONE guifg=#FFFFFF
" 現在行(cursorlineがONの場合)
"hi CursorLine gui=NONE guibg=NONE guifg=#FFFFFF
" 行番号
"hi LineNr     gui=NONE guibg=NONE guifg=#FFFFFF
" 不可視文字(tab,trail)
"hi NonText    gui=NONE guibg=NONE guifg=#FFFFFF
" 不可視文字(eol)
"hi SpecialKey gui=NONE guibg=NONE guifg=#FFFFFF
" IMEがONの時のカーソルの色
"if has('multi_byte_ime')
"    highlight CursorIM guifg=NONE guibg=Cyan
"endif