zen-coding.vim у меня не работает (патоген)

Итак, я только что установил плагин zen-coding.vim и расширений не происходит. Плагин есть, если я делаю имена сценариев, а карта :verbose показывает сопоставления ZenCoding. Однако, если я редактирую файл html (или устанавливаю ft=html) и набираю

h1#название

Ничего не произошло. Я уверен, что мой .vimrc залит, но я немного новичок в мире vim, поэтому я изо всех сил пытаюсь понять, что я напортачил. Моя настройка vim находится здесь. Я работаю на Mac OSX и использую pathogen для объединения своих плагинов.

У кого-нибудь есть предложения?

Спасибо, Гленн

Вывод: установить rtp

runtimepath=~/.vim,~/.vim/bundle/IndexedSearch,~/.vim/bundle/gist,~/.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/bundle/vim-git,~/.vim/bundle/vim-haml,~/.vim/bundle/vim-markdown,~/.vim/bundle/vim-rails,~/.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/runtime,/Applications/MacVim.app/Contents/Resources/vim/vimfiles/after,~/.vim /bundle/snipmate.vim/после,~/.vim/после


person Ruprict    schedule 06.01.2011    source источник
comment
Загружены ли оба скрипта зенкодирования? Вероятно, следует загрузить как plugin/zencoding.vim, так и autoload/zencoding.vim.   -  person Randy Morris    schedule 06.01.2011
comment
Неа. только плагин. Любая идея, почему автозагрузка не загружается? Я перепутал возбудителя?   -  person Ruprict    schedule 06.01.2011
comment
Можете ли вы опубликовать вывод :set rtp?   -  person Randy Morris    schedule 06.01.2011
comment
Не знаю, как вы, но в моей настройке я должен ввести <C-y>,, чтобы произошло расширение zen-кодирования.   -  person rossipedia    schedule 06.01.2011
comment
@ Рэнди... добавил. Автозагрузка не загружается. Я думал, что патоген просто позаботится об этом... хмммм...   -  person Ruprict    schedule 07.01.2011
comment
Есть ли у кого-нибудь дзен-кодирование, работающее с возбудителем? Можешь показать мне свой rtp?   -  person Ruprict    schedule 07.01.2011
comment
Итак, я выбросил всю свою настройку dotvim и скопировал akitaonrails файлы dotvim, установил zen-coding в качестве плагина. , и это все еще не работает. Я собираюсь попробовать Sparkup, я думаю. Вздох. Спасибо за попытку помочь, т.   -  person Ruprict    schedule 07.01.2011


Ответы (3)


Я заработал, поместив это в свой .vimrc:

let g:user_zen_expandabbr_key = '<c-e>' 
let g:use_zen_complete_tag = 1

(Я использовал <c-e> вместо значения по умолчанию в основном потому, что я привык использовать другие редакторы с Zen Coding)

P.S. Для меня Sparkup на самом деле не вариант, так как одной из моих любимых функций дзен-кодирования является «обтекание аббревиатурой», которую Sparkup не поддерживает (пока).

person Mike Crittenden    schedule 13.01.2011
comment
Обратите внимание, что zen-coding.vim был переименован в emmet.vim с сегодняшнего дня, поэтому вам нужно будет заменить zen на emmet в приведенных выше параметрах, начиная с этого момента. mattn.github.com/emmet-vim - person Mike Crittenden; 06.08.2013

Кажется, что Pathogen явно не включает каталоги «после», найденные в плагинах, которые вы помещаете в свой каталог «комплект». Это означает, что плагины, такие как zen-coding и snipMate, не могут выполнить свои процедуры инициализации/очистки/привязки ключей.

По-видимому, эти плагины отлично работали для других людей в других средах, но для меня в Windows snipMate не работал, потому что последняя команда загрузки фрагмента в каталоге «после» не была получена.

Я исправил это в pathogen.vim, изменив функцию pathogen#runtime_append_all_bundles(), чтобы явно добавить все каталоги «после», найденные в каталогах пакетов.

Вот патч для 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

БОЛЬШОЕ РЕДАКТИРОВАНИЕ: наткнувшись на эту закрытую проблему на сайте Pathogen github я обнаружил, что основная причина заключалась не в том, что каталоги «после» нужно было добавлять явно, а в том, что они не добавлялись из-за проблемы экранирования обратной косой черты в системах win32 в команде substitute().

Вот гораздо более краткий патч, и на этот раз в унифицированном формате, извините...

@@ -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 сказал, что они отправили Тиму запрос на включение, и Тим сказал, что принял его, но описанное изменение отсутствует в текущей версии кода, поэтому я подумал, что сделаю все возможное, чтобы предоставить свое решение. здесь.

Этот патч избегает любых обратных косых черт в глобусе. Во-первых, не должно быть никаких обратных косых черт ни в одном из элементов пути среды выполнения в системах, отличных от win32, или, если они есть, это связано с тем, что +shellslash установлен в vim, и это экранирование, вероятно, требуется.

Я оставляю старое решение для справки.

person Aaron    schedule 18.01.2011

Мне пришлось chmod +x запустить скрипт поддержки sparkup, чтобы он заработал. Vim выдает вам сообщение об ошибке?

person romainl    schedule 08.01.2011
comment
Я не думаю, что дзен-кодирование использует искру. Установил плагин sparkup и все заработало. Не знаю, что я напутал с zen-кодированием, но у меня есть zenness обратно в vim, что является конечной целью. Спасибо. - person Ruprict; 10.01.2011