Как редактировать HTML в Vim?
Я новичок в Vim и пытаюсь к этому привыкнуть. Я просто создал файл.vimrc и заставил Vim отображать номера строк и выполнять пошаговый поиск. Я также включил подсветку синтаксиса. Теперь я хочу, чтобы было проще сделать написание HTML. Я искал html.vim в / usr / share / vim и нашел это:
/usr/share/vim/vim72/syntax/html.vim
/usr/share/vim/vim72/ftplugin/html.vim
/usr/share/vim/vim72/indent/html.vim
Теперь, что мне нужно сделать, чтобы включить HTML автоматический отступ? Скопируйте эти файлы в ~/.vim? Симлинк им? Или Vim автоматически загружает их из /usr/share/vim/? (Это уже делает подсветку синтаксиса HTML, так что я думаю, что это возможно - но это не делает автоматический отступ HTML) Я слышал set autoindent
в.vimrc добились бы цели, но что с файлами.c? Я думал, что им нужно set cindent
, но cindent работает с HTML?
2 ответа
Самое первое, что вы должны сделать, это попробовать vimtutor
и завершите это пару раз. Как только основы будут рассмотрены, вы можете начать играть с плагинами...
SnipMate вдохновлен фрагментами TextMate и / так прекрасен, по умолчанию имеет множество фрагментов HTML, и добавить свои собственные очень просто. Чтобы использовать это, введите div
затем нажмите Tab, чтобы получить:
<div id="|">
</div>
с кареткой между ""
готов для вас, чтобы ввести идентификатор; снова нажмите Tab, чтобы переместить курсор на пустую строку:
<div id="myId">
|
</div>
Красивая. Однако, многие редакторы имеют эту функцию.
Если у вас есть много HTML для написания - скажем, несколько электронных писем / новостных рассылок в день - другой плагин под названием SparkUp позволяет вам создавать сложный HTML с помощью всего нескольких нажатий клавиш и некоторого знания CSS. Вы начинаете набирать что-то вроде:
table[id=myTable] > tr*3 > td*2 > img
тогда вы нажмете <C-e>
(CtrlE), чтобы получить:
<table cellspacing="0" id="myTable">
<tr>
<td>
<img src="|" alt="" />
</td>
<td>
<img src="" alt="" />
</td>
</tr>
<tr>
<td>
<img src="" alt="" />
</td>
<td>
<img src="" alt="" />
</td>
</tr>
<tr>
<td>
<img src="" alt="" />
</td>
<td>
<img src="" alt="" />
</td>
</tr>
</table>
с кареткой внутри первого пустого ""
, Удар <C-n>
а также <C-p>
перейти к следующему / предыдущему полю.
Magical. Плагин доступен для большего количества редакторов.
Я второй текстовые объекты и Surround.vim, которые невероятно полезны.
Еще одна интересная особенность - режим визуального блока (:help visual-block
), где вы можете выбрать столбцы текста. Скажем, у вас есть:
<ul>
<li><p>My text doesn't mean anything</p></li>
<li><p>My text doesn't mean anything</p></li>
<li><p>My text doesn't mean anything</p></li>
<li><p>My text doesn't mean anything</p></li>
</ul>
поместите курсор на >
из первых <li>
затем нажмите <C-v>
и переместите курсор вниз к четвертому <li>
, Удар I
(заглавная I), чтобы войти в режим INSERT непосредственно перед >
и введите class="myElement"
затем <Esc>
чтобы получить:
<ul>
<li class="myElement"><p>My text doesn't mean anything</p></li>
<li class="myElement"><p>My text doesn't mean anything</p></li>
<li class="myElement"><p>My text doesn't mean anything</p></li>
<li class="myElement"><p>My text doesn't mean anything</p></li>
</ul>
Хо да!
Серьезно, Вим великолепна.
Посмотрите на плагин AutoCloseTag, чтобы закрывать теги по мере их ввода. А также set autoindent
должен обрабатывать отступ HTML.
Также вы должны прочитать документы в :help text-objects
чтобы узнать об использовании внутреннего и внешнего выбора тегов. Например, в обычном режиме вы можете сделать c, чтобы изменить текст внутри текущего тега. Или в визуальном режиме a t расширит визуальный выбор для инкапсуляции тега вокруг курсора.
Наконец, посмотрите на плагин Surround.vim, который может окружать выделенный или текстовый объект тегом или изменять тег вокруг него.