Я часто печатаю одни и те же слова в нескольких приложениях:
- Редактор (emacs, vi)
- Веб-браузер
- ракушки
Было бы здорово иметь автозаполнение слов, которые я набрал за последнюю неделю, во всех вышеперечисленных приложениях.
У каждого из них есть способ улучшить скорость набора текста. Но что-то на уровне рабочего стола будет лучшим.
Пример: «Непрерывная интеграция». Я хочу быстрый способ набрать это слово без изменения программы, которая получает ввод.
Уже есть что-то подобное?
desktop-environments
usability
guettli
источник
источник
Ответы:
Решением для вашего запроса является метод ввода.
То, что вы описали, знакомо большинству пользователей языка CJK. Давайте рассмотрим, как работает метод ввода в современных системах Linux.
Система ввода
Вот простая архитектура для системы с общим методом ввода:
ПРИМЕЧАНИЕ. Я делаю снимок этого изображения из протокола X Input Method Protocol . Некоторые стрелки не имеют отношения к последующему обсуждению.
Исторически XIM (протокол X Input Method) был единственным протоколом. Это слишком сложно и не хватает некоторых желаемых функций. Так что в основном он заброшен, хотя совместимость по-прежнему обеспечивается популярными инструментами, такими как GTK, Qt.
Современная система методов ввода состоит из нескольких частей:
Поддержка клиентской библиотеки
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/
)Как эти части соответствуют друг другу?
Пользователь вводит ключ. X-сервер получает аппаратное событие от интерфейса evdev, создает XEvent и отправляет приложение под фокус клавиатуры. Модуль метода ввода инструментария приложения (GTK, Qt) перехватывает событие и передает информацию на сервер метода ввода. Сервер метода ввода вычисляет, что может пожелать пользователь, и передает некоторый текст обратно в модуль IM.
Теперь поговорим об архитектуре IM-сервера.
IM-сервер обычно состоит из двух частей:
В общем, что IM делает, чтобы преобразовать то, что вы печатаете, во что-то другое и, необязательно, обеспечивает прогнозы.
Пример
Мы используем
ibus-pinyin
здесь, чтобы напечатать некоторые китайские иероглифы.Романизация 汉语拼音 есть
han yu pin yin
. Сначала вам нужно набрать все эти буквы, чтобы получить четыре китайских иероглифа. Но через несколько раз вам просто нужно ввести четыре начальных символа,h y p y
чтобы получить китайский символ.В
ibus-pinyin
случае,han yu pin yin
сокращается доh y p y
.Более продвинутые механизмы обмена мгновенными сообщениями используют статистические методы обучения, чтобы обеспечить лучший прогноз. Ничто не может помешать вам написать движок метода ввода на английском языке, чтобы повысить скорость набора текста.
В качестве бонуса, все наборы инструментов имеют поддержку метода ввода, кроме некоторых старых X-программ. Так что это довольно универсальное решение.
Благодарю Андерса ФУ Кира. Особенности / Печатание-Booster | Проект Fedora Wiki должен быть ответом
источник
Посмотрите на мой скрипт TextSuggest .
В бою:
Установка:
Установите следующие пакеты:
xdotool
xclip
suckless-tools
(дляdmenu
)Затем назначьте 2 сочетания клавиш:
python3 /path/to/TextSuggest.py
Первый просто предоставит доступный для поиска список всех слов. Используйте второй, когда у вас есть выделенный текст, и вы хотите получить предложения / дополнения к нему.
Принятые предложения сохраняются в виде истории (а затем сначала предлагаются) в файле
~/.textsuggest_history.txt
.Вы можете определить пользовательские слова и расширения / псевдонимы в
~/.Custom_Words.txt
.источник
Посмотрите на Autokey . Это может соответствовать вашим потребностям. C / P с их сайта:
источник