LINUX.ORG.RU

Как изменить кодировку с которой работаешь в виме, что бы открыть файл в нужной кодировке e ++enc=cp1251, а вот как поменять у уже открытого файла


0

0

Как изменить кодировку с которой работаешь в виме, что бы открыть файл в нужной кодировке e ++enc=cp1251, а вот как поменять у уже открытого файла?


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

:e ++enc=cp1251 - открывает файл в вин кодировке нормально.

:set enc=cp1251 выдает ошибку E474:Invalid Argument

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

Тем, что это лишние движения, перекодировать, открыть,поработать, назад перекодировать.

tmp
() автор топика

~/.vimrc

map <F8> :execute RotateEnc()<CR>

let b:encindex=0 function! RotateEnc() let y = -1 while y == -1 let encstring = "#8bit-cp1251#koi8-r#utf-8#8bit-cp866#" let x = match(encstring,"#",b:encindex) let y = match(encstring,"#",x+1) let b:encindex = x+1 if y == -1 let b:encindex = 0 else let str = strpart(encstring,x+1,y-x-1) return ":set encoding=".str endif endwhile endfunction

F8 :))))) при работе из koi8-r locale

vtVitus ★★★★★
()

ещё раз тока по нормальному.

set fileencodings=ucs-bom,koi8-r,utf-8,latin1

set encoding=koi8-r
set termencoding=koi8-r

map <F8> :execute RotateEnc()<CR>

let b:encindex=0
function! RotateEnc()
let y = -1
while y == -1
let encstring = "#8bit-cp1251#koi8-r#utf-8#8bit-cp866#"
let x = match(encstring,"#",b:encindex)
let y = match(encstring,"#",x+1)
let b:encindex = x+1
if y == -1
let b:encindex = 0
else
let str = strpart(encstring,x+1,y-x-1)
return ":set encoding=".str
endif
endwhile
endfunction

F8 при работе из koi8-r

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