Я использовал vim в Debian 7 для редактирования документа HTML. Я начал печатать: <HTML>
Return kbd>…
После первоначального возврата курсор был смещен на один уровень, так что, как я напечатал <head>
, и остальную часть моего документа, это выглядело бы так:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test page</title>
</head>
<body>
<div>
<p>This is a paragraph.</p>
</div>
</body>
</html>
За тегом в каждой строке просто следовал Return kbd>, и не было нажатий на Tab kbd> или Пробел kbd> и vim отформатировали это, как я и ожидал. Кроме того, при вводе начального </
закрывающего тега vim отменяет отступ в этой строке, чтобы соответствовать уровню соответствующего открывающего тега.
Затем, набрав тот же документ в vim на Ubuntu 13.10, так как я печатаю тот же самый документ тем же способом, я получаю следующие результаты:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test page</title>
</head>
<body>
<div>
<p>This is a paragraph.</p>
</div>
</body>
</html>
Обратите внимание, что отступ не ' t начинаться до тега <p>
, и я предполагаю, что любой из его последующих дочерних и дочерних элементов. Похоже, что в более поздних версиях стиля отступов HTML для удобочитаемости были выбраны теги без отступов, такие как html, head, body и т. Д. (?).
Мне не нравится тот факт, что vim не делает отступ для всех тегов. Что я могу сделать, чтобы изменить это?
Я попытался просмотреть файлы отступов для разных версий, но мне не удалось выяснить, смогу ли я там что-нибудь сделать. pastebins:
Я использую следующие версии vim:
Убедитесь, что у вас установлен полный vim:
sudo apt-get install vim
Затем создайте файл с именем ~/.vimrc
со следующим содержимым:
filetype plugin indent on
Тогда он должен работать.
ОБНОВЛЕНИЕ ( источник обновления)
В версии 7.4 файл отступов был изменен, что и вызывает проблемы. Новый отступ не делает отступ для каждого html-тега, но вы можете указать, какие теги добавлять в отступ, используя:
:let g:html_indent_inctags = "html,body,head,tbody"
в vim или без :
в ~/.vimrc
, как всегда. (Конечно, поместите в список те теги, для которых вы хотите сделать отступ.)
Или вы можете просто заменить старую версию файла отступа на новую. В 12.04 старый файл отступа находится в /usr/share/vim/vim73/indent/html.vim
, так что я думаю, что для версии 7.4 файл находится в /usr/share/vim/vim74/indent/html.vim
. Или переопределить его только для вашего пользователя и защитить от обновлений, поместив его в ~/.vim/indent/html.vim