web-dev-qa-db-ja.com

ファイルタイプの検出が機能しない

私は2台の別々のコンピューターで同じvimrcを使用しています。どちらのMacBookも(MacVim)を使用しています。ターミナルからファイルを起動した後、ファイルタイプを正しく検出します。もう1つは、手動で入力するようにします。

:set filetype=php

Vimrcのどの設定がこの動作を制御するかについての他の奇妙な観察があれば幸いです。

4
joe-bbb

行を追加してみてください:filetype offfiletype plugin indent on

8
xps

私が最初にチェックすること-壊れたマシンで、vimrcを編集し、set filetype onがどこかにあることを確認します。

壊れたマシンでチェックする他の事柄:

  1. $ VIMRUNTIME /filetype.vimが存在します
  2. ファイルを編集しているときに:filetypeは何を表示しますか? (検出プラグインとインデントがすべてオンになっていると言う必要があります。)
  3. set syntax offはvimrcのどこかに表示されますか?

あなたのファイルを見ることからのいくつかの事柄:

70〜72行目:

ファイルタイプは、構文の強調表示にも使用されます。 :syntax onコマンドを使用すると、ファイルタイプ検出もインストールされます。 :filetype onの後に:syntax onを実行する必要はありません。

filetype plugin indent onを使用する場合は、その直前にfiletype onは必要ありません。これは、さまざまなコマンドがどのように機能するかです。

コマンド検出プラグインのインデント〜
:ファイルタイプオンオン変更なし
:ファイルタイプオフオフ変更なし変更なし
:ファイルタイププラグインオンオン変更なし
: filetypeプラグインオフ変更なしオフ変更なし
:ファイルタイプインデントオンオン変更なしオン
:ファイルタイプインデントオフ変更なし変更なしオフ
:ファイルタイププラグインインデントオンオンオンオン
:filetypeプラグインインデントオフ変更なしオフオフ

170行目:NERDシャットダウンをオフにします。使用ファイルタイプの苦情はありますか?

他の考え:

動作していないマシン上のファイルのfiletypes.vimが変更されている可能性はありますか?ファイルを差分します。それらはまったく同じですか?権限は同じですか?

3
DaveParillo

最近のバージョンのvimは、ファイルタイプの検出に影響を与えるコマンドを.vimrcに設定する可能性があるため、起動時にファイルタイプの検出を自動的に実行しません。

.vimrcの最後に次のコードを置くと、ファイルタイプが再び検出されます

filetype on
filetype plugin on
filetype indent on
0
Ken Bloom

いくつかのこと。これら2つのうちの1つでvimrcが「機能する」ので、問題がもう1つにあることを意味します(最初の1つでは、すべてが問題なく機能していると思います)。

Vimは、ロードの優先順位が異なるさまざまなディレクトリから設定ファイルをロードできます(一方が他方を上書きします)。それらがどれであるかを確認するには、「:helpvimfiles」を参照してください。

次に、「:echo $ myvimrc」を試して、「最新の」vimrcがどこからロードされているかを確認します。それはあなたが現在リンクしているものですか?

第三に、デイブがすでに指摘したように、vimディレクトリに「filetype.vim」というファイルがあり、適切なファイルタイプファイルがありますか?

これらのいずれもうまくいかない場合は、使用しているvim/gvimのバージョンもお知らせください。

0
Rook