1

だから、私はzen-coding.vimプラグインをインストールしたばかりで、拡張は行われていません。スクリプト名を実行するとプラグインがあり、:verboseマップにZenCodingマッピングが表示されます。ただし、htmlファイルを編集して(またはft = htmlを設定して)、次のように入力すると

h1#title

何も起こりません。私の.vimrcはホースでつながれていると確信していますが、私はvimの世界に少し慣れていないので、何を台無しにしたのかを見つけるのに苦労しています。私のvimセットアップはここにあります。私はMacOSXを使用しており、病原体を使用してプラグインをバンドルしています。

誰か提案がありますか?

ありがとう、グレン

:setrtpの出力

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/after,~/.vim/after

4

3 に答える 3

9

これを.vimrcに入れることで動作しました:

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

(私は<c-e>主にデフォルトの代わりに使用しました。これは、Zen Codingで他のエディターを使用することに慣れているためです)

PS私にとって、Zenコーディングの私のお気に入りの機能の1つは、Sparkupが(まだ)サポートしていない「ラップイン略語」であるため、Sparkupは実際にはオプションではありませんでした。

于 2011-01-13T15:06:10.887 に答える
2

Pathogenには、「バンドル」ディレクトリに配置したプラグイン内にある「後」ディレクトリが明示的に含まれていないようです。これが意味するのは、zen-codingやsnipMateなどのプラグインが初期化/クリーンアップ/キーバインディングルーチンの実行に失敗することです。

どうやらこれらのプラグインは他の環境の他の人々にとってはうまく機能しているようですが、Windowsの私にとっては、「after」ディレクトリの最後のスニペット読み込みコマンドがソースされていないため、snipMateは機能しませんでした。

pathogen#runtime_append_all_bundles()バンドルディレクトリ内にあるすべての「後」ディレクトリを明示的に追加するように関数を修正することにより、病原体.vimでこれを修正しました。

これが病原体.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の問題のレポーターは、Timにプルリクエストを送信し、Timはそれを受け入れたと述べましたが、説明されている変更は現在のバージョンのコードには含まれていないため、解決策を提供するためにできることを実行すると思いました。ここ。

このパッチは、グロブのバックスラッシュをエスケープします。そもそも、win32以外のシステムのランタイムパス項目にはバックスラッシュがあってはなりません。バックスラッシュがある場合は、vimで+ shellslashが設定されており、このエスケープがおそらく必要です。

参考までに、古いソリューションはそのままにしておきます。

于 2011-01-18T16:12:44.850 に答える
0

それを機能させるには、chmod +xsparkupのサポートスクリプトが必要でした。Vimからエラーメッセージが表示されますか?

于 2011-01-08T21:27:38.463 に答える