已经有一段时间了,因为我不得不做任何类似HTML的代码Vim
,但最近我又遇到了这个问题.说我写的很简单HTML
:
This is a title
如何快速写下title,head和html的结束标记?我觉得我在这里错过了一些非常简单的方法,不会让我一个接一个地写下它们.
当然,我可以使用CtrlP自动填充单个标签名称但是我的笔记本电脑键盘上的东西实际上是正确的括号和斜线.
我发现使用xmledit插件非常有用.它增加了两个功能:
当你打开一个标签(例如类),它一旦扩展标记为你键入右
>
进和插入模式将光标置于标签内.
如果您然后立即键入另一个 >>
(例如您键入
),它会将其扩展为
并将光标置于标记内,在插入模式下缩进一次.
的XML VIM插件添加代码折叠和嵌套代码匹配到这些特征.
当然,如果您在Markdown中编写HTML内容并使用%!
通过您选择的Markdown处理器过滤Vim缓冲区,则根本不必担心关闭标记:)
我喜欢简单的东西,
imap ,/
我发现让vim为我编写开始和结束标记更方便,而不仅仅是关闭标记.你可以使用Tim Pope的优秀ragtag插件.用法如下所示(让|标记光标位置)键入:
span|
按CTRL+x SPACE
你明白了
|
您也可以使用CTRL+ x ENTER代替CTRL+ x SPACE,然后就可以了
|
Ragtag可以做的不仅仅是它(例如插入<%=围绕此%>或DOCTYPE的东西).您可能想查看ragtag的作者的其他插件,尤其是环绕声.
看一下这个..
closetag.vim
Functions and mappings to close open HTML/XML tags
https://www.vim.org/scripts/script.php?script_id=13
我使用类似的东西.
如果你正在做任何精心设计的事情,那么火花很好.
他们网站的一个例子:
ul > li.item-$*3
扩展为:
用一个
.
要做问题中给出的例子,
html > head > title{This is a title}
产量
This is a title
还有一个zencoding vim插件:https://github.com/mattn/zencoding-vim
教程:https://github.com/mattn/zencoding-vim/blob/master/TUTORIAL
更新:现在称为Emmet:http://emmet.io/
本教程的摘录:
1. Expand Abbreviation Type abbreviation as 'div>p#foo$*3>a' and type ','. --------------------- --------------------- 2. Wrap with Abbreviation Write as below. --------------------- test1 test2 test3 --------------------- Then do visual select(line wize) and type ' ,'. If you request 'Tag:', then type 'ul>li*'. --------------------- --------------------- ... 12. Make anchor from URL Move cursor to URL --------------------- http://www.google.com/ --------------------- Type '
- test1
- test2
- test3
a' --------------------- Google ---------------------
我喜欢让我的块标签(而不是内联)立即关闭并尽可能简单地使用快捷方式(我喜欢尽可能避免使用特殊键CTRL,尽管我用它closetag.vim
来关闭我的内联标签.)我喜欢用这个启动标签块时的快捷方式(感谢@kimilhee;这是他的答案的起飞):
inoremap >> F o "> O
类型-
[Tab]
结果-
|
where |
表示光标位置.
inoremap
表示在插入模式下创建映射
>
表示关闭尖括号和制表符; 这是匹配的
>
表示结束第一个标记并从插入中退出到正常模式
F<
意味着找到最后一个开口角括号
l
意味着将光标向右移动一个(不要复制开口尖括号)
yt>
表示从光标位置向上移动直到下一个闭合角括号之前(即复制标签内容)
o
表示在插入模式下启动新行并添加一个开口尖括号和斜杠
表示从默认寄存器("
)中以插入模式粘贴
>
表示关闭结束标记并从插入模式中退出
O
意味着在光标上方的插入模式下开始一个新行并插入一个空格
allml(现在为Ragtag)和Omni-completion(
如果要在这些文件中自动关闭标记,可以像这样映射.
imapF $a^R">
(^ R是Contrl + R:您可以输入类似Control + v然后按Control + r)
如果你输入..(|是光标位置)
ABCDE |
并键入^ j
然后它关闭这样的标签..
ABCDE P> |
vim-closetag
这是一个非常简单的脚本(也可以作为vundle
插件使用),可以为您关闭(X)HTML标记。从README
:
如果这是当前内容:
现在,按>,内容将是:
|
现在,如果>再次按,内容将是:
|
注意:
|
这里是光标
10> mloskot..:这是基于易于发现的Web编写的另一个简单解决方案:
自动关闭HTML标签
:iabbrev
打开完成
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
推荐阅读
如何解决《如果450KBbase64编码,数据的文件大小是多少?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Rspecallow_any_instance_of返回实例ID》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何使用数组在div上按顺序获取颜色》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在Windows10主页中设置Composer路径变量》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用FileReader(WebAPI)在浏览器中读取大文件》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Bash参数扩展-获取文件的直接父目录》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何给lambda中的运算符添加空间?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何使这个字符串替换代码与`<br/>`标签一起使用?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《在admin中保存新模型时,表"django_admin_log"上的插入或更新违反了外键约束》经验,为你挑选了1个好方法。 ... [详细] 如何解决《是什么使WSGI本质上是同步的?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《嵌入在UIWebView中的Youtube视频在真实设备上没有声音》经验,为你挑选了3个好方法。 ... [详细] 如何解决《我们如何通过可变引用来维护类的不变性》经验,为你挑选了2个好方法。 ... [详细] 如何解决《Powershell数组:何时使用它们;何时避免;和使用它们的问题》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Unity动画播放预览但不播放游戏时播放》经验,为你挑选了1个好方法。 ... [详细] 如何解决《具有宏值串联的C++`ifdef`》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用#close后,应该释放光标》经验,为你挑选了1个好方法。 ... [详细] 如何解决《SpringRestTemplate:同时发布图像和对象》经验,为你挑选了0个好方法。 ... [详细] 如何解决《在C++中对结构的向量进行排序》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在回调中使用this.setState》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Python101:无法打开文件:没有这样的文件或目录》经验,为你挑选了1个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1在iOS中的UITableViewCell中,setHighlighted和setSelected有什么区别?
- 2错误:无法完成Gradle执行。原因:未知的命令行选项“ -X”
- 3在data.table上使用geosphere distm函数来计算距离
- 4从Python NLTK调用斯坦福NER崩溃
- 5如何使$ q等待多个异步任务?
- 6Dockerfile:将RUN指令输出到变量中
- 7使用node.js child_process调用python脚本
- 8Pyspark RDD首先收集163排
- 9Android蓝牙低功耗代码兼容API> = 21 AND API <21
- 10如何在python中获取SQL查询的表列名/标题
- 11如何在Python的scikit-learn中访问树深度?
- 12Linq反向字符串c#
- 13如何匹配Rust宏中表达式的类型?
- 14Python:只保留字符串中的字母
- 15如何在石墨/ grafana中查询"all but one"
- 16如果bool数组中的所有元素都为真?
- 17如何删除字符串末尾的换行符?
- 18XPages REST服务和外部系统身份验证
- 19为什么redux建议只连接到顶级组件?
- 20php -l:抑制有效文件的输出
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有