2008年7月8日 星期二

Vim 小技巧: 自動移除行尾多餘空白

在 $HOME/.vimrc 裡面加上
autocmd FileType c,cpp,java,php,perl,python,ruby,sh autocmd BufWritePre  :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))
這樣就可以在每次存檔的時候,自動地把行尾多餘空白都移除掉囉~ 很好用吧~ ^~^

4 則留言:

anton 提到...

hi, 四元兄, 我參考了這邊:
http://vim.wikia.com/wiki/VimTip878
跟你的 script,
在 BufWritePre 使用的時候,只會對 Buffer 寫入前做動作,意即直接用 x 指令退出的話,就不會作用了。
所以,調整成 FileWritePre,BufWritePre 好像會完整一點。

Unknown 提到...
作者已經移除這則留言。
Unknown 提到...

4Dollars兄,BufWritePre 後面好像少了個 <buffer> 是吧..^^

$4 提到...

是的~ 真的少了一個 <buffer> 冏rz