第3回vimrc読書会の備忘録
1月3日に行われたvimrc読書会の備忘録です。
色々と指摘を頂く事ができたので、指摘を元に後日vimrcを修正しようと思います。
メモ
- helptagsってどんな仕様?
- ファイルが増減する度に1回実行する
- ファイルが増えたときだけ実行したい
- best_tipsは何を参照しているのか?
www.vim.orgのtipsに掲載されていたやつの日本語訳版David Rayner's Best of Vim Tipsでした
- filetype plugin onやfiletype indent onはautocmdが有効じゃないと実行しない?
- YES
- コメントが嘘をついているところがちらほら
- jをgjで上書き
- 対称としてgjをjで上書きする設定もあった方がよさそう
- jにgj割当は小学生?
- 選択した文字を検索する関数のリファクタリング*1
function! s:search_the_selected_text_literaly() let reg_0 = [@0, getregtype('0')] let reg_u = [@", getregtype('"')] normal! gvy let @/ = @0 call histadd('/', '\V' . escape(@0, '\')) normal! n call setreg('0', reg_0[0], reg_0[1]) call setreg('"', reg_u[0], reg_u[1]) endfunction
- encoding変更のmapがあるけどそんなに使う?そもそも変更しない方がよいのでは?
- ほとんど未使用のmap
- ステータスラインの表示いいね。
- 検索用のmapがおかしい
- surroundの定義の可読性を良くする
let g:surround_{char2nr('x')} = '>x<'
- simaltのmap設定が間違っているよ
- Alt Space xを使ってみては?
- privateの設定ファイルチェックはfindfileよりfilereadableの方が良いのでは?
- なんの設定をしてあったかわからなくなったらTELLME:
- CamelCaseMotionの設定が駄目なのは
を使おうとしているからだよね。
:help <Plug>
- tagsをたくさん指定しているがこんな感じでどう?
set tags+=./tags;
function! CsvCol2Index(colName) ruby << EOF colName = VIM::evaluate("a:colName") columns = eval("[#{VIM::Buffer.current.line}]") colIndex = columns.index(colName) || -1 VIM::command("return '#{colIndex.to_s#}'") EOF endfunction
最後に
自分のvimrcを世の中に晒すだけでなくスポットを当てたReadingの対象になるのはハラハラでしたが、終わってしまえばそんな気持ちもどこ吹く風で、vimrcを公開おいてよかったなーと思いました。
自分の弱い部分や駄目な所が改めてわかった貴重な体験でした。
vimrcを指名してくれたujihisaさんをはじめ、読書に参加してくださった方々どうもありがとうございました。
感想
- かなり荒いvimrc
- ほとんど使っていない設定も多かった
- 便利な設定を見つけてはコピペの繰り返しはカオスの予兆
- 理解と自分なりのカスタマイズが必要
- 驚くほどいっぱい突っ込んでもらえた
- 同時にヘボさ大爆発