2012年10月28日日曜日

[vim] 末尾の空白を除去する

背景


virtualeditを設定しておくと、文字がないところにもカーソルが移動できるようになる。
好みの問題だけど、僕は移動できたほうが好き。
でもこれをやると、行末に空白がついたコードが増えちゃうとの指摘を受けたので、
保存する時、保存するとき空白を除去する設定をした。
ついでにtabも変えるようにした。


ソース


こんな感じ
最初は、 '%s/ \+$//e' だけだったけど、
それだと、保存するたびにカーソル移動してうざかったので、
カーソル保存して、最後に元の位置に移動してる
なんかあれな感じだけど
autocmd BufWritePost *.vim call DeleteLastSpace()                                                                     
autocmd BufWritePost *.php call DeleteLastSpace()                                                                     
autocmd BufWritePost *.py call DeleteLastSpace()                                                                                                                                   
                                                                                                                      
function! DeleteLastSpace()
    let save_cursor = getpos('.')                                                                                     
    silent exec 'retab'
    silent exec '%s/ \+$//e'                                                                                          
    call setpos(".", save_cursor)                                                                                     
endfunction


書いた後調べてみると、全く同じコトしてる人いた。
ちゃんと調べてから書こう。。
vimを使って保存時に楽をする

0 件のコメント:

コメントを投稿