年末,分享下我在 vim 下的中文输入方案

2022-12-31 19:04:36 +08:00
 yuuko

Github: ds-pinyin-lsp

这是一个使用 Language Server 客户端作为前端的全拼中文输入方案,所以它是像输入代码一样输入中文,所以应该算是 vim 里面比较无痛的中文输入方案。

具体使用

以 coc.nvim 为例 (也支持任何其它 LS Client )

安装 coc.nvim 插件

:CocInstall coc-ds-pinyin-lsp

或者通过 coc-settings.json 配置 language server 配置,具体看项目主页。

个人认为最佳的配置方案

  "ds-pinyin-lsp.completion_on": true,
  "ds-pinyin-lsp.completion_around_mode": true,
  "ds-pinyin-lsp.completion_trigger_characters": ">",
  "ds-pinyin-lsp.show_symbols": true,
  "ds-pinyin-lsp.show_symbols_only_follow_by_hanzi": true,
  "ds-pinyin-lsp.show_symbols_by_n_times": 2,
  "ds-pinyin-lsp.max_suggest": 50,
  "ds-pinyin-lsp.match_as_same_as_input": false,
  "ds-pinyin-lsp.match_long_input": true,
  "ds-pinyin-lsp.status_bar_flag": "拼",

这个配置,一般情况下不会出现补全中文选项,只有光标出现在中文环绕(开头 /中间 /末尾)的情况会出现中文补全选项,或者在输入 > 字符(可以自己配置)后面会启用中文补全。避免中文补全扰乱代码补全。

5037 次点击
所在节点    Vim
29 条回复
basncy
2022-12-31 19:30:46 +08:00
yuuko
2022-12-31 19:41:18 +08:00
@basncy 老哥分享下
yuuko
2022-12-31 19:42:25 +08:00
@yuuko 看错了,你这个也是 IME 的输入框吧?
basncy
2022-12-31 20:08:08 +08:00
木有苹果设备, 但是你可以研究一下. https://github.com/rime/squirrel

听说一套配置可以同时用在 windows, linux, android, ios, macos 上面. 至少我实现了非苹果设备全平台同步.
yuuko
2022-12-31 20:26:44 +08:00
@basncy 感谢分享,之前看错了,我以为你这个是不需要依赖 IME 的,我目前所烦的不是没有好用的输入法,而是 vim 下输入中文需要切换输入法的问题,因为时常切换不过来导致在 Normal 模式操作乱飞
Kobayashi
2022-12-31 21:00:08 +08:00
还是没明白怎么回事,简介里能说得更明白点吗?
yuuko
2022-12-31 21:02:57 +08:00
@Kobayashi 就是在编辑器里面输入拼音,中文选项出现在代码补全列表里面
Davic1
2022-12-31 21:14:39 +08:00
@basncy 你设置的中英文切换是什么键位?另我改了中英切换键在 iterm2 里面经常没办法切换,反而 kitty 就没问题。。,
Dvel
2022-12-31 21:28:33 +08:00
JetBrains 的 IdeaVim 有个插件( IdeaVimExtension )可以在回到普通模式的时候自动切回到英文输入法,不知道纯 Vim 有没有这样的插件。
yuuko
2022-12-31 21:30:30 +08:00
@Dvel vim 也有这样的插件,不过用的过程中时常切换失败
amlee
2022-12-31 21:38:37 +08:00
@yuuko 这个功能应该用什么关键字搜呢?我想在找找 vscode 有没类似插件
starrycat
2022-12-31 21:48:29 +08:00
有意思,可惜不支持双拼🥲
yuuko
2022-12-31 21:51:53 +08:00
@amlee smart ime 试试
Kobayashi
2022-12-31 22:36:15 +08:00
@yuuko 我明白了,这个输入法是把自己做成了一个 Vim 补全插件。
zbinlin
2022-12-31 23:23:01 +08:00
这想法不错,最好录个 gif 来看下实际效果。
yuuko
2023-01-01 00:13:34 +08:00
zbinlin
2023-01-01 00:29:34 +08:00
@yuuko 这效果很赞,已经很好的融合进来了。可以扩展一下支持码表(做成类似 RIME 这样的框架)
basncy
2023-01-01 01:18:10 +08:00
@yuuko 找个所有 app 都不冲突的就行. 左 Shift 习惯吗? rime 这样设置 Shift_L: inline_ascii
basncy
2023-01-01 01:25:41 +08:00
https://github.com/rime/squirrel/issues/302
你别说你还在用系统的 Ctrl+Space 切换... rime 框架本身就支持多个方案切换, 很灵活的.
thedrwu
2023-01-01 01:53:52 +08:00
自用方案: https://lstu.fr/VVT6jFpL

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/905814

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX