+ Изменить <li> опции автоматического отступа в VIM </li>

740
Herms

По умолчанию Vim, похоже, не хочет делать отступ внутри содержимого <li>тегов, хотя он автоматически корректирует отступ для большинства других тегов HTML.

Например, если я начну с этого кода:

<ul> <li> foo </li> <li> bar </li> </ul> 

и у vim autoindent это я получаю:

<ul> <li> foo </li> <li> bar </li> </ul> 

Однако то, что я действительно хочу, это:

<ul> <li> foo </li> <li> bar </li> </ul> 

Это немного раздражает при написании нового кода, когда он автоматически индентируется после большинства открывающих тегов, но не этого, хотя это достаточно легко обойти. Что меня действительно привлекает, так это использование vim для автоформатирования большого сгенерированного HTML-кода, с которым я пытаюсь поиграть (пытаясь смоделировать некоторые изменения пользовательского интерфейса, используя сгенерированный источник).

Есть ли какой-нибудь простой способ изменить это поведение автоматического отступа, чтобы оно обрабатывалось так <li>же, как любой другой открывающий тег, и делало отступ для содержимого?

3

2 ответа на вопрос

6
garyjohn

Я не вижу простого способа сделать это, но это решение не слишком сложно.

  1. Скопируйте $ VIMRUNTIME / indent / html.vim в ~ / .vim / indent / html.vim, если вы используете Unix или в ~ / vimfiles / indent / html.vim, если вы в Windows.
  2. Отредактируйте свою копию indent / html.vim, добавив эту строку,

    call <SID>HtmlIndentPush('li')

    в список похожих вызовов, уже находящихся в этом файле.

Это должно сделать это.

Я думаю, что подпадает под категорию «легко исправить». Я подумал, что это должно быть что-то подобное, но не был уверен, как был определен отступ. Работал отлично. Herms 13 лет назад 0
Я использую встроенный vim на OSX. Есть идеи, что такое $ VIMRUNTIME? vim находится в / usr / bin / (не символическая ссылка) John Hinnegan 11 лет назад 0
@JohnHinnegan: Вы должны иметь возможность открыть Vim и выполнить `: echo $ VIMRUNTIME`. garyjohn 11 лет назад 1
2
Sean Farley

Если кто-то найдет этот вопрос, как я, через Google, есть другое решение, использующее расширение rag-tag Тима Попа . Это автоматически добавит правильные отступы и обновит некоторые другие теги для HTML5.

Извините, я установил плагин, который вы упоминаете, но
  • `для меня не отступы правильно .. Я скопировал` ragtag.vim` в мою директорию `~ / .vim / plugin /`, затем перезапустил vim и `gg = G`
  • user35538 11 лет назад 0

    Похожие вопросы