Page 3 of 5
Ввод спецсимволов в редакторе Far
Posted: Thu 24 Oct, 2019 09:46
by 2useven10
Скрипт позволяет вводить символы через Alt+NNN в редакторе в его текущей кодировке.
Скрипт обрабатывает Event EditorInput, подменяя коды для диапазона [128, 255].
Без скрипта через Alt+NNN в редакторе вводятся коды символов в юникоде (UCS-2).
Также скрипт немного спрямляет самобытность (хаки) ConEmu и позволяет вводить такие коды
при запуске фар там, в том числе и в юникодных кодировках.
Ввод спецсимволов в редакторе Far
Posted: Fri 25 Oct, 2019 21:41
by John Doe
Latest post of the previous page:
Ввиду отсутствия встроенной функции когда-то решал вопрос детектирования XP/или выше путём проверки наличия определённого экспорта одной из системных библиотек. Где-то на форуме уже было.
Ввод спецсимволов в редакторе Far
Posted: Fri 25 Oct, 2019 22:43
by Shmuel
Или так:
Code: Select all
function GetWinVer()
local fp=io.popen"ver"
local str = fp:read"*all"
fp:close()
return str:match("%S.+%S")
end
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 00:27
by 2useven10
Не вижу никаких проблем с FFI, кроме лишних приседаний.
Просто мне кажется 'это достаточно очевидный кандидат для win.*
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 10:07
by citRiks
В Far`е под ConEmu евент не требуется. Символы вводятся соответственно кодировкам.
М.б. оттуда в Far можно перенять что-то?
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 10:46
by 2useven10
citRiks, прежде чем давать советы, попытайтесь понять о чём идёт речь.
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 11:48
by citRiks
2useven10, Простите, если я необдуманно Вас чем-то нечяанно задел. Но советы давать я даже и не помышлял. Просто предположил, что возможно заинтересованные лица не обратили внимание на то, что под ConEmu символы вводятся нормально.
А предложенный Вами евент c благодарностью использую, поскольку Far без ConEmu применяется чаще.
И, по возможности, от пояснения о сути того, о чём идёт речь, не отказался бы. Полагая, при этом, что не один я такой не сведующий.
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 12:50
by 2useven10
citRiks wrote: ↑Sat 26 Oct, 2019 11:48
под ConEmu символы вводятся нормально
Только что в редакторе фар под ConEmu в кодировке 1251 ввёл
Alt 128
получил 'А' (в 1251 код 192), это нормально?
Ввод спецсимволов в редакторе Far
Posted: Sat 26 Oct, 2019 13:45
by citRiks
2useven10 wrote: ↑Sat 26 Oct, 2019 12:50
citRiks wrote: ↑Sat 26 Oct, 2019 11:48
под ConEmu символы вводятся нормально
Только что в редакторе фар под ConEmu в кодировке 1251 ввёл
Alt 128
получил 'А' (в 1251 код 192), это нормально?
Действительно. Что-то уж очень сильно я напутал.
Потому, что и предложенный Вами эвент под ConEmu фактически не работает тоже, а только непосредственно в самом Far`е.
Посыпаю голову пеплом.
Ввод спецсимволов в редакторе Far
Posted: Sun 27 Oct, 2019 14:01
by 2useven10
Новая версия.
1) должна работать в любой однобайтовой кодировке
2) должна работать с windows до win7 ('хорошие' окошки - с правильной отдачей UnicodeChar)
3) должна работать с ConEmu
Update: последняя версия скрипта в шапке.
Ввод спецсимволов в редакторе Far
Posted: Sun 27 Oct, 2019 19:29
by citRiks
2useven10 wrote: ↑Sun 27 Oct, 2019 14:01
3) должна работать с ConEmu+'плохие' окошки (после win7). с хорошими просто хакать хаки ConEmu
не получается, поэтому пусть неуловимый джо бегает на свободе.
Не понятно что такое 'плохие' окошки и что такое 'хорошие'.
С задействованным эвентом в Win10 LTSC x64 rus Far 3.0.0.5498 x86 и x64 по Alt+250 в файле с кодировкой 65001 UTF-8 без ConEmu выводится знак
ú (Dec: 250), а под ConEmu — знак
· (Dec: 183).
Ввод спецсимволов в редакторе Far
Posted: Sun 27 Oct, 2019 20:18
by 2useven10
citRiks wrote: ↑Sun 27 Oct, 2019 19:29
Не понятно что такое 'плохие' окошки и что такое 'хорошие'.
2useven10 wrote: ↑Sun 27 Oct, 2019 14:01
до win7 ('хорошие' окошки - с правильной отдачей UnicodeChar)
есть шанс, что в win10 исправят тоже.
citRiks wrote: ↑Sun 27 Oct, 2019 19:29
в файле с кодировкой 65001 UTF-8
2useven10 wrote: ↑Sun 27 Oct, 2019 14:01
1) должна работать в любой однобайтовой кодировке
utf8 не однобайтовая кодировка - туда скрипт не вмешивается.
Ввод спецсимволов в редакторе Far
Posted: Sun 27 Oct, 2019 20:24
by 2useven10
Предыдущий скрипт работал только для кодировок 866 и 1251, только в русской локали, только в 'плохих' окошках (win7 и выше).
Оба скрипта влияют только на коды в диапазоне Alt+128..255, остальные коды не затрагиваются.
Ввод спецсимволов в редакторе Far
Posted: Mon 28 Oct, 2019 11:29
by 2useven10
Shmuel wrote: ↑Fri 25 Oct, 2019 17:50
Вроде пока никому не требовалось, но не проблема добавить.
А что предложите взять за основу: GetProductInfo или что другое?
В новой версии скрипта есть реализация через ffi, для меня этого достаточно.
Ввод спецсимволов в редакторе Far
Posted: Mon 28 Oct, 2019 12:45
by Shmuel
2useven10 wrote: ↑Mon 28 Oct, 2019 11:29
В новой версии скрипта есть реализация через ffi, для меня этого достаточно.
Позавчера была сделана реализация в LuaFAR (сообщаю для всех, кто не в курсе).
Ввод спецсимволов в редакторе Far
Posted: Mon 28 Oct, 2019 13:14
by 2useven10
Shmuel wrote: ↑Mon 28 Oct, 2019 12:45
Позавчера была сделана реализация в LuaFAR (сообщаю для всех, кто не в курсе).
Здорово.
Жаль что этой реализацией не проверить, например, работу с windows10, 1903.
Ввод спецсимволов в редакторе Far
Posted: Mon 28 Oct, 2019 15:27
by 2useven10
Ссылка выше обновлена - учитываем изменения в far3 build 5497.