1 |
В Вск, 23/10/2005 в 23:43 +0400, Dmitry Lukashin пишет:
|
2 |
> Господа, а никто не знает, что можно прописать в vim'е во время |
3 |
> редактирования, чтобы сменить кодировку файла? |
4 |
> |
5 |
> Локаль у меня koi8-r, открываю файл в cp1251, пишу |
6 |
> :set encoding=cp1251 |
7 |
> И эффекта никакого. |
8 |
> |
9 |
> Однако если сделать по мануалу |
10 |
> :edit ++enc=cp1251 russian.txt |
11 |
> то файл перекодируется. Но открывать файлы вот так из vim'а мне |
12 |
> неудобно, хочу сначала открыть файл, а затем прописать кодировку. |
13 |
> |
14 |
> В идеале хотелось бы указать кодировку внутри файла, в смысле дописать |
15 |
> в конец |
16 |
> // vim: encoding=cp1251 |
17 |
> |
18 |
> Но это почему-то тоже не работает |
19 |
|
20 |
Я тоже хотел решить такую проблему и нарыл вот что:
|
21 |
|
22 |
map <F8> :execute RotateEnc()<CR>
|
23 |
map <F7> :let &fileencoding=&encoding<CR>
|
24 |
|
25 |
" some funcs
|
26 |
|
27 |
let b:encindex=0
|
28 |
function! RotateEnc()
|
29 |
let y = -1
|
30 |
while y == -1
|
31 |
let encstring = "#8bit-cp1251#8bit-cp866#utf-8#koi8-r#"
|
32 |
let x = match(encstring,"#",b:encindex)
|
33 |
let y = match(encstring,"#",x+1)
|
34 |
let b:encindex = x+1
|
35 |
if y == -1
|
36 |
let b:encindex = 0
|
37 |
else
|
38 |
let str = strpart(encstring,x+1,y-x-1)
|
39 |
return ":set encoding=".str
|
40 |
endif
|
41 |
endwhile
|
42 |
endfunction
|
43 |
|
44 |
Только к сожалению оно тоже не работает :(
|
45 |
|
46 |
|
47 |
--
|
48 |
Александр
|
49 |
|
50 |
|
51 |
--
|
52 |
gentoo-user-ru@g.o mailing list |