一個自動去除行尾多餘空白的小外掛

凝霜發表於2013-08-31

一個自動去除行尾多餘空白的小外掛

By 馬冬亮(凝霜  Loki)

一個人的戰爭(http://blog.csdn.net/MDL13412)

簡介

大名鼎鼎的移動支付公司Square開源了其技術團隊所使用的vim配置(專案連結),我在其中發現了whitespace這個小外掛,感覺很使用,特此分享給大家。

whitespace外掛的原始碼(修改版)

" thanks to http://vimcasts.org/e/4
function! WhitespaceStripTrailing()
  let previous_search=@/
  let previous_cursor_line=line('.')
  let previous_cursor_column=col('.')
  %s/\s\+$//e
  let @/=previous_search
  call cursor(previous_cursor_line, previous_cursor_column)
endfunction

我去掉了下面的程式碼:

" strip trailing whitespace on Ruby buffer saves
augroup whitespace
  autocmd BufWritePre *.rb call whitespace#strip_trailing()
augroup END

我將對應檔案的繫結操作移到了.vimrc中,這樣可以很方便的擴充套件新語言的支援,而且更方便集中管理,.vimrc中相應的程式碼片段如下:

"{{{ whitespace  去除檔案的行尾空白
autocmd BufWritePre     *.py        call WhitespaceStripTrailing()
autocmd BufWritePre     *.h         call WhitespaceStripTrailing()
autocmd BufWritePre     *.c         call WhitespaceStripTrailing()
autocmd BufWritePre     *.cpp       call WhitespaceStripTrailing()
"}}}

使用方法

這款外掛的使用方法非常簡單,其在每次儲存檔案時被自動呼叫,自動去除行尾多餘的空白,讀者可以按照自己的需求,繫結不同字尾的檔案,以加快自己的編輯效率。

相關文章