vim: хотел бы включить настройки только для определенных типов файлов - PullRequest
18 голосов
/ 22 января 2009

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

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

set wrap
set linebreak

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

Заранее спасибо.

Также я использую XP.

Ответы [ 3 ]

22 голосов
/ 22 января 2009

Мой ответ на этот вопрос остается в силе:

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

autocmd BufRead,BufNewFile   *.txt set wrap linebreak

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

autocmd BufRead,BufNewFile   *.txt setlocal wrap linebreak

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

8 голосов
/ 24 января 2009

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

autocmd BufRead,BufNewFile *.txt setfiletype text

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

setlocal wrap
setlocal linebreak

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

2 голосов
/ 25 января 2009

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

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

ПРИМЕЧАНИЕ:

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

...