1

次のように、タイプが conf であるファイルの構文強調表示が壊れています。

シンタックスハイライトが効かないファイル

代替テキスト http://files.getdropbox.com/u/175564/bugs/vim-bug-type.png

構文の強調表示は、拡張子が .markdown の他のすべてのファイルで機能します。ただし、これらのファイルの唯一の違いは、他のファイルのタイプは何もないのに対し、バグのあるファイルのタイプは Conf.

シンタックスハイライトが機能するファイル

代替テキスト http://files.getdropbox.com/u/175564/bugs/vim-bug-syntax2.png

VimのConfからTypeをnothingに変更するにはどうすればよいですか?

4

2 に答える 2

3

試す:

:setf none

または(同等に):

:set ft=

自動的に実行する場合は、構文検出を構成する必要があります。ファイルを作成します (存在しない場合): vimfiles/after/filetype.vim または ~/.vim/after/filetype.vim。このファイルに、次の行を追加します。

au BufNewFile,BufRead *.markdown        set ft=none

または、ここからマークダウン構文をダウンロードして(私はこれを試していません)、次のように構成します。

au BufNewFile,BufRead *.markdown        set ft=mkd

詳細については:

:help :setf
:help 'filetype'
:help :autocmd
:help BufRead
:help BufNewFile

詳細については、.markdown拡張子が認識されないために問題が発生するため、Vim は内容を調べてファイルの種類を判断しようとします。おそらく、構成ファイルに少し似ているものがファイルにあると思われるため、最善の推測を行います。推測は system で実行されfiletype.vim、通常は c:\vim\vim72 または /usr/share/vim/vim72/filetype.vim (と思います) で実行され、次のようになります。

" Generic configuration file (check this last, it's just guessing!)
au BufNewFile,BufRead,StdinReadPost *
    \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
    \    && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
    \   || getline(4) =~ '^#' || getline(5) =~ '^#') |
    \   setf conf |
    \ endif

これは、最初の 5 行のいずれかが a で始まるかどうかをチェックし、#それらが a で始まり、他のファイル タイプが一致しない場合は、ファイル タイプを に設定しconfます。

于 2009-07-27T09:49:47.127 に答える
3
:set filetype=

ファイルの種類を none に設定します。

于 2009-07-27T09:50:28.107 に答える