Rime/小狼毫/中州韵/鼠须管 配置的一些问题(想按着自己的习惯进行客制化

词库调频:

用的自然码双拼+辅助码方案,词库默认频率和文字实际使用频率出入太大,希望可以按着其他词典的顺序进行调频。对于文本文档我能接受自己写脚本处理。但是不是很能搞懂这些词库。我按照教程去挂载自定义词库,现在电脑重启 N 次了。(出错误之后重新部署和重启算法服务都无法解决,只好重启。

虽然这个问题可以随着不断使用变得不那么明显,只是觉得难受。

标点问题:

习惯于指哪打哪的标点输入方式,所以现在自定义了标点映射。但是 ` 作为反查标识没法直接输入,然而在 Markddown 中用的比较多,倒是反查对我没有用途。不知如何修改。

现在输入辅助码的标识是 ;,我按照习惯用 Tab 映射到 ; 之后很舒适。但是 ; 不能直接输入了。虽然日常用到的不多,但多少也有点不爽。

然后希望可以比较方便的输入次级常用标点,所以想挂一个标点符号的词典,然而……上面说了,重启了好些次。就是想输入 除号 的拼音,在候选里有对应的符号这样。

还有如何实现中文输入状态下的数字后面用英文符号?

快捷输入:

只是文字映射那么用自定义短语或者字典方式可解(我没搞定失灵外地问题),但是想要便捷的输入时间等内容应该如何实现?

关于程序无法正常重新部署

  • 托盘右键,退出算法服务。或者在任务管理器结束掉相关进程
  • 开始菜单,重新部署。托盘菜单的相关选项可能无法正常执行
  • 开始菜单,算法服务。

经反复测试,这样可以解决大部分问题。

关于自定义词库

网传方法大部分都有问题,最好的结果是自定义词库成功导入,自然码只有单字码表,但没有词汇字典。

应该是因为导入的 luna_pinyin 是全拼字典,需要通过规则对应。但自定义字典作为中间件打破了这种对应关系。(但是在这种情况下似乎输入全拼也不行

解决方法是在自然码的字典中导入自定义字典,则一切正常。但是这种修改是非无损的,不优雅。仅仅是可以使用。

"`"的问题:
清空反查快捷键:

针对 double_pinyin_某个.schema.yaml 添加patch: double_pinyin_某个.custom.yaml :

patch:
  "recognizer/patterns/reverse_lookup":

另, 我的配置还有一部分, 是完全只使用英文标点.

如上面那个不行的话可以试试以下(完全英文标点并清空反查快捷键)

patch:
  "switches/@0/reset": 1  #表示將 switcher 列表中的第一個元素(即 ascii_mode 開關)的初始值重設爲狀態1(即「英文」)。
  "recognizer/patterns/reverse_lookup":

便捷输入时间我用的alfred, 因为包括 snippets, 剪贴板历史, 都能用一个软件解决.

其他的没有需求也没有碰到过

有一个极其详尽的说明文件, 希望有帮助:

时间的问题可以用 uTools 解决了,然后 Rime 又被我折腾翻了。头大

uTools 快捷工具插件,添加一个 JavaScript 脚本,

  • 模式:通过输入关键字进入插件
  • 关键字:sj
  • 输出: 发送到活动窗口

使用时输入 sj 进入功能,再输入

  • ds 短日期;
  • dl 长日期;
  • t 时间;
  • ts 时间戳
  • 啥也不输入就时日期时间全都要

回车就行了

const dbNum = num => num>9 ? ''+num : '0'+num
const type = '{{subinput}}'
const now = new Date()
const year = now.getFullYear()
const month = dbNum(now.getMonth()+1)
const date = dbNum(now.getDate())
const hour = dbNum(now.getHours())
const minute = dbNum(now.getMinutes())
const second = dbNum(now.getSeconds())
const dateArr = [year, month, date]
const timeArr = [hour, minute, second]
const dateShort = dateArr.join('-')
const dateSLong = year+'年'+month+'月'+date+'日'
const time = timeArr.join(':')
switch (type) {
  case 'ds':
    console.log(dateShort)
    break;
  case 'dl':
    console.log(dateSlong)
    break;
  case 't':
    console.log(time)
    break;
  case 'ts':
    console.log(+now)
    break;

  default:
    console.log(dateShort+' '+time)
}

原来把这个字段置空就好了呀,搞定~

uTools 倒是也可以,虽然说不上特别方便吧,以及没找到能够比较细致的插件,比如:时间、日期、时间戳什么的都分出来。复制一个 2020-04-20 12:47:02 这样的时间常常还需要再删除一部分。