每次中文输入完退出 insert
到 normal
模式下, 都会遇到一个问题: insert
下保存了之后 normal
下输入了中文, 按了 ESC
键取消之后还得重新保存一次.
额外的输入法显得没什么必要, 如果真是这样才能解决, 只能放弃解决这个问题了.
毕竟用了这么长时间的搜狗, 个人词库都在里面.
用 emacs
不只是写代码, 一些笔记是用 org-mode
下面写的. 所以词库还是很重要的.
Windows Linux macOS 都可以用。
这个可以解决:
spacemacs/chinese layer里也有:
(chinese :variables
chinese-enable-fcitx t
)
自动切换输入法的时候会有个大约1秒的卡顿. 能感知到.
无论是fcitx也好,pyim也罢都是鸡肋,唯一能指望的就是evil能原生支持这一功能。 fcitx的问题在于只支持中英双输入法切换,而且回到输入模式仍然是中文输入法的英文模式。 pyim的性能、功能性和冗余就不说了。 vim,在Windows下本身就原生支持记忆输入法状态,估计是因为不同模式会被Windows识别成不同的输入框,不会混起来(瞎猜的)所以那种切换的顺滑感,期待Emacs有天能够做到
确实是这样, 刚开始用着还行, 用多了就能感觉到卡顿了, 一个卡顿思路可能就没了.
good luck.
卡顿可能是延时的问题
(defvar fcitx-prefix-keys-polling-time 0.1 "Time interval to execute prefix keys polling function.")
怎么解决呢?
mac 下我的解决方案 对这个输入法感兴趣的可以尝试下, 我使用输入squirrel (可对自定义词库,参考dotfiles/mac/rime_input_method at main · jixiuf/dotfiles · GitHub 配了个五笔拼音输入法) Releases · jixiuf/squirrel · GitHub dotfiles/emacs.lua at main · jixiuf/dotfiles · GitHub
最近试图使用fcitx-remote管理Spacemacs中的输入法自动切换,无论怎样设置fcitx-remote都没效果。希望各位道友根据我的如下折腾经历提供一下解决线索。
我的Spacemacs develope branch最近刚升级为[email protected] 我的系统时macOS 10.13.5 我的输入法是搜狗拼音
我做了如下系统安装设置
- 在terminal中, brew install fcitx-remote-for-osx --with-input-method=sogou-pinyin
安装成功! 本机的fcitx-remote-for-osx文件安装在如下路径 /usr/local/Cellar/fcitx-remote-for-osx/0.3.0
-
设置输入法切换快捷 Select next source in input menu keyboard shortcut in System Preference to
Ctrl-Shift-Z
-
设置Spacemacs配置文件中的chinese layer变量 在 dotspacemacs-configuration-layers中加入 (chinese :variables chinese-enable-fcitx t)
-
启动/重启 Spacemaces
-
双击SPC,输入/执行命令 M-x fcitx-default-setup 这时,Spacemacs的 warning buffer出现,提示如下 Warning (fcitx.el): `fcitx-remote’ is not avaiable. Please check your fcitx installtion.
然后我尝试在Scratch buffer中,在evil的insert模式下,切换到搜狗拼音中文输入,再按下Esc返回到Normal模式,果然Spacemacs没有自动切换回英文输入,每次都要手动在中文和英文间切换。
希望大家能提供新的解决思路。
p.s. 我参考了以下相关内容
直接在命令行执行 fcitx-remote -t
是否能正常切换输入法呢?如果是在 Spacemacs 中的 terminal 呢?
另外我记得如果安装时选择了 input-method 就无需设置快捷键了,快捷键貌似是给默认的时候用的。
安装您刚才的提示,我在iTerminal下,输入fcitx-remote -t,真的可以成功地实现了,搜狗拼音输入法和美式英文之间成功切换!
但是,在我的Spacemacs [email protected] 中,还是无法激活fcitx-remote。
我只要进行 M-x fcitx-default-setup,Spacemacs就出现warning-buffer,显示 Warning (fcitx.el): `fcitx-remote’ is not avaiable. Please check your fcitx installtion.
然后还是无法使用fcitx-remote来实现自动输入法切换。
求教。
说明 fcitx-remote 没有在系统路径里,看一下环境变量的设置
我之前也搞过,mac平台有切换输入法的工具
和
只要把切换命令加入对应evil state的hook里就行了。
不过这两个工具都有点bug,有的时候切换了没效果,要用鼠标点一下窗口才行……具体的情况可以看issue
感谢提供的线索,解决了!方法如下
SPC f e e 启动 Spacemacs Develop branch的Edit evn
(编辑环境变量)功能。
然后打开了Spacemacs.evn配置文件;
在其中的Path=
这一行上,加入我的fcitx-remote的utility/symbolic link所在目录(usr/local/bin
);
重启Spacemacs,fcitx-remote-for-osx终于开始正常工作了!!
p.s.
感觉在insert mode下,按下Esc
返回normal mode时,还真是比没有开启fcitx-remote-for-osx之前,增加了一点点时延。
这个时延,还有什么方法,可以进一步优化变短吗。
我也想知道有没有优化的方法。不了解 macos 的情况,看Windows上 fcitx-remote 的代码非常简单,不知道还能怎么优化。