私はしばしばいくつかのアプリケーションで同じ単語を入力します:
- エディター(emacs、vi)
- ウェブブラウザ
- 貝殻
上記のすべてのアプリケーションで、先週入力した単語のオートコンプリートを利用できるようにすることは素晴らしいことです。
それぞれにタイピング速度を改善する方法があります。しかし、デスクトップレベルの何かが最適です。
例:「継続的な統合」。入力を受け取るプログラムを変更せずに、この単語をすばやく入力する方法が必要です。
すでにこのようなものはありますか?
私はしばしばいくつかのアプリケーションで同じ単語を入力します:
上記のすべてのアプリケーションで、先週入力した単語のオートコンプリートを利用できるようにすることは素晴らしいことです。
それぞれにタイピング速度を改善する方法があります。しかし、デスクトップレベルの何かが最適です。
例:「継続的な統合」。入力を受け取るプログラムを変更せずに、この単語をすばやく入力する方法が必要です。
すでにこのようなものはありますか?
回答:
あなたの要求に対する解決策はインプットメソッドです。
あなたが説明したことは、ほとんどのCJK言語ユーザーになじみのあるものです。現在のLinuxシステムでインプットメソッドがどのように機能するかを見てみましょう。
一般的なインプットメソッドシステムのシンプルなアーキテクチャは次のとおりです。
注:X入力メソッドプロトコルからこのイメージのスナップショットを作成します。矢印のいくつかは、以下の説明とは無関係です。
歴史的に、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サーバーは2つの部分で構成されます。
全体として、IMが行うことは、入力内容を別の何かに変換し、オプションで予測を提供することです。
私たちは、使用ibus-pinyin
中国の一部の文字を入力するためにここに。
汉语拼音のローマ字表記はですhan yu pin yin
。まず、これらのすべての文字を入力して、4つの漢字を取得する必要があります。しかし、数回後にはh y p y
、漢字を取得するために4つの初期文字を入力するだけです。
このibus-pinyin
場合、han yu pin yin
はに短縮されh y p y
ます。
より高度なIMエンジンは、統計学習技術を利用して、より良い予測を提供します。タイピングを強化するために、英語のインプットメソッドエンジンを書くことを止めるものは何もありません。
ボーナスとして、いくつかの単純な古いXプログラムを除き、すべてのツールキットにインプットメソッドのサポートがあります。したがって、これは非常に普遍的なソリューションです。
Anders FUKiærに感謝します。機能/タイピングブースター| Fedora Project Wikiが答えになるはずです
私のスクリプトTextSuggestを見てください。
動作中:
インストール:
次のパッケージをインストールします。
xdotool
xclip
suckless-tools
(dmenu
)次に、2つのキーボードショートカットを割り当てます。
python3 /path/to/TextSuggest.py
最初のものは、すべての単語の検索可能なリストを提供します。いくつかのテキストが選択されていて、その候補/補完を取得したい場合に2番目を使用します。
受け入れられた提案は、履歴としてファイルに保存されます(そして最初に提案されます)~/.textsuggest_history.txt
。
でカスタムの単語と展開/エイリアスを定義できます~/.Custom_Words.txt
。