Макрос автоопределения кодировки для редактора

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Макрос автоопределения кодировки для редактора

Post by textExpanser »

Возможно ли написать макрос, который будет гибко решать какую кодировку в редакторе выставить?
- если создается новый файл, выставлять по-умолчанию UTF8
- если открывается существующий файл, определять является ли он UTF8 (есть ли в нем недопустимые для cp1251 символы и тогда, если есть, открывать как UTF8, а если нет и нет BOM в начале файла, то открывать в старой кодировке CP1251)
- а может быть еще и научить определять DOS/KOI8/UTF16...

Сейчас проблема в том, что в Far (Far2) по-умолчанию открывается как cp1251, я переделал простейшим macro-recorderom, чтобы открывалось в utf-8. Но дело в том, что сменить кодировку ПОСЛЕ открытия уже не получится - все несовместимые символы будут просто испорчены, поэтому выбирать кодировку нужно именно на этапе открытия файла (перед открытием). А у меня много файлов и в utf-8, и в cp1251, и ПЕРЕоткрывать их в правильной кодировке просто настоящее мучение. А встречаются еще и в DOS.

Можно ли макросом определить какая кодировка у файла? Сам Far как-то определяет, что в файле есть символы в недопустимой кодировке. Может и макросом можно как-то извратиться? (Можно даже отрыть два раза - сначала чтобы определить кодировку, закрыть, и открыть уже в правильной кодировке, например. Главное решить проблему, пусть и через зад.)
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Макрос автоопределения кодировки для редактора

Post by HaRT »

Зачем макрос? Чем Вас не устраивают “[x] Autodetect code page” и “Default code page:” в настройках редактирования (Editor settings)?
Фар есть инструмент, а не нянька. © 2009 DrKnS
textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Макрос автоопределения кодировки для редактора

Post by textExpanser »

Спасибо, попробую, - если будут глюки с определением кодировки отпишусь. Кажется я уже когда-то с этой опцией игрался, но забыл что там не устроило.
А при создании нового файла оставю макрос, автоматически выбирающий UTF-8 при нажатии Shift-F4, чтобы сразу вставляло BOM-маркер в начало файла.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Макрос автоопределения кодировки для редактора

Post by 2useven10 »

textExpanser wrote: Сейчас проблема в том, что в Far (Far2) по-умолчанию открывается как cp1251, я переделал простейшим macro-recorderom, чтобы открывалось в utf-8. Но дело в том, что сменить кодировку ПОСЛЕ открытия уже не получится
Это верно для фар2. Работа с кодировками в фар3 существенно переделана.
Насколько я помню, смена кодировки после открытия должна работать.
Кроме того можно задать utf-8 как умолчательную, управлять списком кодовых страниц при переключении по F8....
Last edited by 2useven10 on Fri 10 Mar, 2017 08:18, edited 1 time in total.
Post Reply

Return to “Нужна помощь”