4

MacVim でパッケージを処理するためのバンドルをセットアップしました。Ruby、Perlなど、他のすべてのファイルのファイルタイプを正しく設定します。

ただし、.clj ファイルを開くとファイルタイプが設定されません。実行する:set filetype?と、空が返されます。そのため、vim は clojure ファイルを認識していません。:set filetype=clojureコード補完と構文の強調表示をすぐに取得できます。VimClojure が正しく動作していることはわかっています。

これを「デバッグ」する、または問題の場所を見つける最善の方法は何ですか?

  • MacVim v7.3
  • OS X 10.6

ありがとう!

アップデート

私はすでに持っていてfiletype plugin indent on、vundle が管理している他のパッケージ (vim-ruby、vim-rails など) で動作しています。VimClojureだけではありません。

4

5 に答える 5

5

ファイルタイプのプラグインをロードできるようにするには、これを に追加する必要があるかもしれません.vimrc:

filetype plugin on

于 2011-10-10T07:56:54.427 に答える
3

vimrc で残りの構成を行う前に、 Vundle とバンドルを初期化していることを確認してください。したがって、たとえば、次のようにする必要があります。

" =======================================================================
" Vundle setup and initialization. This needs to be done before any
" configuration so all plugins are loaded.

set nocompatible                    " required for Vundle
filetype off                        " required for Vundle, enabled later.

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'

" Powerline
Bundle 'Lokaltog/vim-powerline'
...

...ここで、Powerline は単なるバンドルの例です。次に、残りの設定を行います...

" =======================================================================
" Actual vim configuration goes here.
" =======================================================================

syntax on                           "lots of syntax highlighting
set nocompatible                    "be iMproved
colorscheme mustang
filetype plugin indent on
...

それが役立つことを願っています...

于 2013-03-26T23:53:20.453 に答える
0

Ubuntuでも同じ問題があります。これは、システムレベルのvim設定が原因です。

どのシステムレベルのvim設定を適用することができます:scriptnames。vim内で実行するredir @c | scriptnames | redir END | enew | put cと、vimから供給されたすべてのスクリプトを含むバッファーが得られます。すべてのファイル(:g/\~/d)を無視すると、すべてのシステムレベルのスクリプトが表示されます。

私の問題は最初のファイルにありました:/usr/share/vim/vimrc

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
if has("syntax")
  syntax on
endif

病原体syntax on(私のvimプラグインマネージャー)がセットアップされる前に表示されるため、vimはbundle / vimclojure/ftdetectディレクトリを検索しません。ヴァンドルも同じ問題を抱えていると思います。(ftdetect / clojure.vimを〜/ .vim / ftdetect / clojure.vimにコピーして、まだ問題が発生するかどうかを確認してください。)

同じ問題が発生している場合は、次の3つの解決策が考えられます。

  1. それらの行をコメントアウトし、問題のあるファイル(AppleまたはMacVim)を所有している人にバグを報告します。MacVimがシステムレベルの変更を行ったことを覚えていないので、ファイルはMacVimバンドルに含まれていると思います。
  2. バンドルを初期化する前に追加filetype offします(必要な場合もありsyntax offます)。病原体はこれを行うために病原体#infect()を使用します、多分vundleは似たようなものを持っています。(対応する病原体のバグ修正。)後でそれらをオンに戻すようにしてください!(また、vundleの設定が、filetype / plugin / syntaxに関連するvimrcの他の何よりも前にあることを確認してください。)
  3. すべてのバンドルのftdetectファイルから〜/ .vim / ftdetectへのシンボリックリンクを作成します(バグが修正された場合はautocmdsを2倍にします)。
于 2012-08-22T14:42:13.610 に答える
0

VimClojure はファイルをインストールしますftdetect/clojure.vim。私の疑いは、これが Vim によって認識されていないということです。vundle を知らないので、私はそれを助けることができません。vundle で初期化が必要な場合.vimrcは、ファイルタイプの前に初期化が行われることを確認する必要があります。

于 2011-10-10T06:44:05.320 に答える