[vim ] 用 Vim 將不斷行文章轉為 BBS 格式
網頁版本:http://goo.gl/cS6mC
----
我是一個鄉民。雖然大多數時間都在潛水,但偶爾也會浮上來寫些東西。
![ugly format in bbs](/images/2012/2012-04-19-ugly-format-in-bbs.png)
我不常在 BBS 上直接編輯,多半都是在習慣的編輯器上寫好再貼過去。不過問題
來了,我寫文章的習慣都是一直打字一直打字,直到段落結束才換行,這樣的文字
如果複製起來直接貼到 BBS 上發表,雖然還是能夠正常顯示,但在編輯與回文時
就會出現過長的文字而造成如上圖般糟糕的版面效果。
所以我在把文章貼到 BBS 上前,會先進行排版,將每行的字數限制在 72 字元以
下。一開始我還乖乖手動一行一行按 Enter,可是這勤勞樸實的作風太不符合以
Lazy Easy 為最高指導原則的程式設計師身分了。經過一番研究後,我用 Vim 來
做為我文章自動排版的工具。
要完成任務,首先得在 `.vimrc` 檔案裡加入以下設定:
set fo+=Mm set tw=72
說明一下,`tw` 是 `textwidth`,這邊的意思是每行長度為 72,你可以依個人喜
好調整數值。而 `fo` 則是 `formatoptions` 的縮寫,其中的 Mm 都是與
Multibyte 相關的選項。沒加的話,預設是會採用英文規則,也就把空白當做字的
間隔,因此一連串中文文字不會被斷開,那就達不到自動斷行的效果了。
接著,為了讓事情更方便些,可以加入以下的按鍵映射:
noremap <silent> <F7> gggqG
我把 <F7> 按鈕對應到 `gggqG`,這串指令可以分成三個部分:`gg`, `gq`, `G`
。
- `gg`: 將游標移至檔案最前頭
- `gq`:從游標開始處進行格式重排
- `G`:將游標移至檔案最尾端
所以以後只要在 Vim 寫好文章,或是把寫好的文字貼到 Vim 上,再按下 <F7>,
就可以立刻排成 BBS 所需要的格式囉。
只剩下一個問題......如果文章中有太長的連結,要是能自動縮網址那就更完美了
。
--
[雜想筆記]
不足稱博,故曰其雜
http://tzengyuxio.me
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.53.35
推
04/20 17:42, , 1F
04/20 17:42, 1F
→
04/20 17:43, , 2F
04/20 17:43, 2F
→
04/20 17:43, , 3F
04/20 17:43, 3F
→
04/20 17:45, , 4F
04/20 17:45, 4F
→
04/21 04:04, , 5F
04/21 04:04, 5F
→
04/21 04:04, , 6F
04/21 04:04, 6F
→
04/21 04:18, , 7F
04/21 04:18, 7F
推
04/21 16:07, , 8F
04/21 16:07, 8F
推
04/22 00:54, , 9F
04/22 00:54, 9F
推
04/28 01:07, , 10F
04/28 01:07, 10F
Editor 近期熱門文章
PTT數位生活區 即時熱門文章