[ Content contribution] 分享一个让 Fcitx5 更符合简中用户使用习惯的优化脚本 Resolved
Tofloor
poster avatar
DebuggerX
deepin
2023-09-25 22:57
Author

经过两周的调研及开发调试,我的Fcitx5的优化脚本终于弄得差不多了~

调研贴传送门:[需求征集] 在尝试写一个Fcitx5的优化脚本,大家有什么需要的功能 这样的“大写键打开时关闭拼音的功能”效果怎么样? 优化脚本目前的计划和简单交互演示 脚本基本完成了,发布前再演示下最终效果

完整说明请看我的博客:fcitx5_customizer —— 一个让 Fcitx5 更符合简中用户使用习惯的优化脚本

使用方法

# 在线运行
bash -c "$(curl -fsSL https://www.debuggerx.com/fcitx5_customizer/fcitx5_customizer.sh)"

# 在线运行并使用推荐配置
curl -sSL https://www.debuggerx.com/fcitx5_customizer/fcitx5_customizer.sh | bash -s -- recommend

优化后使用技巧

当应用 配置快速输入优化项后,可以利用快速输入(默认按V键进入该模式)来输入标点、特殊符号、时间日期,以及实现数字转大写金额等功能

输入标点

默认配置下的 Fcitx5 有一个让很多新手非常困扰的问题,就是当按下键盘上的 []时,输入法打出的标点却是 ·,而不是习惯中的中文方括号 ,所以我的优化脚本中提供了一个 优化中文标点的选项用于修正这个问题。此时如果就是想输入包括 ·等在内的各种标点,就可以利用快速输入,先按V键,再按标点按键,即可出现各种特殊标点可供选择输入:
punctuation

查看所有的快速输入命令

快速输入的使用方式是,先按键(默认是V键)触发进入快速输入模式,然后输入指令,例如 vfh就是输入符号,vsz就是输入各种样式的数字。
当想要查看所有的快速输入命令时,可以输入 vtsf(提示符的拼音首字母),即可看到所有的命令缩写:
tsf

输入特殊符号

由于 Fcitx5 暂时还没有实现类似 Fcitx 以及搜狗等输入法中的特殊符号输入面板,所以折中的办法是利用快速输入来实现。
感谢来自deepin论坛的 doodo分享的方案及配置文件,大部分数据来自rime项目,本人在此基础上进行了一些补充和缺失的函数实现。
下面进行说明:

箭头

箭头是非常常用的特殊符号,优化后的快速输入有三种输入箭头的方法:

  • 直接输入 vzuovyouvshangvxia即可输入←、→、↑、↓这几个常用的箭头
  • 输入 vjt后,选择想要的箭头
    arrow1.webp
  • 输入 v\后,选择想要的粗箭头
    arrow2.webp

符号

建议先输入 vtsf查看所有的命令,下面列出几种常用的符号输入

fh1.webp

fh2.webp

fh3.webp

fh4.webp

emoji表情

对于常见的emoji表情,可以尝试直接输入拼音,比如 hahaxiaokuwuyuaizhadan
emoji1.webp
更多emoji表情,可以尝试输入 v:[emoji的英文名]输入:
emoji2.webp

时间日期

  • 输入当前日期
    rq.webp
  • 输入当前时间
    sj.webp
  • 输入当前时间的时间戳/ISO8601格式
    sjc.webp

数字转大写金额

实现该功能的lua脚本来自https://github.com/iDvel/rime-ice/issues/264

使用方法是 vdx[数字],例如整数:
dx1.webp
dx2.webp
也支持小数:
dx3.webp

可能遇到的问题

curl未找到命令

如果执行优化命令时提示 curl未找到命令,请先手动执行 sudo apt install curl 安装即可。

当前输入法不是fcitx

只有当前系统正确安装并启用了 Fcitx5 输入法是,优化脚本才会真正执行。有一种情况是,当使用系统自带的输入法切换器将系统的输入法切换为 Fcitx5 时,虽然看上去已经切换成功并且输入法已经可以正常使用,但是系统的环境变量还没有及时刷新,所以脚本还是会认为系统输入法不是 Fcitx5。此时只要注销或重启一次系统,再次执行优化命令即可正确识别。

部分参考资料及链接

如果觉得好用,请给我的仓库点star:https://github.com/debuggerx01/fcitx5_customizer

如果发现任何问题,请在下面 @DebuggerX 回复我,谢谢!

Reply Favorite View the author
All Replies
2 / 4
To page
神末shenmo
deepin
Spark-App
2023-09-26 18:49
#21

