2015-07-05 14 views
0

作爲一個簡單的例子,當我在vim上編寫我的c/C++/java等時,我希望tab縮進爲4個空格。但是,如果我在一個html文件上工作,我期望的目的是2個空格。如何設置.vimrc,以便它能檢測到我正在處理的文件以及該信息集本身?如何配置vim使其自動配置以適應特定的文件類型?

謝謝。

+0

試試':help ftplugin'。 –

回答

2

命令filetype indent plugin on將根據文件類型使用indent文件夾中的內容自動縮進。有很多選項可以手動更改(例如cindent之類),但上述命令將爲您處理大部分操作,並且實際更改cindentsmartindent您自己可以根據我的經驗搞砸一些東西。

所以,你想你自己的自定義設置爲某些文件?如果你想要2個縮進html文件然後這樣做:

  1. filetype indent plugin on在您的.vimrc文件中。
  2. 創建一個html.vim文件。
  3. 將下面的代碼文件中:

SETLOCAL shiftwidth的= 2

SETLOCAL製表位= 2

  • 將文件保存到~/.vim/after/ftplugin。 (如果你在Windows上,那麼可能試試$HOME/vimfiles/after/ftplugin)。如果這不起作用,請將它們放入~/.vim/ftplugin,但最後一個選項不一定會覆蓋其他插件。

  • 這裏有更多的一些信息,如果人有興趣。

    有許多插件的選項,但您特別要求編輯.vimrc,所以您基本上需要了解vim使用的不同類型的縮進。這些是非常基本的。自動縮進選項如下。

    基本

    • tabstop,這改變標籤的寬度。這是設置的主要價值。
    • shiftwidth全部關於縮進(例如,>>,<<==命令)。
    • 如果您設置了expandtab,您將縮進softtabstop空間。即expandtab將製表符轉換爲一定數量的空格。我想如果你想在使用:set expandtab時插入一個塊選項卡而不是多個空格,你可以進入塊可視模式並按下tab鍵。例如CTRL + vTAB,但我可能是錯的。

    自動縮進

    • autoindent只是挑選從以前的行縮進。所以,如果你在一條線上工作,切換到正常模式,並輸入插入下面的行中,然後你會根據你剛纔的線自動識別。
    相關問題