Я часто переключаюсь между файлами Ruby и Markdown. Есть ли способ, которым я могу set spellавтоматически установить, когда я открываю *.mdфайл, но не когда я открываю *.rbодин?
Я часто переключаюсь между файлами Ruby и Markdown. Есть ли способ, которым я могу set spellавтоматически установить, когда я открываю *.mdфайл, но не когда я открываю *.rbодин?
Ответы:
Лучший способ установить опцию для определенного типа файла - использовать автокоманды.
Здесь вы можете добавить что-то подобное в свой .vimrc:
autocmd FileType markdown setlocal spell
Эта строка будет вызывать команду , setlocal spellкогда Filetype буфера устанавливается как уценка. Вы также можете использовать автокоманду, основанную на расширении редактируемого файла, например:
autocmd BufRead,BufNewFile *.md setlocal spell
Для получения дополнительной информации вы должны прочитать :h :autocmdи :h autocmd-events.
РЕДАКТИРОВАТЬ Использование автокоманд не самый лучший способ сделать это.
Во-первых, если вы используете автокоманды, не забудьте поместить их в augroup:
augroup markdownSpell
autocmd!
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.md setlocal spell
augroup END
Таким образом, если вы используете исходный код vimrc несколько раз, автокоманды не будут суммироваться и выполняться несколько раз.
Теперь лучшим решением будет использование ftplugin. Для этого вы хотите создать файл ~/.vim/after/ftplugin/markdown.vim.
Этот файл будет получен, когда для типа файла буфера задано значение markdownи после того, как исходный файл ftpluginVim поставляется по умолчанию (таким образом, вы не теряете уже существующие настройки).
В этом файле вы можете просто добавить:
setlocal spell
Здесь вам нужно использовать setlocalвместо того, setчтобы убедиться, что настройки будут применяться только к текущему буферу, а не ко всем буферам.
Некоторые интересные связанные разделы справки:
autocmd FileType latex,tex,md,markdown setlocal spell