Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimで最終行が空行だったら保存時に最終行を削除する方法

$
0
0

コーディング規約とかで最終行を削除しないといけない場合があると思う。その場合に便利な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メソッドを使える。

参考記事


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>