图片.png

Unable to connect to the server....

Reply View the author
神末shenmo
deepin
Spark-App
2023-09-26 18:51
#22

既然现在打包成deb了,可以直接把这些asset封进deb直接用了

或者星火可以给你提供mirror

Reply View the author
神末shenmo
deepin
Spark-App
2023-09-26 19:20
#23

https://github.com/debuggerx01/fcitx5_customizer/pull/1

提了个pr

Reply View the author
neko
deepin
Ecological co-builder
2023-09-26 21:12
#24

好哇好哇

Reply View the author
DebuggerX
deepin
2023-09-26 22:48
#25
神末shenmo

https://github.com/debuggerx01/fcitx5_customizer/pull/1

提了个pr

感谢pr,大佬nb👍

关于assets,我觉得还是不放deb包里了,因为不是所有人都需要所有的资源,一股脑全放进去感觉有点浪费,而且也比较难控制更新

mirror这个方式很好,不过请问星火的cdn应该怎么用,会自动回源吗?还是说以后更新assets的时候需要手动上传处理?

Reply View the author
DebuggerX
deepin
2023-09-26 22:49
#26
deepin-superuser

这里有 小鹤音形 的码表

https://github.com/kt286/fcitx5-flypy.git

能详细说下怎么使用吗,是不是装上以后就是增加一种双拼方案?

Reply View the author
DebuggerX
deepin
2023-09-26 22:56
#27
doodo

帖子里不用提及我,随便用。我已经把帖子全部清空了。

再送你两个fcitx5-rime的U模式词库,也可以整合到你的脚本里(全拼词库--网上找了一个全拼修改了部分,小鹤双拼词库--用全拼词库做的):

rime_U模式全拼词库_chaizi.zip

rime_U模式小鹤双拼词库.zip

like

Reply View the author
DebuggerX
deepin
2023-09-26 23:01
#28
fax928

yeah 初步用了下,很6,建议置顶和精华贴。

好像已经是了 joy

Reply View the author
deepin-superuser
deepin
2023-09-26 23:03
#29
DebuggerX

能详细说下怎么使用吗,是不是装上以后就是增加一种双拼方案?

这个不是双拼 类似于五笔、郑码的码表

安装编译后生成的包,会多一种输入法选项 和拼音、五笔同级

Reply View the author
fax928
deepin
2023-09-27 01:29
#30

今天用了优化了一下,感觉输字变流畅了,不知道是不是错觉。(本本配置不好)

皮肤也很赞,中文方括号也可以设置正常了,666

是不是没输入法适配什么事了tail

Reply View the author
字甲达宾
deepin
2023-09-27 01:53
#31
  1. 建议软件名调整为 fcitx5-tweak,更容易被记住和拼写命令名 (tweak 调整、优化的意思。早些年有个软件叫 ubuntu-tweak , Ubuntu 优化工具)。
  2. bash 脚本里面,最好加上版本号、更新日期,方便维护和识别。
  3. 脚本文件头,可以直接写成 #!/bin/bash ;
  4. 脚本最后面 (倒数第3行): sleep 0.2
    如果我没有记错,sleep 后面的单位是秒,取值应该用整数。
  5. 某些配置文件,建议集成到 DEB 包。某些用户和使用场景,可能不方便上网。可以先自带,然后用户选择性地调用。
  6. 如果可以,后续分成两个命令,一个是纯命令行,一个使用 dialog 图形界面。比如:
    • fcitx5-tweak (命令行)
    • fcitx5-tweak-x (图形界面)

总之,非常好的工具!希望能长期维护。

Reply View the author
fax928
deepin
2023-09-27 02:30
#32
云的眼泪

要是能在fcitx5的五笔输入法加入快捷输入就好了,以z引导。

极点五笔中可以以z引导快捷输入符号,可惜没有fcitx5版本。

你试试使用优化脚本后再添加系统自带的五笔拼音,看看起不起作用!皮肤是起作用的。

Reply View the author
DebuggerX
deepin
2023-09-28 05:11
#33
字甲达宾
  1. 建议软件名调整为 fcitx5-tweak,更容易被记住和拼写命令名 (tweak 调整、优化的意思。早些年有个软件叫 ubuntu-tweak , Ubuntu 优化工具)。
  2. bash 脚本里面,最好加上版本号、更新日期,方便维护和识别。
  3. 脚本文件头,可以直接写成 #!/bin/bash ;
  4. 脚本最后面 (倒数第3行): sleep 0.2
    如果我没有记错,sleep 后面的单位是秒,取值应该用整数。
  5. 某些配置文件,建议集成到 DEB 包。某些用户和使用场景,可能不方便上网。可以先自带,然后用户选择性地调用。
  6. 如果可以,后续分成两个命令,一个是纯命令行,一个使用 dialog 图形界面。比如:
    • fcitx5-tweak (命令行)
    • fcitx5-tweak-x (图形界面)

