mrm*_*rm8 11 html vim indentation ftplugin
我是Vim的新手,我正试着习惯它.我刚刚创建了一个.vimrc文件,让Vim显示行号并进行增量搜索.我还启用了语法高亮.现在我想启用一些东西来简化HTML编写.我在/ usr/share/vim中搜索了html.vim,发现了这个:
/usr/share/vim/vim72/syntax/html.vim
/usr/share/vim/vim72/ftplugin/html.vim
/usr/share/vim/vim72/indent/html.vim
Run Code Online (Sandbox Code Playgroud)
现在,我需要做些什么来启用HTML自动缩进?将这些文件复制到〜/ .vim?符号链接他们?或者Vim是否自动从/ usr/share/vim /加载它们?(它已经有HTML语法高亮,所以我认为这是可能的 - 但它不会做HTML自动缩进)我听说set autoindent.vimrc会做的伎俩,但是.c文件是什么?我认为他们需要set cindent,但确实使用HTML?
rom*_*inl 19
你应该做的第一件事就是尝试vimtutor完成它几次.一旦涵盖了基础知识,您就可以开始使用插件...
SnipMate的灵感来自TextMate的片段,并且/很漂亮,默认情况下它有很多HTML片段,并且添加自己的片段非常容易.要使用它,请键入div然后点击Tab以获取:
<div id="|">
</div>
Run Code Online (Sandbox Code Playgroud)
""准备好你之间的插入符号; Tab再次点击将插入符号移到空白行:
<div id="myId">
|
</div>
Run Code Online (Sandbox Code Playgroud)
美丽.但是,许多编辑都有这个功能.
如果你有很多HTML要写 - 比如每天发一些电子邮件/新闻简报 - 另一个名为SparkUp的插件允许你只用几个关键笔画和一些CSS知识来制作复杂的HTML.首先键入以下内容:
table[id=myTable] > tr*3 > td*2 > img
Run Code Online (Sandbox Code Playgroud)
然后你点击<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>
Run Code Online (Sandbox Code Playgroud)
插入第一个空的插入符号"".点击<C-n>并<C-p>转到下一个/上一个字段.
神奇.不过,该插件可供更多编辑使用.
我第二个文本对象和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>
Run Code Online (Sandbox Code Playgroud)
将光标放在>第一个<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>
Run Code Online (Sandbox Code Playgroud)
好耶!
说真的,Vim很棒.
Mic*_*ski 13
看一下AutoCloseTag插件,在键入时关闭标签.并且set autoindent应该为您处理HTML缩进.
您还应该阅读文档:help text-objects以了解使用内部和外部标记选择.例如,在正常模式下,您可以cit更改当前标记内的文本.或者在可视模式下,at将扩展视觉选择以将标签封装在光标周围.
最后,查看Surround.vim插件,它可以用标签包围选择或文本对象,或者更改它周围的标签.