Vim力を上げるために,過去のvimrc読書会のログを見ていたときに,次のコマンドを発見した.
command! Suicide call system('kill -KILL ' . getpid())
Vimは自分自身のPIDを getpid()
関数で取得できる.
そうして取得した自身のPIDに対して kill
コマンドを実行して,自殺しようというわけだ.
ただし, kill
コマンドはWindowsには無い.
Windowsで kill
コマンドに相当するのは, taskkill
コマンドである.
したがって,Windowsに対応させるならば,次のように書き直すのがよい.
if (has('win95') || has('win16') || has('win32') || has('win64')) && executable('taskkill') command! -bar Suicide call system('taskkill /pid ' . getpid()) elseif executable('kill') command! -bar Suicide call system('kill -KILL '. getpid()) endif
この自殺コマンドはVimを強制的に終了させるため,終了時の後始末が行われない. そのため,カーソルの形状や文字色等が元に戻らないだろう. あくまでジョークコマンドなので,利用価値は無いといえる.