Ввод спецсимволов в редакторе Far
Ввод спецсимволов в редакторе Far
Скрипт позволяет вводить символы через Alt+NNN в редакторе в его текущей кодировке.
Скрипт обрабатывает Event EditorInput, подменяя коды для диапазона [128, 255].
Без скрипта через Alt+NNN в редакторе вводятся коды символов в юникоде (UCS-2).
Также скрипт немного спрямляет самобытность (хаки) ConEmu и позволяет вводить такие коды
при запуске фар там, в том числе и в юникодных кодировках.
Скрипт обрабатывает Event EditorInput, подменяя коды для диапазона [128, 255].
Без скрипта через Alt+NNN в редакторе вводятся коды символов в юникоде (UCS-2).
Также скрипт немного спрямляет самобытность (хаки) ConEmu и позволяет вводить такие коды
при запуске фар там, в том числе и в юникодных кодировках.
Last edited by 2useven10 on Wed 30 Oct, 2019 19:56, edited 5 times in total.
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Ввод спецсимволов в редакторе Far
Latest post of the previous page:
А нельзя их просто через FFI дёрнуть? Наивно у меня не получилось, а как правильно, я не знаю.Shmuel wrote: ↑Fri 25 Oct, 2019 18:5014 функций надо добавлять, но однотипных и элементарных.GetVersionEx may be altered or unavailable for releases after Windows 8.1. Instead, use the Version Helper functions]
22:59 MSK
А, нет, нельзя. Они прямо в заголовочнике определены и помечены
inline
, т.ч. ни из какой системной либы не торчат.
Last edited by HaRT on Fri 25 Oct, 2019 20:59, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Ввод спецсимволов в редакторе Far
Тем не менее, можно. Весь заголовочник, с некоторыми необходимыми доработками, помещается в FFI-файл.
Но это вроде ничем не удобнее включения данной функциональности в LuaFAR.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Ввод спецсимволов в редакторе Far
Ввиду отсутствия встроенной функции когда-то решал вопрос детектирования XP/или выше путём проверки наличия определённого экспорта одной из системных библиотек. Где-то на форуме уже было.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Ввод спецсимволов в редакторе Far
Или так:
Code: Select all
function GetWinVer()
local fp=io.popen"ver"
local str = fp:read"*all"
fp:close()
return str:match("%S.+%S")
end
Ввод спецсимволов в редакторе Far
В Far`е под ConEmu евент не требуется. Символы вводятся соответственно кодировкам.
М.б. оттуда в Far можно перенять что-то?
М.б. оттуда в Far можно перенять что-то?
Last edited by citRiks on Sat 26 Oct, 2019 13:48, edited 1 time in total.
Ввод спецсимволов в редакторе Far
2useven10, Простите, если я необдуманно Вас чем-то нечяанно задел. Но советы давать я даже и не помышлял. Просто предположил, что возможно заинтересованные лица не обратили внимание на то, что под ConEmu символы вводятся нормально.
А предложенный Вами евент c благодарностью использую, поскольку Far без ConEmu применяется чаще.
И, по возможности, от пояснения о сути того, о чём идёт речь, не отказался бы. Полагая, при этом, что не один я такой не сведующий.
А предложенный Вами евент c благодарностью использую, поскольку Far без ConEmu применяется чаще.
И, по возможности, от пояснения о сути того, о чём идёт речь, не отказался бы. Полагая, при этом, что не один я такой не сведующий.
Last edited by citRiks on Sat 26 Oct, 2019 13:47, edited 1 time in total.
Ввод спецсимволов в редакторе Far
Только что в редакторе фар под ConEmu в кодировке 1251 ввёл
Alt 128
получил 'А' (в 1251 код 192), это нормально?Ввод спецсимволов в редакторе Far
Действительно. Что-то уж очень сильно я напутал.
Потому, что и предложенный Вами эвент под ConEmu фактически не работает тоже, а только непосредственно в самом Far`е.
Посыпаю голову пеплом.
Ввод спецсимволов в редакторе Far
1) должна работать в любой однобайтовой кодировке
2) должна работать с windows до win7 ('хорошие' окошки - с правильной отдачей UnicodeChar)
3) должна работать с ConEmu
Update: последняя версия скрипта в шапке.
Last edited by 2useven10 on Wed 30 Oct, 2019 12:17, edited 6 times in total.
Ввод спецсимволов в редакторе Far
Не понятно что такое 'плохие' окошки и что такое 'хорошие'.
С задействованным эвентом в Win10 LTSC x64 rus Far 3.0.0.5498 x86 и x64 по Alt+250 в файле с кодировкой 65001 UTF-8 без ConEmu выводится знак ú (Dec: 250), а под ConEmu — знак · (Dec: 183).
Ввод спецсимволов в редакторе Far
есть шанс, что в win10 исправят тоже.
utf8 не однобайтовая кодировка - туда скрипт не вмешивается.
Ввод спецсимволов в редакторе Far
Предыдущий скрипт работал только для кодировок 866 и 1251, только в русской локали, только в 'плохих' окошках (win7 и выше).
Оба скрипта влияют только на коды в диапазоне Alt+128..255, остальные коды не затрагиваются.
Оба скрипта влияют только на коды в диапазоне Alt+128..255, остальные коды не затрагиваются.
Last edited by 2useven10 on Sun 27 Oct, 2019 20:28, edited 1 time in total.
Ввод спецсимволов в редакторе Far
В новой версии скрипта есть реализация через ffi, для меня этого достаточно.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Ввод спецсимволов в редакторе Far
Позавчера была сделана реализация в LuaFAR (сообщаю для всех, кто не в курсе).