URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 12727
[ Назад ]

Исходное сообщение
"Тематический каталог: vim и файлы с текстом в русских кодировках (vim rus text codepage)"

Отправлено auto_topic , 14-Ноя-05 14:54 
Обсуждение статьи тематического каталога: vim и файлы с текстом в русских кодировках (vim rus text codepage)

Ссылка на текст статьи: http://www.opennet.ru/base/rus/vim_rus_text.txt.html


Содержание

Сообщения в этом обсуждении
"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено mr_july , 14-Ноя-05 14:54 
А можно ли в Vim'е указать кодировку файла при открытии прямо в командной строке? Я пробовал разные методы, но ничего у меня не вышло. Так и приходится до сих пор сначала открывать файл, а потом выполнять команду типа "e ++enc=cp-1251". :-(

"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено Дмитрий Т , 16-Ноя-05 10:57 
В командной строке vim
:e ++enc=cp1251 mytext.txt

В командной строке sh
vim --cmd "edit ++enc=cp1251" -- mytext.txt


"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено ceci_ , 15-Ноя-05 01:35 
Otlichnyj script, spasibo :)

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено Vlad V. Teterya , 15-Ноя-05 01:43 
"<F10> - вызов меню выбора колировки
" переключение в меню с помощью Tab
" Меню выбора кодировки
set wildmenu
set wcm=<Tab>
menu Encoding.koi8-u :e ++enc=8bit-koi8-u<CR>
menu Encoding.windows-1251 :e ++enc=8bit-cp1251<CR>
menu Encoding.ibm-866 :e ++enc=8bit-ibm866<CR>
menu Encoding.utf-8 :e ++enc=2byte-utf-8 <CR>
map <F10> :emenu Encoding.<TAB>

"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено stimpack , 15-Ноя-05 10:17 
пробовал почему-то tab не работает. :-(

"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено Vlad V. Teterya , 15-Ноя-05 10:55 
нажимаю F10 - появляется менюшка. нажимаем Tab - переключается по кругу в менюшке. что я делаю не так? :)

"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено Дмитрий Т , 16-Ноя-05 11:03 
>"<F10> - вызов меню выбора колировки
>" переключение в меню с помощью Tab

Ага, этот вариант я видел, притом расширенный (с возможностью
конвертирования), но лень жать две клавиши :)

Ваш подход очень оправдан, если надо открывать _большие_ файлы в известной кодировке.



"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено sg , 16-Ноя-05 19:25 
Вариант с менюшками. Лично мне нравится больше :-)

"<F7> EOL format (dos <CR><NL>,unix <NL>,mac <CR>)
set  wildmenu
set  wcm=<Tab>
menu EOL.unix :set fileformat=unix<CR>
menu EOL.dos  :set fileformat=dos<CR>
menu EOL.mac  :set fileformat=mac<CR>
map  <F7> :emenu EOL.<Tab>

"<F8> Change encoding
set  wildmenu
set  wcm=<Tab>
menu Enc.cp1251     :e ++enc=cp1251<CR>
menu Enc.koi8-r     :e ++enc=koi8-r<CR>
menu Enc.cp866      :e ++enc=ibm866<CR>
menu Enc.utf-8      :e ++enc=utf-8<CR>
menu Enc.ucs-2le    :e ++enc=ucs-2le<CR>
map  <F8> :emenu Enc.<Tab>

"<Shift+F8> Convert file encoding
set  wildmenu
set  wcm=<Tab>
menu FEnc.cp1251    :set fenc=cp1251<CR>
menu FEnc.koi8-r    :set fenc=koi8-r<CR>
menu FEnc.cp866     :set fenc=ibm866<CR>
menu FEnc.utf-8     :set fenc=utf-8<CR>
menu FEnc.ucs-2le   :set fenc=ucs-2le<CR>
map  <S-F8> :emenu FEnc.<Tab>


"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено Костя , 23-Ноя-05 14:56 
При переключении Shift+ F8
(set encoding=8bit-cp855) досовский файл нормально показывается, но летит кодировка в строке сообщений, т.е. кракозяблы появляются там

Как это можно исправить?


