主要使用 Emacs 来处理中文,如果用 Evil,经常要按 Shift 键来切换,比较累……

我想问个问题,就是我其实不是程序员,大部分情况下是用 Org-mode 来管理日程事务,日记、工作日志,和笔记,还写一些东西。

大部分情况下,我的工作环境是中文的。在这样的使用条件下,使用类似 VIM 的 Evil 并不方便,因为大部分键盘命令都是对应英文字符,我经常需要按下 Shift 来切换中英文状态来输入命令,比较繁琐,按键的次数反而变多了。

不知道 Emacs 怎么配置,类似我这样的普通人也能够操作起来比较快捷……

pyim 或者 emacs-rime 了解一下

1 个赞

不是非常理解,不好意思。

可以麻烦你稍微展开一下吗?

就是这两个输入法,默认会在normal状态下,自动切回到英文输入法。

2 个赞
3 个赞

windows的emacs 28可以用原生的函数管理输入法状态,建议配合微软平台,可以在切换时记住中英文状态。evil的配置如下:

(if (fboundp 'w32-set-ime-open-status)
    (progn
      (defun emacs-ime-disable ()
        (w32-set-ime-open-status nil))

      (defun emacs-ime-enable ()
        (w32-set-ime-open-status t))

      (add-hook 'evil-insert-state-entry-hook 'emacs-ime-enable)
      (add-hook 'evil-insert-state-exit-hook 'emacs-ime-disable)
      ))
1 个赞

我记得有位老哥试过写名字为中文的函数,效果也挺好

好毒。。。。

*nix上面用imbot也行,之前还有一个包名字好象是fcitx.el,能在win下面用不过需要额外的二进制文件。

imbot,fcitx.el还有w32-set-ime-open-status都是简单的控制输入法开启/关闭;emacs-smart-input-source,pyim,emacs-rime都有在insert模式下根据上下文自动切换中英文的函数。

1 个赞

pyim 可以智能切换中英文输入法

不过用下来感觉,还是只打英文最方便。。。

最简单的办法是用内置输入法,

pyim + rime比较舒服


set-input-method

1 个赞