Задать вопрос

VIM set encoding, fileencoding если файл в windows-1251

Добрый день.

У меня файлы в cp-1251, содержащие символы кириллицы. Когда я редактирую такой файл, мне приходится устанавливать
:set encoding=cp1251
:set fileencoding=cp1251

Может ли vim самостоятельно определять кодировку файла cp1251 и устанавливать соответствующие значения encoding и fileencoding?

Часть проекта — файлы в cp1251, часть — в utf8. Хотелось бы без проблем работать с vim переключаясь по разным файлам проекта без проблем с постоянными установками нужной кодировки терминала и файла.

Чувствую, несколько неточно выразился, но надеюсь, поднятно.
  • Вопрос задан
  • 35200 просмотров
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@qnikst
Возможно поможет (автоопределение utf-8 файлов)
" {{{ Locale settings
" if we have BOM => this is BOM
if &fileencodings !~? "ucs-bom"
	set fileencodings^=ucs-bom
endif
if &fileencodings !~? "utf-8"
	let g:added_fenc_utf8 = 1
	set fileencodings+=utf-8
endif
if &fileencodings !~? "default"
	set fileencodins+=default
endif
" }}}

определяемые кодировки
set fileencodings=utf-8,cp1251,koi8-r,cp866


Меню для быстрого выбора кодировки
menu Encoding.koi8-r :e ++enc=koi8-r ++ff=unix<CR>
menu Encoding.windows-1251 :e ++enc=cp1251 ++ff=dos<CR>
menu Encoding.cp866 :e ++enc=cp866 ++ff=dos<CR>
menu Encoding.utf-8 :e ++enc=utf8<CR>
menu Encoding.koi8-u :e ++enc=koi8-u ++ff=unix<CR>

map <F8> :emenu Encoding.<TAB>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы