vimrc読書会#5に参加した
今回のハイライト
蹂躙されるおしょーさんのvimrc
vimrc読書会とは?
Github上にある誰かのvimrcをみんなで見ながらワイワイすること。
Lingrのvim部屋で行われています。
vim-users.jp – Lingr
過去ログにも残っています。
http://lingr.com/room/vim/archives/2012/08/04
今回のvimrc
manga_osyoさんのvimrcが対象でした。
https://github.com/osyo-manga/vimrc/blob/9ef0ca9757abcdaa11c76024aa551f0b473624bf/vimrcs/default/vimrc
知らなかったオプションとかプラグインとか記事とか
whichwrap
g:vim_indent_cont
manga_osyo (土 8/ 4 23:51:38 2012): どうでもいいですけど、Vim script で \ を入れると勝手にインデントされるんですけど、これってどうにかなりません。 yomi322 (土 8/ 4 23:51:50 2012): シェルスクリプトは最近行連結をしないようにしてる _nishigori (土 8/ 4 23:51:59 2012): manga_osyo: 同じく気になってます thinca (土 8/ 4 23:52:25 2012): :let g:vim_indent_cont = 0 rbtnn (土 8/ 4 23:52:26 2012): 文字列内で改行すると、ハイライトが文字列扱いにならないのがバグっぽくはあるが何気にありがたかったり...。> 行連結 yomi322 (土 8/ 4 23:52:36 2012): osyo: わかる。 \ で勝手にインデントやめてほしい thinca (土 8/ 4 23:52:40 2012): :help ft-vim-indent
:Capture
VimのTipsとか
試してみようかな的な設定とか
ノーマルモードでスペースや改行を入れる
昔入れてたけどいつの間にか消してた。またやってみようかな
" スペースを挿入 nnoremap <C-Space> i <Esc><Right> " normal モードで改行 nnoremap <C-j> O<Esc><Down>
検索結果を画面の真ん中に
これ設定している人多い
" 検索後画面の中心に。 nnoremap n nzz
縦に連番を入れる
" 縦に連番を入力する nnoremap <silent> co :ContinuousNumber <C-a><CR> vnoremap <silent> co :ContinuousNumber <C-a><CR> command! -count -nargs=1 ContinuousNumber let c = col('.')|for n in range(1, <count>?<count>-line('.'):1)|exec 'normal! j' . n . <q-args>|call cursor('.', c)|endfor
カーソル位置の単語をヤンクした単語に置換
この書き方をまだ理解していない
" カーソル位置の単語をヤンクした単語に置換 nnoremap <silent> ciy ciw<C-r>0<ESC>:let@/=@1<CR>:noh<CR> nnoremap <silent> cy ce<C-r>0<ESC>:let@/=@1<CR>:noh<CR> nnoremap gy "0P
easymotion入れてみようかな
unite shortcut
これ知らなかった
" コマンドを登録して unite.vim で選択して起動 let s:commands = { \ 'description' : 'Test menu', \} let s:commands.candidates = { \ "BoostTest" : "VimFiler $TEST_BOOST", \ "C++Test" : "VimFiler $TEST_CPP", \ "ghci" : "VimShellInteractive ghci", \ "python" : "VimShellInteractive python", \ "Unite Beautiful Attack" : "Unite -auto-preview colorscheme", \ "Boost.MPL Ref" : "OpenBrowser http://www.boost.org/doc/libs/release/libs/mpl/doc/refmanual/refmanual_toc.html", \ "VimShellPop" : "VimShellPop", \ "Blog Edit" : "OpenBrowser http://d.hatena.ne.jp/osyo-manga/edit", \ "ideone" : "OpenBrowser http://ideone.com/", \ "AllMap" : "Unite output:AllMap", \ "LastBuf.vim : open last closed buffersLastBuf" : ":LastBuf", \} function s:commands.map(key, value) return { \ 'word' : a:key, \ 'kind' : 'command', \ 'action__command' : a:value, \ } endfunction let g:unite_source_menu_menus["shortcut"] = deepcopy(s:commands) unlet s:commands " 呼び出しのキーマップ nnoremap <silent> <Space>ll :Unite menu:shortcut<CR>
operator-replace
何か便利らしいので
今回は頭痛が酷かったので、0時過ぎたあたりでこっそり離脱した。
好きに離脱できて後からログを見れば大体分かる読書会便利。
質問したいならリアルタイムの必要があるけど。
次回は2012/08/11(土) 23時からいつもと同じLingr(上述)で行われます。