よその vimrc を読まずにコピペするのと、よそのプラグインを使うのでは、
他人が書いた Vim script を自分の vimrc に注入する点では同じなのに、
前者と違って後者はバンバンやっていいみたいなノリがあって正直怖い。
以下、僕の vimrc
から抜粋。
:help を読みましょう、苦痛かもしれないけど。
'complete' による補完 i_CTRL-N でひと通り補完できる。
ただし素では重いから、補完候補を絞るといい。
ファイル名補完 i_CTRL-X_CTRL-F だけ別になるけど、他は事足りる。
'pumheight' で補完メニューの行数を抑えられる。
set complete=.,t,i
set completeopt+=noselect
set pumheight=10
imap <expr><Up> pumvisible() ? '<C-p>' : '<Up>'
imap <expr><Down> pumvisible() ? '<C-n>' : '<Down>'
imap <expr><CR> pumvisible() ? '<C-y>' : '<CR>'
imap <expr><BS> pumvisible() ? '<C-e>' : '<BS>'
imap <expr><Tab> pumvisible() ? '<C-n>' : '<C-n>'
autocmd FileType vim imap <buffer><expr><Tab> pumvisible() ? '<C-n>' : '<C-x><C-v>'
:syntax と :highlight を書く。
命名規約さえしっかり決めておけば重たい構文解析器は要らない。
色が寂しいところを素直に設定した。
syntax match Define /\<\u[0-9A-Z_]\+\>/
syntax match Function /\<\h\w*\>(\@=/
syntax match cType /\<\u\l\h*\>(\@!\|\<\u\+\>/
highlight link cStructure Keyword
highlight link cType Type
変なところに色がついてたから消した。
syntax clear javaScriptBraces
syntax clear javaScriptFunction
syntax match Define /\<\u[0-9A-Z_]\+\>/
syntax match Function /\<\h\w*\>(\@=/
syntax match Number /0x\x\+\|-\?\<\d\+\(\.\d\+\)\?/
highlight link javaScriptIdentifier Type
最初から読みやすかったから、これだけ。
syntax match Function /\<\h\w*\>[!?]\?(\@=/
どうせプラグインを使っても回りくどい設定を書かされる。
%:~:r ヽ('□'*)ノおーよしよし!
$ pacman -S valgrind
nmap <buffer><F5> :make -C %:h -f Makefile.debug<CR>
nmap <buffer><F6> :!valgrind --leak-check=full %:~:r
nmap <buffer><F7> :!%:~:r
nmap <buffer><F8> :make -C %:h<CR>
nmap <buffer><F8> :make -C %:h<CR>
$ gem install bundler
nmap <buffer><F7> :!bundle exec ruby %<CR>
:autocmd はイベントハンドラみたいな感覚で使えるから頼もしい。
system() は :!
と違って裏方で処理されるから、結果を待たなくていい処理はこの書き方がいい。
autocmd BufWritePost *.c,*.js,*.rb call system('ctags -f '.expand('%:h').'/tags '.expand('%'))
この手のプラグインは難しそうだったから素直に 'statusline' を書いた。
この書き方は Windows のサクラエディタのような表示になる。
set statusline=%f\ %h%w%r%m%=0x%B\ %l/%L\ %{&fenc.','.&ff}\ %y
ls や cd に慣れたらプラグインが要らなくなった。
:e %<Tab> でバッファのファイル名が出てくるし、履歴補完もあるから
Vim のコマンドラインで十分。
set wildmode^=list:longest
これだけはプラグインを使う。
開発が終わって安定してるやつがいい。
neoなんとかを使わないで dotfiles と一緒に管理しよう。
bundledir=~/.vim/bundle
test ! -d "$bundledir" && mkdir -p "$bundledir" && cd "$bundledir" && \
git clone --depth 1 git://github.com/altercation/vim-colors-solarized.git
set runtimepath+=~/.vim/bundle/vim-colors-solarized