我想试试看 emacs-rime,但是我需要给他单独配置一个激活的按键么?这样就感觉好像有点割裂,其他地方使用一个按键激活,emacs 里面使用另一个。有没有办法统一呢?我在 mac 使用 rime.
我用 better touch tool 设置了【在非 emacs/ghostty 中按 C-SPC 时切换输入法,否则传递 C-SPC 给应用】
这样就全局统一用 C-SPC 切换了
karabiner-elements 可以让你对相同的快捷键在 emacs 里和 emacs 外进行不同的映射,我是把 Shift 键映射了。同时限制在 emacs 里系统输入法强制切换到英文输入法,这点用 hammperspoon 和 karabiner-elements 都可以做到,也有其它类似的软件。
如果觉得用外部改键麻烦,也可以考虑 key-echo。
emacs中输入法不是有统一输入法切换键C-\吗?
是的 我也是用的 karabiner-elements , 它可以根据当前系统输入法的状态,当前激活的app 是什么 对键做映射 通 过 frontmost_application_unless frontmost_application_if input_source_if input_source_unless 等对当前状态进行判断 ,符合条件才执行 key 映射。
squirrel.custom.yaml:
patch:
app_options:
com.google.Chrome:
# 規避 https://github.com/rime/squirrel/issues/435
inline: true
ru.keepcoder.Telegram:
# 規避 https://github.com/rime/squirrel/issues/475
inline: true
org.gnu.Emacs:
ascii_mode: true
no_inline: true
mac下直接全局切鼠须管就好了吧。。。挺好使
在macOS上不用 emacs-rime,直接使用鼠须管体验和系统一致。 通过 sis 实现自动在 C-x 是切为英文。
我的解法比较暴力,我把系统的输入法切换快捷键设置为 C-\ (emacs 的快捷键),然后 emacs 里面的改为 shift ,我假想 emacs 始终开着输入法,只是通过 shift 切换 ascii 模式。
有点掩耳盗铃,但逻辑上能说通…… ![]()
我不是使用 mac 的,在 linux 上我是直接在启动方式里面修改 emacs 的环境变量禁用系统输入法,只在 emacs 中使用 emacs-rime。
env XMODIFIERS= GTK_IM_MODULE=none emacs