我经常在几个应用程序中键入相同的单词:
- 编辑器(emacs,vi)
- 网页浏览器
- 炮弹
可以自动完成我在上周输入的所有上述应用程序中输入的单词。
他们每个人都有提高打字速度的方法。但是在台式机级别上最好的是。
示例:“持续集成”。我想要一种快速的方法来键入此单词,而无需更改接收输入的程序。
已经有这样的东西了吗?
我经常在几个应用程序中键入相同的单词:
可以自动完成我在上周输入的所有上述应用程序中输入的单词。
他们每个人都有提高打字速度的方法。但是在台式机级别上最好的是。
示例:“持续集成”。我想要一种快速的方法来键入此单词,而无需更改接收输入的程序。
已经有这样的东西了吗?
Answers:
您的请求的解决方案是输入法。
您所描述的是大多数CJK语言用户都熟悉的东西。让我们回顾一下输入法在当前Linux系统中的工作方式。
这是常见输入法系统的简单架构:
注意:我从X输入法协议快照此图像。一些箭头与以下讨论无关。
从历史上看,XIM(X输入法协议)是唯一的协议。它过于复杂,缺少一些所需的功能。因此,尽管诸如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
。
更高级的IM引擎利用统计学习技术来提供更好的预测。没有什么可以阻止您编写英语输入法引擎来提高打字效率的。
另外,所有工具箱都支持输入法,但一些普通的旧X程序除外。因此,这是一个非常通用的解决方案。
感谢Anders FUKiær。功能/打字助推器| Fedora Project Wiki应该是答案
看一下我的脚本TextSuggest。
实际上:
安装:
安装以下软件包:
xdotool
xclip
suckless-tools
(用于dmenu
)然后分配2个键盘快捷键:
python3 /path/to/TextSuggest.py
第一个将仅提供所有单词的可搜索列表。当您选择了一些文本并希望获得建议/完成时,请使用第二个。
接受的建议作为历史存储(然后首先建议)在文件中~/.textsuggest_history.txt
。
您可以在定义自定义单词和扩展/别名~/.Custom_Words.txt
。