Vim特有のクセを若干解消してくれる。当然のことと期待する機能をONにする。ミスしやすい部分をハイライトする。
参考
何も考えず~/.vimrcにこれを書くんだ! 〜vim初心者によるvim初心者のためのvim入門〜 - Qiita
とても参考になった。ほぼ丸パクリ。感謝。マジ救世主。(set visualbell
だけは要らない)
~/.vimrc
set directory=/tmp set clipboard=unnamedplus syntax on set tabstop=8 set shiftwidth=4 set softtabstop=4 " Tab文字を半角スペースにする set expandtab " スマートインデント set smartindent "https://qiita.com/mfujimori/items/9fd41bcd8d1ce9170301 "文字コードをUFT-8に設定 set fenc=utf-8 " 編集中のファイルが変更されたら自動で読み直す set autoread " バッファが編集中でもその他のファイルを開けるように set hidden " 行末の1文字先までカーソルを移動できるように set virtualedit=onemore " 入力中のコマンドをステータスに表示する set showcmd " ビープ音を可視化(ちらつき&プチフリーズ) "set visualbell " 括弧入力時の対応する括弧を表示 set showmatch " 表示 " 行番号を表示 set number " 不可視文字を可視化(タブが「▸-」と表示される) set list listchars=tab:\▸\- " 検索 " 検索文字列入力時に順次対象文字列にヒットさせる set incsearch " 検索時に最後まで行ったら最初に戻る set wrapscan " 検索語をハイライト表示 set hlsearch " ESC連打でハイライト解除 nmap <Esc><Esc> :nohlsearch<CR><Esc> augroup fileTypeIndent autocmd! autocmd BufNewFile,BufRead *.md setlocal tabstop=4 softtabstop=4 shiftwidth=4 expandtab smartindent autocmd BufNewFile,BufRead *.sh setlocal tabstop=4 softtabstop=4 shiftwidth=4 expandtab smartindent autoindent autocmd BufNewFile,BufRead *.py setlocal tabstop=4 softtabstop=4 shiftwidth=4 expandtab smartindent autoindent autocmd BufNewFile,BufRead *.rb setlocal tabstop=2 softtabstop=2 shiftwidth=2 expandtab smartindent autoindent autocmd BufNewFile,BufRead *.cs setlocal tabstop=4 softtabstop=4 shiftwidth=4 expandtab smartindent autoindent autocmd BufNewFile,BufRead *.tsv setlocal tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab nosmartindent noautoindent augroup END
そんなもん設定しなくてもやってくれよ……と思うものが多い。
罠回避ポイント
- 検索語をハイライト
- TABを可視化
- 対応する括弧をハイライト
これがないとミスする。
他ポイント
augroup
で拡張子別に設定を書いている。グローバル値と重複している箇所もあるがそのままにする。もしグローバル値が変わっても変わらず固定できるようにしておきたいので。
pug, stylus
Node.jsでWeb開発するとき、pug
, styl
のような拡張子のコードを書く。先述の設定ならインデントエラーにならずに済んだ。
将来、使うプログラミング言語が増え、拡張子がふえると、個別に設定するのが面倒になる。グローバル値にインデント設定をしておいたほうが楽。
いらない子
" ビープ音を可視化 set visualbell
これが非常にウザかったのでコメントアウトした。
画面が一瞬真っ白にフラッシュし、ちらつくように見える。カーソルを行末や行頭に移動してなおカーソルキーを押下しつづけるだけで発生する始末。
- 画面フラッシュが非常に目障り
- 押下しつづけた時間だけ応答が返ってこなくなる
開発環境
2018-04-24時点。