2013-08-01 50 views
0

我剛剛在下面給出了這個配置。當我取消註釋最後一行時,我沒有得到正確的縮進:當我縮進時,這些行放在第一列。嘗試使用htmljinja文件類型設置.html文件並獲取正確的縮進

syntax on 

autocmd FileType html setlocal shiftwidth=2 tabstop=2 

"au BufRead,BufNewFile *.html set filetype=htmljinja 

我需要htmljinja文件類型,因爲我的HTML有樹枝代碼(樹枝的語法是這樣htmljinja)

我的vim 7.3.547

+2

什麼問題? – Zac

+1

如何在我的.html文件中使用'gg = G'和htmljinja語法突出顯示來獲得正確的縮進? – ziiweb

+1

說實話,我現在會放棄。 Vim在縮進任何東西時是最差的。它始終如一,永遠都會如此。這幾乎就像是通過設計。 –

回答

0

在此期間,我繞過Vim的壓痕能力和相當依賴只要有人知道tex/latex重新格式化,請讓我知道)。

結果如下行找到自己的方式進入我的.vimrc

au FileType c,cpp let &l:equalprg="indent -br -l62 -nce -blf -bbb -i4 -nbfde -nbfda -bad -bap -cli4 -nut" 
au FileType perl let &l:equalprg="perltidy" 
noremap <leader>i mzgg=G`z 

這種方法的缺點是,在寫你不能享受自動縮進。儘管如此,我已經習慣了它,並且認爲它是縮進問題的一個非常可靠和適合的解決方案。此外,縮進的代碼看起來很棒,我懷疑那些花哨的IDE跟上了這一點。

現在,這與你的問題有什麼關係?

按照我的方法,我搜索了一個html格式轉換器,發現tidytidy似乎是一個怪物,它不僅可以漂亮地打印您的html文件,而且還可以驗證並糾正它們。

爲了應付tidy您必須爲縮進目的編寫一個配置文件。下面一個爲我工作:

~/.tidyrc_indent

indent: auto 
indent-spaces: 3 
show-warnings: no 
show-errors: 0 
quiet: yes 
indent-cdata: yes 
output-html: yes 
wrap: 80 

但請務必閱讀的tidy man頁面,因爲選擇似乎是無窮無盡的。現在

您可以添加

au FileType htmljinja let &equalprg="tidy -config ~/.tidyrc" 

.vimrc,並開始縮進與gg=G你的HTML文件或需要更少的按鍵派生映射。

請注意tidy像任何其他格式化器可能會弄亂你的代碼。因此,你應該定期備份你的代碼(可能用git或類似的東西)。雖然我從來沒有親身體驗過這個,但是在網絡上有一些憤怒的用戶抱怨這樣的事件。

+0

我可以在哪裏找到整潔? – ziiweb

+0

在與debian相關的系統上,只需運行'sudo apt-get install tidy'。該項目的網站是「http:// tidy.sourceforge.net」。 – user1146332

相關問題