"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено Дмитрий Т , 01-Дек-05 22:05 
Shift+F8 меняет внутреннюю кодировку vim, поэтому и "летит кодировка в строке сообщений".
Vim для строки собщений почему-то именно для 8bit-cp866 не учитывает кодировку вывода на экран,
которая остаётся всегда неизменной... видимо какая-то недоработка...

Shift+F8 нужна для крайних случаев, когда по F8 vim неслушается.
Если же эта кодировка нужна часто и F8 не помогает, то надо или
работать в английской локали запуская: "LANG=C vim" или
сменить основную кодировку операционной системы ;)


"vim и файлы с текстом в русских кодировках (vim rus text cod..."
Отправлено Константин , 03-Дек-05 20:36 
Ну если так кординально подходить к вопросу,
то в место смены кодировки системы можно сменить
кодировку в файле сообщений ;) , который к стати имеет
кодировку 1251, и как раз он то и не перекдючается.
Я в VIM не опытный, так что не могу дать гарантии
что у меня это получится, но если получится, то поделюсь.

К слову вопрос, можно ли настроить vim так, чтоб он поддерживал
разные кодировки (в файле сообщений) для одного языка?


"Тематический каталог: vim и файлы с текстом в русских кодиро..."
Отправлено teal , 08-Дек-05 00:39 
Команда e ++enc=... конечно супер рулит, но у меня есть одна проблемка.
На моей винде дома (ага, приходится по работе иногда и в винде ковыряться) стоит вим, который нифига не умеет в koi8-r конвертить. Во все конвертит, только не в koi8-r. Причем винда WinXP. Причем на другую машину поставили туже версию вима, для эксперимента -- тот же эффект, не конвертирует. А вот на работе все работат, под той же WinXP. Че за ерунда такая, чего ему не хватает?
Спасиб.

"Тематический каталог: vim и файлы с текстом в русских кодиро..."
Отправлено teal , 08-Дек-05 09:46 
Нашел ответ -- iconv.dll в корне вима отсутствовала. Ну кто бы мог подумать, что все дело в ней ;)

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено Костя , 25-Июл-06 15:16 
Кто знает как задать набор знаков, который выводится при печати с нажатой Alt?
(winxp)

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено kos , 03-Мрт-07 14:46 
Справедливости ради замечу что у меня это работало только на 6м vim'е, 5й нивкакую :)

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено Дмитрий , 13-Мрт-07 11:12 
Что касается формата файла, то все значительно проще. Vim в состоянии самостоятельно определить ее. В переменной fileformats по умолчанию установлены unix,dos. В моем случае это fileformats=dos,unix,mac. Таким образом Vim сначала ищет CRLF (dos), потом LF (unix) и, в конце-концов, CR (mac). Т.е. для правильного определения dos-формат должен стоять первым. Часто приходится работать с файлами во всех трех форматах. Это отлично работает для меня.

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено dez , 15-Май-07 06:35 
хе работает =)) вери мери гуд ;)

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено lix , 05-Сен-07 18:42 
Спасибо!!!

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено fog , 05-Сен-07 18:43 
в kubuntu 7.04 - работает!
Спасибо!!!

"Массово сконвертить файлы в другую кодировку"
Отправлено dopen , 19-Ноя-08 22:30 
А как с помощью вима (или еще как) массово (из одной директории) сконвертить файлы из Cp1251 в utf-8?

"Массово сконвертить файлы в другую кодировку"
Отправлено SolVolkov , 04-Мрт-09 23:50 
man enconv

"vim и файлы с текстом в русских кодировках (vim rus text codepage)"
Отправлено Аноним , 23-Янв-09 15:44 
Блин, спасибо мужики, полезная вешь!
Добавил в закладки :)

"iso-8859-5"
Отправлено Артем , 25-Мрт-09 19:53 
Подскажите есть ли в vim кодировка iso-8859-5.
По-документации есть, но включить её я не смог.
Помогите плз.

"Тематический каталог: vim и файлы с текстом в русских кодиро..."
Отправлено AntonGr , 26-Сен-10 20:37 
Пользуюсь gVim под Windows, задал в конфигурационном файле установку "set fileencodings=utf-8,cp1251,cp866". Создал в Far файл с кодировкой cp866, при открытии его в gVim, выскакивают кракозябры. Если в ручную сменить кодировку ":e ++enc=cpp866", то отображается нормально. Подскажите, в чем дело?