2011-05-16 78 views
10

可能重複:
Changing Vim indentation behavior by file type可能根據文件擴展名更改標籤的長度?

你好。 因此,我經常在「2」和「4」空格之間切換標籤。通常我使用2個空格作爲HTML文件的標籤,4個空格作爲編程標籤。有沒有辦法配置VIM,所以它會根據文件擴展名自動調整? 另外,VIM如何縮進8個空格,就像我進入一個敞開的大括號之後一樣?我已將它設置爲4個空格。 謝謝。

回答

1

類型:help syntax在vim中。這將打開一個幫助文件,給出一個隨後的頁面/文件的概述,向您展示如何將文件擴展名綁定到語法文件,您可以在其中登錄:set shiftwidth=2:set tabstop=2。 G。 HTML文件。我猜你安裝的語法文件也會對你的支架壓痕症狀負責。

+1

切勿對文件類型相關的東西使用':set'。有':setlocal'。 – ZyX 2011-05-16 03:04:18

18
set sw=4 ts=4 sts=4        " Defaults: four spaces per tab " 
autocmd FileType html :setlocal sw=2 ts=2 sts=2 " Two spaces for HTML files " 

這裏有三個不同的選項:「shiftwidth」的(「SW」)控制(在正常模式<<等)的用於自動縮進空格數目和一些換檔命令,「製表位」(「TS」)控制視覺當您按下<Tab><CR>時,您可能希望保留默認值(8個可視單元格),'softtabstop'('sts')控制正在插入/刪除的內容。我建議你將它設置爲'tabstop'的值,或者將它與'expandtab'一起設置,因爲在其他情況下,它會產生難看的製表符+空格縮進。

+0

無論如何,我添加了多個文件擴展名,將在同一行中使用2個空格作爲製表符?或者,我需要爲其他文件擴展名創建新行嗎?我還希望將.jade文件包含爲2個空格標籤,但我不想用多行文件擴展名來混亂我的.vimrc文件,這些文件擴展名都有2個空格作爲製表符。 – Kelp 2011-05-16 03:38:00

+0

@Kelp你可以用逗號分隔其他模式,所以它看起來像'autocmd FileType html,xml,不管:...'。這裏的冒號是可選的,我只是說它讓代碼更具可讀性。你也可以使用':h line-continuation'在模式後的下一行移動':setlocal'。 – ZyX 2011-05-16 15:32:27