所以,我刚刚安装了zen-coding.vim插件,并且没有进行扩展。如果我做脚本名称,插件就在那里,并且:详细地图显示了ZenCoding映射。但是,如果我编辑一个html文件(或设置ft = html)并输入
H1#标题
什么都没发生。我确信我的.vimrc已被软管,但我对vim世界有点新意,所以我正在努力找出我搞砸了什么。我的vim设置为here。我在Mac OSX上,我正在使用病原体捆绑我的插件。
有人有什么建议吗?
谢谢, 格伦
输出:set rtp
runtimepath =〜/的.vim〜/的.vim /捆/ IndexedSearch〜/的.vim /束/要旨,〜/的.vim /束/的jquery〜/的.vim /束/ nerdtree,〜/ VIM /捆绑/ snipmate.vim〜/的.vim /束/ textile.vim〜/的.vim /束/ VIM对齐,〜/的.vim /束/ VIM-黄瓜,〜/的.vim /束/ VIM-逃犯,〜/的.vim /束/ VIM-git的,〜/的.vim /束/ VIM-HAML〜/的.vim /束/ VIM-减价,〜/的.vim /束/ VIM-导轨,〜/ vim的 /bundle/vim-repeat,~/.vim/bundle/vim-ruby,~/.vim/bundle/vim-ruby-debugger,~/.vim/bundle/vim-shoulda,~/.vim/bundle/v IM-SUPERTAB〜/的.vim /束/ VIM-环绕,〜/的.vim /束/ VIM-tcomment〜/的.vim /束/ VIM-vividchalk〜/的.vim /束/ zencoding-VIM,/应用/MacVim.app/Contents/Resources/vim/vimfiles,/Applications/MacVim.app/Contents/Resources/vim/ru n时间,/应用/ MacVim.app /内容/资源/ VIM / vimfiles /后,〜/的.vim /束/ snipmate.vim /后,〜/的.vim /后
答案 0 :(得分:9)
我把它放在我的.vimrc:
中let g:user_zen_expandabbr_key = '<c-e>'
let g:use_zen_complete_tag = 1
(我使用<c-e>
而不是默认值,因为这是我习惯使用其他编辑器使用Zen Coding的方法)
P.S。对我来说,Sparkup并不是一个真正的选择,因为我最喜欢的zen编码功能之一就是Sparkup不支持的“缩写包装”。(/ p>
答案 1 :(得分:2)
似乎Pathogen没有明确包含您放在“bundle”目录中的插件中找到的“after”目录。这意味着zen-coding和snipMate等插件无法运行其初始化/清理/键绑定例程。
显然这些插件对于其他环境中的其他人来说都很好用,但对于我来说,在Windows中,snipMate不能正常工作,因为“after”目录中的最终片段加载命令没有来源。
我在pathogen.vim中通过修改pathogen#runtime_append_all_bundles()
函数来明确地附加在bundle目录中找到的所有“after”目录。
这是pathogen.vim版本1.2的补丁:
121c121,125
< let list += [dir] + pathogen#glob_directories(dir.sep.name.sep.'*[^~]')
---
> let subdirs = pathogen#glob_directories(dir.sep.name.sep.'*[^~]')
> let list += [dir]
> for subdir in subdirs
> let list += [subdir] + pathogen#glob_directories(subdir.sep.'*after*')
> endfor
BIG EDIT :在Pathogen github网站上遇到this closed issue之后,我发现根本原因并不是需要明确添加“after”目录,而是他们由于substitute()
命令在win32系统上出现反斜杠转义问题,因此没有添加。
这是一个更简洁的补丁,这次采用统一格式,抱歉......
@@ -116,7 +116,8 @@
let list = []
for dir in pathogen#split(&rtp)
if dir =~# '\<after$'
- let list += pathogen#glob_directories(substitute(dir,'after$',name.sep.'*[^~]'.sep.'after','')) + [dir]
+ let replacement = substitute(name.sep.'*[^~]'.sep.'after', '\\', '\\\\', 'g')
+ let list += pathogen#glob_directories(substitute(dir,'after$',replacement,'')) + [dir]
else
let list += [dir] + pathogen#glob_directories(dir.sep.name.sep.'*[^~]')
endif
github问题的记者说,他们给蒂姆发了拉请求,蒂姆说他接受了,但是所描述的改变不在当前版本的代码中,所以我想我会尽我所能在这里提供我的解决方案。
此补丁会转义glob中的任何反斜杠。首先,在非win32系统上的任何运行时路径项中都不应该有任何反斜杠,或者是因为它是因为在vim中设置了+ shellslash而且可能需要这种转义。
我将旧解决方案留在那里作为参考。
答案 2 :(得分:0)
我必须使用chmod +x
sparkup的支持脚本才能使其正常工作。 Vim会给你一些错误信息吗?