Vim: хотел бы, чтобы он включал настройки только для определенных типов файлов

Я просмотрел этот, но это было не слишком много. Возможно, я не слишком хорошо читал.

В принципе, я хочу, чтобы открыть файл .txt с настройками:

set wrap
set linebreak

включены. Как я могу это сделать?

Спасибо заранее.

Кроме того, я использую XP.

Ответы

Ответ 1

Мой ответ на этот вопрос по-прежнему применяется:

Поместите команды autocmd на основе суффикса файла в ~/.vimrc

autocmd BufRead,BufNewFile   *.txt set wrap linebreak

Как говорит Люк, вы можете предпочесть

autocmd BufRead,BufNewFile   *.txt setlocal wrap linebreak

если вы, вероятно, одновременно откроете файлы txt и non-txt.

Ответ 2

Поместите это в ~/.vim/ftdetect/text.vim(этот путь будет немного отличаться для окон):

autocmd BufRead,BufNewFile *.txt setfiletype text

Затем поместите это в ~/.vim/ftplugin/text.vim:

setlocal wrap
setlocal linebreak

Предпочтительно только один раз сделать autocmd для типа файла и отделить его от вашего файла vimrc.

Ответ 3

Хорошим решением для этого является "после". Вы можете добавить rc файл для всего, что хотите, подсветки синтаксиса, типов файлов и т.д. Эти конфигурации запускаются после запуска всех других конфигураций, поэтому после конфигурации системы и после вашего .vimrc. Таким образом, вы можете создать в системе типа unix файл с именем ~/.vim/after/ftplugin/text.vim и добавить две строки, которые вы хотите там. Они будут установлены для типа текстового файла, но не для других типов файлов. Вы можете иметь разные файлы в каждом из этих каталогов для других типов файлов, таких как perl.vim.

Поскольку вы не находитесь в среде unix, вам нужно будет найти свой [каталог времени выполнения] [1], установив опцию [runtimepath] [2]. Вы бы создали свой "после" каталог и файлы там.

ПРИМЕЧАНИЕ:

Ссылки для меня не работают, вероятно из-за якорей: