LINUX.ORG.RU

[vim] кодировка файла

 


0

0

имеем: локаль utf8 и файл в cp1251.

как указать в файле с какой кодировкой его открывать?

строка «vim:fenc=cp1251:enc=cp1251:» подхватывается только при втором открытии...

я где-то ман не дочитал..?

Ответ на: комментарий от amoralyrr

файлик в svn... я устану его туда-сюда гонять....

Rastafarra ★★★★
() автор топика

set termencoding=koi8-r
set wildmenu
set wcm=<Tab>
menu Encoding.koi8-r        :set encoding=koi8-r<CR>
menu Encoding.windows-1251  :set encoding=cp1251<CR>
menu Encoding.ibm-866       :set encoding=ibm866<CR>
menu Encoding.utf-8         :set encoding=utf8 <CR>
map <F8> :emenu Encoding.<TAB>

в .vimrc

Deleted
()
Ответ на: комментарий от CtrlAltBs

> Пропиши в vimrc cp1251 по умолчанию. В чем проблема?

мне это надо для одного файла. все-то зачем?

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Deleted

> в .vimrc

да, и это тоже гугл показывал :)

но это ж выбирать каждый раз надо... лень :)

для емакса работает что-то вроде:

| Dear Emacs! Please set these
| local variables:
| mode: text
| coding: cp1251-dos
| end:

и при открытии все показывается нормально.

а для вима?

опять же... хочется для буффера это дело устанавливать, а так устанавливается для всего, что открыто. или я ошибаюсь?

Rastafarra ★★★★
() автор топика

может я вопрос некошерно задал?

я хочу, чтобы при открытии файла вим подхватывал кодировку. для этого я написал в конце: «vim:fenc=cp1251:enc=cp1251:» -- взято из :help vim. собсно строка срабатывает, «set enc» и «set fenc» показывают заказанные cp1251. только буффер при этом не перерисовывается и файл надо открывать заново.

как бы сделать тоже самое, только без повторного открытия файла?

как это сделано для емакса в том же файле: | mode: text | coding: cp1251-dos | end:

и никакого повторного открывания не требуется.

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Pr0b3L

> set fileencodings=utf-8,cp1251,koi8-r,cp866

есть и такое. не подхватывает.

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Dudraug

> e ++enc=cp1251

пробовал. виимо вим берет строку, бьет ее по «:» и для каждого параметра делает set. e -- это не для set :)

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Rastafarra

ээ, непонятно. ++e работает точно

1. открываешь файл :e
2. :e ++enc=cp1251

Что за ОС? вроде под виндой это может не работать в виду отсутствия iconv.

Ну и если файл один, можешь его, собственно, iconv'ом и перекодировать.

vyv ★★★
()
Ответ на: комментарий от vyv

> ээ, непонятно. ++e работает точно

еще раз: я не хочу еще чего-то набирать. я хочу указать все это в файле, чтобы вим подхватил параметры.

сейчас-то оно конечно работает, но со второго телодвижения, которое мне делать лень (о чем я писал выше).

ну просто возьми и попробуй, думаю сразу поймешь о чем я...

> Что за ОС?

ну лялих, естественно...

Rastafarra ★★★★
() автор топика

мдя... видимо тут вим емаксу слил :)

Rastafarra ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.