emacs-rime
emacs-rime copied to clipboard
有办法强制emacs关闭系统输入法吗?
在Mac上使用emacs-rime时,经常会误切换系统输入法。有办法在emacs-rime使用时,不允许切换系统输入法吗?比方说,强制emacs用系统英文输入法(用im-select类似的方法)。
我只知道 Linux 的,要看有没有用 Mac 的人来回答这个问题了。
有个 https://github.com/laishulu/macism/ ,在启动 Rime 时,加个 hook 执行下面的命令
macism com.apple.keylayout.ABC
不过这相当于全局都改了,应该没法针对每个 app 做设置。
我目前系统输入法也是 Rime 鼠须管,它支持针对每个 app 设置输入状态,让 emacs 为 ascii_mode 就好了。
# cat squirrel.custom.yaml
app_options: # App关闭/开启中文输入
com.apple.Spotlight: # 聚焦搜索
ascii_mode: true
com.raycast.macos:
ascii_mode: true
com.runningwithcrayons.Alfred: # afred
ascii_mode: true
com.apple.Terminal: # 终端
ascii_mode: true
org.gnu.Emacs:
ascii_mode: true
com.googlecode.iterm2:
ascii_mode: true
com.microsoft.VSCode: # Visual Studio Code
ascii_mode: false # 开启中文输入
ascii_punct: true # 半角符号即中文状态输入英文标点
PS:不过在我换成 m1 的 macOS 后,这个 ascii mode 不是很灵了,有时候切到 emacs 后也是中文状态,还不清楚原因,估计是 Rime 的 bug,你可以试试看
我只知道 Linux 的,要看有没有用 Mac 的人来回答这个问题了。
请问linux中emacs如何强制关闭系统输入法呢?
Build with --without-xim
or have Emacs.useXIM: off
in ~/.Xresources
Build with
--without-xim
or haveEmacs.useXIM: off
in~/.Xresources
谢谢。我在文件 .Xresources
最后一行加上:
Emacs*UseXIM:false
就成功了。