zen-coding.vim не работает для меня (патоген) - PullRequest
1 голос
/ 06 января 2011

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

h1 # название

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

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

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

Вывод: set rtp

runtimepath = ~ / .vim, ~ / .vim / расслоение / IndexedSearch, ~ / .vim / пучок / сутью, ~ / .vim / расслоение / JQuery, ~ / .vim / расслоение / nerdtree, ~ /. ВИМ / расслоение / snipmate.vim, ~ / .vim / расслоение / textile.vim, ~ / .vim / комплект / ВИМ-выверять, ~ / .vim / пучок / ВИМ-огурец, ~ / .vim / комплект / ВИМ-беглого, ~ / .vim / расслоение / ВИМ-ГИТ, ~ / .vim / расслоение / ВИМ-Haml, ~ / .vim / расслоение / ВИМ-уценки, ~ / .vim / расслоение / VIM-рельсы, ~ / .vim /bundle/vim-repeat,~/.vim/bundle/vim-ruby,~/.vim/bundle/vim-ruby-debugger,~/.vim/bundle/vim-shoulda,~/.vim/bundle/v им-supertab, ~ / .vim / расслоение / ВИМ-объемного звучания, ~ / .vim / расслоение / ВИМ-tcomment, ~ / .vim / расслоение / ВИМ-vividchalk, ~ / .vim / расслоение / zencoding-VIM, / Applications /MacVim.app/Contents/Resources/vim/vimfiles,/Applications/MacVim.app/Contents/Resources/vim/ru Ntime, / Applications / MacVim.app / Содержание / Ресурсы / ВИМ / vimfiles / после, ~ / .vim / пучок / snipmate.vim / после, ~ / .vim / после

Ответы [ 3 ]

9 голосов
/ 13 января 2011

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

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

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

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

2 голосов
/ 18 января 2011

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

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

Я исправил это в pathogen.vim, изменив функцию pathogen#runtime_append_all_bundles(), чтобы явно добавлять все найденные каталоги «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

БОЛЬШОЕ РЕДАКТИРОВАНИЕ : после обнаружения этот закрытый вопрос на сайте Pathogen github я обнаружил, что основной причиной было не то, что каталоги "after" нужно было добавлять явно, а то, что они не добавлялись из-за проблемы с экранированием обратной косой черты в системах 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 и это экранирование, вероятно, требуется.

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

0 голосов
/ 09 января 2011

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

...