VIM: установить filetype = txt для каждого нового файла [Без имени] - PullRequest
7 голосов
/ 30 марта 2011

Я перепробовал все возможные варианты, чтобы vim установил тип файла 'txt' для всех новых файлов, которые я создаю (на новой вкладке), но это не работает.

Это то, что я читал в Интернете несколько раз:
au BufRead,BufNewFile *.txt setlocal ft=txt
(положить в _vimrc)
Однако это не работает.

Кто-нибудь может мне помочь?

Ответы [ 3 ]

19 голосов
/ 31 марта 2011

Следующая строка, добавленная к вашему .vimrc, установит filetype на text, если она еще не установлена.

autocmd BufEnter * if &filetype == "" | setlocal ft=text | endif
5 голосов
/ 30 марта 2011

Все файлы считаются обычным текстом, если только вы не включили определение типа файла или явно не указали тип файла. Однако Vim позволяет вам установить тип файла для любого старого текста, так что вы абсолютно уверены, что он не работает?

:set filetype=banana
:set filetype?
  filetype=banana

Установка типа файла не будет иметь никакого заметного эффекта, если в каталоге ftplugin Vim нет соответствующего файла и Vim не поставляется с файлом типа файла txt.vim. Вы могли бы, конечно, добавить txt.vim здесь, но я не уверен, что это даст вам настройки по умолчанию - какое специальное поведение вы хотели бы для текстовых файлов, которые вы не хотели бы для поведения по умолчанию?

(Если вам нужна подсветка синтаксиса (что бы это ни значило для текстового файла!), Вам также нужно будет создать файл txt.vim в каталоге syntax Vim.)

Какого эффекта вы пытаетесь достичь?

3 голосов
/ 30 марта 2011

Это на самом деле намного проще, чем все это.Просто поместите это как одну из первых строк в вашем .vimrc.

set ft=txt

При открытии нового файла тип файла будет установлен в txt.Но если вы откроете файл с известным существующим типом, он все равно будет переопределен без проблем.

...