Исправление ошибочной раскладки (layout)

mix-7
Posts: 741
Joined: 11.05.2018 11:02

Исправление ошибочной раскладки (layout)

Post by mix-7 »

Здравствуйте!

Искал, не нашел нужную функцию.
Исправление ошибочной раскладки (layout)
Бывает, ошибочно набираешь русский текст в английской раскладке.
Хорошо бы иметь возможность исправления.
Например,
в меню Edit - Convert case
Или в плагине Encode
Или в мощном плагине Cuda-Ext

Кстати!
Где почитать о функциях плагина Cuda-Ext?
И других плагинов?
Можно ли куда-нибудь добавить краткое описание плагинов?
В Help, меню плагина About etc.

Спасибо!
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

Почитать о плагинах только так - зайти в ГХ в https://github.com/cudatext-addons
и там все "repositories" есть. вот в них всех заходить и читать файлы readme/readme.txt.

layout - таких ф-ций в текстовых редакторах не делают (например в VS Code, Sublime, EmEditor, Notepad++).
dimon40001
Posts: 21
Joined: 05.05.2022 18:52

Post by dimon40001 »

Программисты печатают вслепую :)

Для частного случая я бы предложил записать макрос, который последовательно заменит все 33 буквы русского алфавита. И привязать этот макрос к клавиатурному шорткату.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

dimon40001 wrote:Программисты печатают вслепую :)

Для частного случая я бы предложил записать макрос, который последовательно заменит все 33 буквы русского алфавита. И привязать этот макрос к клавиатурному шорткату.

Как, подскажите, пожалуйтста, как с помощью клавиатуры изменить раскладку выделенного фрагмента текста?
Макрос записывает только клавиатурный ввод, в нем нет условных операторов, раз не так?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

думаю что совет "записать макрос" не хороший - ничего у вас не выйдет с этим, да и записать в макрос 33 замены букв это трудно.
что могу посоветовать - Punto Switcher и другие проги.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Да, спасибо!
Лучше встроить в вышеуказанные плагины.

Пока нашел онлайн-сервис, может, пригодится кому

Сервис по переводу текста в другую раскладку
https://raskladki.net.ru/

У них есть дополнения для браузеров:

Raskladki.net.ru – Загрузите это расширение для Firefox (ru) https://addons.mozilla.org/ru/firefox/a ... adkinetru/

Работает автономно, без интернета!

Chrome и Opera:
Смена раскладки текста - Интернет-магазин Chrome https://chrome.google.com/webstore/deta ... genhgggoel
https://addons.opera.com/ru/extensions/ ... display=ru The page you're looking for could not be found.



А встроить в Куда - дополнительное преимущество.
Не так, как Punto Switcher, со словарем и автоматическим изменением,
а просто изменение символов в выделенном неправильно набранном тексте:
dimon40001 wrote:Программисты печатают вслепую :)
Для частного случая я бы предложил записать макрос, который последовательно заменит все 33 буквы русского алфавита. И привязать этот макрос к клавиатурному шорткату.
За основу можно взять код дополнения или написать самому.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

может найдете готовый питон-скрипт для перевода раскладки?
помогу приделать к Куд.
только вот встаивать в плагин Encode или нет? спорно. оно же только для рус-языка.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Как менять раскладку в Python? Тоесть "Привет" становится "Ghbdtn" - Stack Overflow на русском
Составляете ассоциации и заменяете, например через str.translate:

Code: Select all

def from_ghbdtn(text):
    layout = dict(zip(map(ord, '''qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~'''),
                               '''йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё'''))

    return text.translate(layout)

text = 'B ,skb ghj,ktvs c ujcntdjq dhjlt ,s? gjcvjnhb '
print(from_ghbdtn(text)) 


GitHub - Dyasik/rus_letters-eng_keybord: Переводит русские символы в аналогичные, набранные на английской раскладке.

README.md

Скрипт преобразовывает русские буквы в символы английской раскладки, похожие на них. Остальные символы остаются без изменений.

Получившаяся строка копируется в буффер обмена (проверено на Mac OS X и Windows 10, но должно работать и на линухах) и выводится сообщение об удачном/неудачном выполнении этого дела.
Для выполнения скрипта необходим интерпретатор Python 3.6+

Python-сообщество / Замена английских символов на русские (смена раскладки)

Code: Select all

#!/usr/bin/env python
# -*- coding: utf-8 -*-
_eng_chars = u"~!@#$%^&qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>?"
_rus_chars = u"ё!\"№;%:?йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭ/ЯЧСМИТЬБЮ,"
_trans_table = dict(zip(_eng_chars, _rus_chars))
 
def fix_layout(s):
    return u''.join([_trans_table.get(c, c) for c in s]) 
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

сделал. добавил в плагин Encode 2 новые команды в Plugins / Encode / Misc.
назначите их на 2 хоткея.
проверьте?
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Спасибо, работает!
Очень удобно!
Не надо "лезть" в сторонние приложения при опечатках, копировать в буфер обмена.
CudaText - "швейцарский нож", мультитул!

Только вот в readme.txt плагина не нашел описания этой функции.
Стоит добавить, чтобы пользователи знали.


Еще бы кто сделал прямые и обратные ссылки Markdown/Wiki - его тогда спокойно можно было рекламировать на форумах и в чатах по "умным" заметкам, "цифровым садам" и прочей "луманщине".
И эффективно использовать для записи информации на различные темы.
Post Reply