F9Table.lua — циклическое переключение кодировок
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Улучшение макросов из поставки фара
макрос из времён, когда у всех стояло 3 кодировки: 866, 1251 и koi8. тогда он имел смысл. сейчас его нужно просто удалить.John Doe wrote:Предложения?
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Улучшение макросов из поставки фара
Да, времена поменялись.zg wrote:макрос из времён, когда у всех стояло 3 кодировки: 866, 1251 и koi8. тогда он имел смысл. сейчас его нужно просто удалить.John Doe wrote:Предложения?
Но можно предложить макрос, циклически переключающий Избранные кодировки, и пропускающий при этом весь юникод.
Re: Улучшение макросов из поставки фара
Во вьювере переключение в юникод и обратно - совершенно рядовая ситуация.Да, времена поменялись.
Но можно предложить макрос, циклически переключающий Избранные кодировки, и пропускающий при этом весь юникод.
Да и в редакторе теперь переключается.
Может было бы достаточно пропустить автоопределение?
А еще лучше бы изменить поведение F8 в редакторе/вьювере - оно рудимент "доЮникодных" времен
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Улучшение макросов из поставки фара
Сомневаюсь, что это рядовая ситуация.fps wrote:Во вьювере переключение в юникод и обратно - совершенно рядовая ситуация.Да, времена поменялись.
Но можно предложить макрос, циклически переключающий Избранные кодировки, и пропускающий при этом весь юникод.
Да и в редакторе теперь переключается.
Может было бы достаточно пропустить автоопределение?
И при таких переключениях появляются вопросы
- о невозможности преобразования без потерь
- о необходимости перегрузить файл
С недавнего времени в юникодном редакторе тоже работает Shift-F8, этого макрос пока не учитывает.
Исправлю, будет эквивалентно нажатию ShiftF8
Как именно?fps wrote:А еще лучше бы изменить поведение F8 в редакторе/вьювере - оно рудимент "доЮникодных" времен
Re: Улучшение макросов из поставки фара
Циклически переключать избранные кодировки, выводя в кейбар подпись кнопке F8 id кодировки, на которую произойдет переключение.
Сейчас поведение то же, но ограничено лишь двумя кодировками, что на сегодня явный рудимент.
При редактировании юникодного файла (коих теперь большинство), нажатие F8 переключает кодировку в ANSI,
но дальнейшие нажатия F8 обратно в юникод ее не вернут. Нелогично.
Сейчас поведение то же, но ограничено лишь двумя кодировками, что на сегодня явный рудимент.
При редактировании юникодного файла (коих теперь большинство), нажатие F8 переключает кодировку в ANSI,
но дальнейшие нажатия F8 обратно в юникод ее не вернут. Нелогично.
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Улучшение макросов из поставки фара
и так не только для юникода.fps wrote:При редактировании юникодного файла (коих теперь большинство), нажатие F8 переключает кодировку в ANSI,
но дальнейшие нажатия F8 обратно в юникод ее не вернут. Нелогично.
Кнопка F8 рудимент, но и как вы сами видите по поводу циклического переключения всё недостаточно однозначно, чтобы заменить действие F8.
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Улучшение макросов из поставки фара
В документации есть.
На форуме есть пример: http://forum.farmanager.com/viewtopic.p ... 94#p115594, но он специфический, возможно у вас всё проще.
На форуме есть пример: http://forum.farmanager.com/viewtopic.p ... 94#p115594, но он специфический, возможно у вас всё проще.
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
F9Table.lua — циклическое переключение кодировок
Универсальный макрос получился монструозным:
А штатный из Addons/Macros предлагаю заменить таким набором:
Code: Select all
Macro { description="Autodetect code page";
area="Editor Viewer"; key="ShiftF9";
flags="NoSendKeysToPlugins";
action=function()
Keys"ShiftF8 Home Enter"
end;
}
Macro {
description="Cycle through all codepages";
area="Viewer"; key="F9";
flags="NoSendKeysToPlugins";
action=function()
Keys"ShiftF8 Down"
if Object.Bof then Keys"Down" end -- skip Automatic detection
Keys"Enter"
end;
}
Macro {
description="Cycle through codepages (excl. Unicode)";
area="Editor"; key="F9";
flags="NoSendKeysToPlugins";
action=function()
Keys"ShiftF8"
repeat
Keys"Down"
-- skip "Automatic detection" and Unicode CPs
if not (Object.Bof or Menu.Value:find"UTF%-") then
Keys"Enter"
end
until Menu.Id~=far.Guids.CodePagesMenuId
end;
}
- F9 во вьювере переключается циклично, исключая только Automatic detection.
- F9 в редакторе исключает также все UTF-кодировки, чтобы избежать ряда запросов о перекодировании.
(Кому это кажется лишним - из кода очень просто убрать, и удостовериться) - Shift+F9 новый макрос для попытки автоопределения кодировки