Vimで線を引く時
少し前に、Vimで線を引くとき、どうしているか聞いてみたら、
ナイスガイ id:ns9logが、自分のやり方を教えてくれたよ。
Vimで線を引く時
http://d.hatena.ne.jp/ns9tks/20081127/1227757541
" 指定桁数になるようなセパレータ文字列 (<pre><char><char><char>...<post>) を得る function! <SID>GetSeparatorLineString(pre, char, post, col_len) let chars_len = a:col_len - (virtcol(".") - 1) - strlen(a:pre) - strlen(a:post) if chars_len < 0 || strlen(a:char) == 0 return '' endif return a:pre . repeat(a:char, chars_len / strlen(a:char)) . a:post endfunction " 78桁のセパレータ文字列 ('{{'.'{1' としているのは折り畳み誤爆防止 ) inoremap <expr> <C-\> <Nop> inoremap <expr> <C-\>// <SID>GetSeparatorLineString('//', '/', '' , 78) inoremap <expr> <C-\>/- <SID>GetSeparatorLineString('//', '-', '' , 78) inoremap <expr> <C-\>/. <SID>GetSeparatorLineString('//', '.', '' , 78) inoremap <expr> <C-\>/* <SID>GetSeparatorLineString('/*', '*', '*/' , 78) inoremap <expr> <C-\>"" <SID>GetSeparatorLineString('"' , '"', '' , 78) inoremap <expr> <C-\>-- <SID>GetSeparatorLineString('-' , '-', '' , 78) inoremap <expr> <C-\>== <SID>GetSeparatorLineString('=' , '=', '' , 78) ... 略 ...
私の方法、
40i=<ESC>
は、落ち着いて作業をしている時、作業の合間合間で区切りを入れられる時はともかく、
お急ぎモードで作業している場合には、コマンドの実行を忘れてしまうことが多いから、
結構使えないんですよ。