Чтобы изменить TYPE на ничто из conf в Vim
Мой синтаксис -highlighting нарушен для файла, тип которого является следующим:
Файл, где подсветка синтаксиса не работает
http://files.getdropbox.com/u/175564/bugs/vim-bug-type.png
Подсветка синтаксиса работает для всех остальных файлов с расширением.markdown. Однако единственное различие между этими файлами состоит в том, что тип других файлов - ничто, в то время как тип файла, который имеет ошибку, - это Conf.
Файл, где работает подсветка синтаксиса
http://files.getdropbox.com/u/175564/bugs/vim-bug-syntax2.png
Как вы можете изменить тип на ничего с Conf в Vim?
2 ответа
Пытаться:
: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 просматривает содержимое, чтобы определить тип файла. Предположительно, в вашем файле есть что-то похожее на файл конфигурации, так что он делает все возможное. Догадка осуществляется в системе 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
Это проверяет, начинается ли любая из первых пяти строк с #
и если они делают, и никакой другой тип файла не был сопоставлен, он устанавливает тип файла в conf
,