3

Я использую один и тот же vimrc на двух отдельных компьютерах, оба используют MacBook (MacVim). Один правильно определяет тип файла после запуска файла из терминала. Другой заставляет меня печатать вручную.

:set filetype=php

Любые другие любопытные наблюдения за тем, какие настройки в vimrc управляют этим поведением, будут оценены.

4 ответа4

6

попробуйте добавить строку: filetype off до того, как filetype plugin indent on

3

Первое, что я хотел бы проверить - на сломанной машине отредактируйте ваш 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 прямо перед ним. Вот как работают различные команды:

command                      detection   plugin       indent ~  
:filetype on                 on          unchanged    unchanged  
:filetype off                off         unchanged    unchanged  
:filetype plugin on          on          on           unchanged  
:filetype plugin off         unchanged   off          unchanged  
:filetype indent on          on          unchanged    on  
:filetype indent off         unchanged   unchanged    off  
:filetype plugin indent on   on          on           on  
:filetype plugin indent off  unchanged   off          off  

Строка 170: отключить отключение NERD. Вы получаете жалобы на использование файлов?

Другие мысли:

Возможно ли, что файл на нерабочем компьютере имеет измененный filetypes.vim? Различайте файлы. Они точно такие же? Разрешения одинаковы?

0

Последние версии vim не выполняют автоматическое определение типов файлов при запуске, поскольку в вашем .vimrc вы можете задавать команды, которые влияют на обнаружение типов файлов.

Поместите следующий код в конец вашего .vimrc, и вы снова получите определение типа файла

filetype on
filetype plugin on
filetype indent on
0

Мало вещей. Поскольку на одном из этих двух ваш vimrc "работает", это означает, что проблема в другом (я полагаю, на первом все работает удовлетворительно).

Vim может загружать файлы конфигурации из разных каталогов, имеющих разные приоритеты загрузки (одна перезаписывает другую). Смотрите ": помогите vimfiles", чтобы увидеть, какие из них.

Во-вторых, попробуйте ":echo $ myvimrc", чтобы увидеть, откуда загружается ваш "последний" vimrc. Это тот, на который вы сейчас ссылаетесь?

В-третьих, как уже указывал Дэйв, у вас есть файл в каталоге vim, называемый filetype.vim, и у вас есть подходящий файл типа файла?

Если ни один из этих способов не помог вам, сообщите нам также, какую версию vim/gvim вы используете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .