コーディング規約とかで最終行を削除しないといけない場合があると思う。その場合に便利なcodeを書いてみた。
やってることとしては:wのcallbackを使って保存時に削除してる。
方法はvimrcへ以下を追記するだけ。
autocmdBufWritePre * calls:remove_space_in_last_line()function!s:remove_space_in_last_line()if getline(line('$'))==""
execute line('$') . "delete"endifendfunction
使ってるメソッド
getlineとは
行を取得するメソッド
echo getline('.') " カレントバッファのカレント行を取得
echo getline(4) " カレントバッファの4行目を取得
echo getline(4,8) " カレントバッファの4~8行目をリストで取得
echo getline(0,'$') " 先頭~行末まで取得
lineとは
script.viml
line('.') " 今いる行を取得
line("$") " 最終行を取得
executeとは
vimlでは:line('$')delete
というようなことが出来ないため、executeメソッドを使う。execute line('$') . "delete"
のように.で連結すれば最後の行の数字とdelete
メソッドを使える。