vimrc読書会#5に参加した

今回のハイライト

蹂躙されるおしょーさんのvimrc

vimrc読書会とは?

Github上にある誰かのvimrcをみんなで見ながらワイワイすること。
Lingrvim部屋で行われています。
vim-users.jp – Lingr
過去ログにも残っています。
http://lingr.com/room/vim/archives/2012/08/04

知らなかったオプションとかプラグインとか記事とか

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

試してみようかな的な設定とか

ノーマルモードでスペースや改行を入れる

昔入れてたけどいつの間にか消してた。またやってみようかな

" スペースを挿入
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(上述)で行われます。