- 2009-07-10 (金) 0:00
- Vim Hacks
Vimmerにとって、自分の戦闘力は.vimrcの行数で表されます。しかし普通に計測したのでは、空行やコメント行も戦闘力に含まれることになってしまい、本当の実力を表さず不公平です。そこで、このHackでは空行やコメント行を除いたVimmerの正味戦闘力を計測する方法を提案します。
戦闘力の計測方法
:Scouterを実行するだけです。:GScouterは.gvimrcの戦闘力を計測する場合に使用します。
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)
command! -bar -bang -nargs=? -complete=file GScouter
\ echo Scouter(empty(<q-args>) ? $MYGVIMRC : expand(<q-args>), <bang>0)
:Scouter!で、旧式の動作をします。戦闘力の目安
- もはやVimとViの違いがよく分かっていないレベルです。.vimrcも最小限の設定しかしていません。
- .vimrcにどこかからコピーアンドペーストした設定を加え始めます。ただし、設定の意味はよく分かっていないことが多いです。Vimのプラグインをインストールすることもこの辺りから始めます。しかし、自分ではVimScriptを上手く作れません。自分から見て遠い存在である中級者以上にあこがれます。数年Vimを使用していても、初級者レベルにとどまっている人は多いことでしょう。中級者になりたかったら、kana氏の書いた「Vimの極め方」を参照すると良いです。
- .vimrcに独自の設定が増えてきます。何か分からないことがあると、:helpを引き始めます。VimScriptを本格的に組み始め、キーバインドを自分流にカスタマイズするのもこの頃からです。自分が使うVimスクリプトを細々と作ったりすることもあります。
- Vimを手足のように使いこなし、思い立ったら.vimrcのカスタマイズを始めてしまいます。Vim以外のソフトを扱うのが苦痛でしょうがなくなり、全てをVim内で完結したいと思うようになります。気に入らないプラグインは即改造され、自分オリジナルのVimプラグインが.vim内に増えてきます。高度にカスタマイズされすぎた彼のVimは他の誰も扱うことができません。彼が素のVimを使用すると、あまりの不便さに発狂してしまうでしょう。もはや完全にVimに毒されています。治療法はありません。
- VimScriptには飽きたらず、ついにVimの内部構造にまで踏み込んでしまいました。彼のVimには自分で作ったパッチが当てられています。Vimのことで疑問があれば彼に質問すると、大抵答えが返ってきます。別名は「歩く:help」。いくら一流のVimmerであっても、このレベルに該当するのはごく少数しかいません。
- Newer: Hack #40: 不可視文字を表示する
- Older: Hack #38: vimwikiで文章を管理する
Comments:4
- なかにしゆうすけ 09-07-10 (金) 19:30
-
え?96って。。 このスカウターは壊れてるんじゃw
MacVim触ったてるのはすごく楽しいので増えるように頑張ります。
- Shougo 09-07-13 (月) 10:54
-
コメントありがとうございます! 戦闘力をグラフや表にすると自分の成長が分かって楽しいですよね。 私はもう飽和状態になって、あまり.vimrcが増えなくなってしまったんですけど。
- guyon 09-07-14 (火) 22:19
-
そういえば、VimM#1の時に「名無しのvim使い」のomiさんが2行って言っていたのを思い出しました・・・ かくかくしかじかの理由で2行になったそうです。
- Shougo 09-07-15 (水) 10:54
-
戦闘力があまりに上昇すると、他の環境のVimが使えなくなるのが痛いですよね……。 最低filetype plugin on , filetype indent on, syntax enableは欲しいところ。 私はもう素のviやVimは使えない体になってしまいました。 ターミナルを触るのも苦痛です。EmacsからでられないEmacsユーザの気持ちがちょっとだけ分かります。
Trackbacks:0
- Trackback URL for this entry
- http://vim-users.jp/2009/07/hack-39/trackback/
- Listed below are links to weblogs that reference
- Hack #39: Vimの戦闘力を計測する from Vim-users.jp

