:echo len(readfile($MYVIMRC))
発案者: id:ujihisa
ただ上記の定義では空行による影響が大きい。それを除去した場合の戦闘力は以下のコマンドで求められる:
:echo len(filter(readfile($MYVIMRC), 'v:val !~ "^\\s*$"'))
このコマンドは戦闘力旧仕様である。
新仕様では\を用いた改行も除去している。
新仕様の戦闘力を求めるには以下を.vimrcかなにかに書き込んで反映させた後、:Scouterコマンドで求められる。
また、:Scouter!を実行することで旧仕様の戦闘力も求めることができる。
function! Scouter(file, ...) let pat = '^\s*$\|^\s*"' let lines = readfile(a:file) if !a:0 || !a:1 let lines = split(substitute(join(lines, "\n"), '\n\s*\\', '', 'g'), "\n") endif return len(filter(lines,'v:val !~ pat')) endfunction command! -bar -bang -nargs=? -complete=file Scouter \ echo Scouter(empty(<q-args>) ? $MYVIMRC : expand(<q-args>), <bang>0)
発案者: id:thinca