Hatena::Groupvim

戦闘力

戦闘力

Vim使いの戦闘力は以下のコマンドで求められる:

: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

* はてなダイアリーキーワード:戦闘力