总之,非常好的工具!希望能长期维护。

  1. 名字应该不会改了,毕竟logo、资源地址都弄好了,改起来成本有点高,现在的名字也还算准确
  2. 版本号加了,这个确实有用
  3. env bash理论上移植性兼容性更好,不过差别不大
  4. 我故意的,一秒检查一次在某些反应快的机器上会浪费时间,所以0.2秒检查一次
  5. 这个不太行,因为现在的修改都是在用户已有的配置的基础上通过sed替换一些配置值,用deb包的形式,一是做不到只对当前用户生效,二是会造成配置的整体覆盖,不符合调整的预期
Reply View the author
DebuggerX
deepin
2023-09-28 05:13
#34
神末shenmo

既然现在打包成deb了,可以直接把这些asset封进deb直接用了

或者星火可以给你提供mirror

我还是改用ghproxy作为加速和兜底了,这样资源更新会方便一点

我弄了个简单的logo和启动器,打了新的包,能给个投稿星火的教程链接吗

Reply View the author
神末shenmo
deepin
Spark-App
2023-09-28 06:57
#35
DebuggerX

我还是改用ghproxy作为加速和兜底了,这样资源更新会方便一点

我弄了个简单的logo和启动器,打了新的包,能给个投稿星火的教程链接吗

你按照现在的已经上架的包名打包,然后拖动到投稿器就可以自动获取已经投递过的信息了

记得架构写all,这样可以上架到arm商店


星火mirror暂时我是在用手动上传,可以改成写个cron自动去拉取你的git仓库

Reply View the author
DebuggerX
deepin
2023-09-28 17:57
#36
神末shenmo

你按照现在的已经上架的包名打包,然后拖动到投稿器就可以自动获取已经投递过的信息了

记得架构写all,这样可以上架到arm商店


星火mirror暂时我是在用手动上传,可以改成写个cron自动去拉取你的git仓库

还是先不用你的mirror了吧,目前可能还会更新资源,后面稳定了资源不会变更了再考虑吧

更新包提交了,不知道logo会不会自动更新,麻烦看一下了

Reply View the author
DebuggerX
deepin
2023-09-28 18:01
#37
deepin-superuser

这个不是双拼 类似于五笔、郑码的码表

安装编译后生成的包,会多一种输入法选项 和拼音、五笔同级

这个看来不适合用脚本做,因为如果编译好deb然后用脚本安装,可能会存在版本兼容性问题;如果是像aur那样在脚本里克隆仓库编译安装,一来耗时太长用户可能接受不了,二来也比较容易编译失败。

这个可能还是适合让官方维护一个项目包然后放进仓库里

Reply View the author
mozixun
deepin
2023-09-29 05:26
#38

大佬,快捷键能不能再优化一下跟windows一样,按shift是切换中英文但不切换输入法,按Ctrl+shift切换输入法,我玩有些游戏会误按shift键导致输入法切换yeah

Reply View the author
晚秋(lateautumn)
Moderator
2023-09-29 17:48
#39
云的眼泪

要是能在fcitx5的五笔输入法加入快捷输入就好了,以z引导。

极点五笔中可以以z引导快捷输入符号,可惜没有fcitx5版本。

agree

我也用五笔拼音。

Reply View the author
DebuggerX
deepin
2023-10-07 18:26
#40
mozixun

大佬,快捷键能不能再优化一下跟windows一样,按shift是切换中英文但不切换输入法,按Ctrl+shift切换输入法,我玩有些游戏会误按shift键导致输入法切换yeah

修改切换快捷键这个功能没加,是因为我觉得这个每个人的习惯都完全不同,所以没想明白该怎么提供修改方案,才能既让用户得到自己想要的效果,又不会被脚本预设的配置和逻辑所误导。

另外,我虽然不玩游戏,但是也不喜欢默认切换输入法的方式导致的一些误操作,于是我的习惯是,把切换输入法的方式改为单击右侧Shift键,这样键盘上就有了专门只用于切换输入法的按键,从而彻底避免了误操作。

Reply View the author
2 / 4
To page