你 (print (executable-find smart-input-source-external-ism))
是什么结果?
看上去不错, mac系统,在doom下怎么安装这个?我尝试这样安装报错,或者M-x 没有看到这个命令 smart-input-source-mode, 下面是我的安装方法
0、 在mac下先安装了 macism
1、在 .doom.d/packages.el 文件加入
(package! emacs-smart-input-source :recipe (:host github :repo “laishulu/emacs-smart-input-source”))
2、 在.doom.d/config.el 加入
(use-package emacs-smart-input-source)
运行报错:Error in private config: config.el, (file-missing Cannot open load file No such file or directory emacs-smart-input-source)
谢谢回复, 这个命令的结果指向了我的 ~/.local/bin/macism 路径, 但是按下escape从insert 转为normal模式时, 并没有从中文转为英文
现在MELPA还在审核,所以,没法直接安装。
你可以自己配置package,引用github 仓库, 但你要是对doom不熟悉的话, 可以把smart-input-source.el文件直接丢到自己的doom文件夹下, 然后在 config.el里面,
(load! "smart-input-source")
(add-hook! '(text-mode-hook prog-mode-hook)
#'smart-input-source-mode)
我也是用doom的。
很乐意解决这些我自己的环境不会出现的问题。
- 你在命令行下,把系统输入法分别切到中文和英文,然后分别运行 macsim, 输出是什么样子的?
- macsim 后面跟前面的输出,可以正常切换到相应的输入法么?
-
smart-input-source-mode
打开了么?
如果想安装emacs mac port,在GUI下使用原生API切换输入法的话,
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-modules --with-rsvg --with-imagemagick --with-natural-title-bar
这个package的名字是smart-input-source
,
git 仓库的名字在前面加了个emacs-
很多emacs库都是这个样子的。
另外,你配置完doom的package之后,
还需要在shell中运行 doom sync
以同步仓库。
多谢,安装成功!
汉字后面跟空格触发 inline english 区域… 一直使用英文输入法…回车,关闭 inline english 区域。但这时不会自动切换回中文?
@montychen 看情况。如果english region结束后:
- 光标到前面一个字母之间有空格(空格在之前的region里面还是外面无所谓), 那么会激活中文输入法。
- 如果光标后面本来就是英文(和光标之间可以有空格或者换行), 那么还是停留在英文输入法
我也在考虑这个问题,感觉这个规则还可以再改进一下: 多行之后还是英文的话,没必要停留在英文上。
规则更新::::
- 如果光标后面本来就是英文(和光标之间可以有空格[不含换行]), 那么还是停留在英文输入法
已经被melpa
收录,现状可以按照普通melpa
包的方式下载安装了。
已经有evil、开启smart-input-source-mode、配置好(setq smart-input-source-other-input-source "com.baidu.inputmethod.BaiduIM.wubi")
,按esc离开insert模式后,并没有自动切换到英文输入法状态啊
@Pmacs 什么操作系统?什么emacs发行版,GUI还是Terminal模式? 请读一下 README 的 Install 部分
你这些配置,在Emacs Mac Port发行版运行于GUI模式的时候,应该是没问题的。
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-modules --with-rsvg --with-imagemagick --with-natural-title-bar
只要不是这个情况,都需要多一些步骤。
只要是MacOS,无论是什么Emacs发行版,无论是GUI还是Terminal模式, 再装个macism就可以了。
brew tap laishulu/macism
brew install macism
如果是Linux下,用fcitx的话,README里面有配置,应该可以工作。 但是我没有相应的环境,因此没有测试过。
谢谢这么快的回复。 对这个输入法自动切换的东西还是挺期待的。
配置前已经看过README的install的。
- macOS 10.13.6 brew安装的GUI Emacs 27.0.90;
- 在GUI模式;
- 已经brew安装了macism 1.0.0;
感觉可能是macism要求的xcode版本不够、macism不能正常运行,我再试试。
你命令行下,macism可以正常工作么?
@Pmacs Emacs Mac Port (EMP) 是个发行版, 不是GNU 官方出的 emacs , 并不是说MacOS上的Emacs就是EMP。 类似的发行版 Emacs Plus,emacsformacosx,AquaMacs,XEmacs 也都不是EMP。
brew install emacs
(是GNU原版)和 brew cask install emacs
(是emacsformacosx版)出来的,都不是EMP。
下面这个才是EMP
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-modules --with-rsvg --with-imagemagick --with-natural-title-bar
如果是EMP在GUI模式中使用的话,是不需要macism的。
谢谢耐心回复。
这些emacs的版本的区别大致了解的。
刚才更新了Xcode到10.1,brew install macism的macism仍然不能正常运行,需要自己编译安装才能在我这边运行(应该是macOS 10.13.6版本太低?)
但是,macism正常运行之后,org-mode里evil切换到insert模式后,还是在中文输入法的中文输入状态。
是init.el
中的配置问题?
(use-package smart-input-source :ensure t :config
(setq smart-input-source-mode t)
(setq smart-input-source-external-ism “macism”)
(setq smart-input-source-english-input-source “com.apple.keylayout.ABC”)
(setq smart-input-source-other-input-source “com.baidu.inputmethod.BaiduIM.wubi”)
)
@Pmacs 这个mode是buffer local的,不是global mode
(use-package smart-input-source
:config
(setq smart-input-source-english-input-source
"com.apple.keylayout.ABC")
(setq smart-input-source-other-input-source
"com.baidu.inputmethod.BaiduIM.wubi")
(add-hook text-mode-hook #'smart-input-source-mode)
(add-hook prog-mode-hook #'smart-input-source-mode))
另外,下列这个不用设置,是默认的。
(setq smart-input-source-external-ism “macism”)
谢谢!一直都是拿来能用就行,没去了解过mode的区别
(add-hook 'text-mode-hook #'smart-input-source-mode)
(add-hook 'prog-mode-hook #'smart-input-source-mode)
可以了的 。感谢感谢~
更新:
- 语言探测规则改进,此处代码注释更易懂。
- 加入了
fcitx
和ibus
,以及用于Windows操作系统的im-select
的配置说明