zen-coding.vim不适合我(病原体)
所以,我刚刚安装了zen-coding.vim插件,扩展没有发生。如果我使用脚本名,插件就在那里,并且:详细地图显示ZenCoding映射。不过,如果我编辑HTML文件(或一组英尺= HTML),然后键入zen-coding.vim不适合我(病原体)
H1#标题
什么也没有发生。我确信我的.vimrc文件已被彻底清理,但我对vim世界有点新鲜,所以我正在努力找出自己弄错了什么。我的vim设置是here。我在Mac OSX上,并且正在使用病原体捆绑我的插件。
任何人有任何建议吗?
谢谢, 格伦
输出的:设定RTP
runtimepath =〜/的.vim〜/的.vim /捆/ IndexedSearch〜/的.vim /束/要旨,〜/ vim的/bundle/jquery,~/.vim/bundle/nerdtree,~/。 vim/bundle/snipmate.vim,〜/ .vim/bundle/textile.vim,〜/ .vim/bundle/vim-align,〜/ .vim/bundle/vim-cucumber,〜/ .vim/bundle/ 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/bundle/vim-surround,〜/ .vim/bundle/vim-tcomment,〜/ .vim/bundle/vim-vividchalk,〜/ .vim/bundle/zencoding- vim,/ Applications/MacVim.app/Contents/Resources/vim/vimfiles,/ Applications/MacVim.app/Contents/Resources/vim/ru ntime,/ Applications/MacVim.app/Contents/Resources/vim/vimfiles/after ,〜/ .vim/bundle/snipmate.vim/after,〜/ .vim/after
我把它通过把这个在我的.vimrc工作:
let g:user_zen_expandabbr_key = '<c-e>'
let g:use_zen_complete_tag = 1
(我用<c-e>
而不是默认的,主要是因为这就是我使用禅编码其他编辑用)
PS对我来说,Sparkup并不是一个真正的选择,因为我最喜欢的zen编码功能之一就是Sparkup不支持的“缩写”。
我不得不chmod +x
sparkup的支持脚本,使其工作。 Vim会给你一些错误信息吗?
似乎Pathogen没有明确包含您在“捆绑”目录中放置的插件中的“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编辑:跨this closed issue即将来临的病原GitHub的网站后,我发现,根本原因是没有的“后”,以明确添加必需的目录,但他们没有被由于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并且可能需要此转义。
我要离开旧的解决方案,以供参考。
是否都加载了zencoding脚本?可能应该加载plugin/zencoding.vim和autoload/zencoding.vim。 – 2011-01-06 17:54:00
没有。只是插件。任何想法为什么自动加载不加载?我弄乱了病原体吗? – Ruprict 2011-01-06 18:50:06
你可以发布':set rtp?'的输出吗? – 2011-01-06 19:47:56