[Vim] Vim的Modelines


Modelines

Vim可以依直接把設定寫在文件的註解裡,可以依不同文件而有不同的設定。

設定modelines

  • 在.vimrc記得把modelines的設定打開
  • modelines不能設定本身,不然Vim會來不及讀
  • set modelines=2,2是指Vim會去找文件開頭、末尾兩行,預設是五行

位置:
    modelines放的位置要在開頭五行、或是最後五行,不然Vim會忽略。

格式:

  • 最前面是文件的註解符號,例如:C++用//, Python用#,ReST用..。註解後至少要一個空白(space, or tab)
  • 再來打 vim: ,後面接你要的設定,各項用 “:"  隔開

常用設定

  1. autoindent[ai]: 自動縮排,不縮排[noai]
  2. autowrite[aw]: 自動存檔
  3. cindent[cin]: C程式碼的自動縮排
  4. fireformat[ff]: (dos|unix|mac) ,EOL的格式
  5. textwidth[tw]: 自動換行,會在換行處自動插入 EOL
  6. wrap: 也是自動換行,不過沒有插入EOL
  7. paste: 防止剪貼時位置會不正確
  8. shiftwidth[sw]: 指由 »移動整行內容時,一次移動的字元寬度,一般是使用 Tab 的值,但可由這個設定來改變。
  9. tabstop[ts]: Tab的寬度,預設是8個空白
  10. expandtab[et]: 按Tab時,以空白代替,而不是用<Tab>
  11. viusalbell[vb](Vim only): 用閃動來代表聲音
  12. number[nu]: 行號
  13. list: 將不可見的字元用其他符號顯示出來。Tab:^I, EOL:$
  14. fileencoding[fe](Vim only): 指定檔案編碼, ex: utf-8 , big5
  15. softtabstop[sts](Vim only): 按一次Tab= space x4 , 連按Tab二次 = space x 8,連接三次Tab=
<br /><b>例:</b><br /><br />/* vim:noai:sw=3 ts=4 */  => C 程式碼 /* 和 vim 間至少要有個空白<br />// vim:ts=2               => C++<br /># vim:ts=2                => sh script, perl, python, tcl<br />" vim:ts=2                => vim script<br />.. vim:ts=4               => reStruceture Text<br /><br /># vim: set ts=4 sw=4 et: -*- coding: utf-8 -*-  => Python with UTF8

Reference:

  1. 9. set 功能設定
  2. Vim 的 modeline

  3. Modeline magic
廣告
  1. 發表留言

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: