goumao
2020 年4 月 26 日 08:35
63
@bin99 下列哪种情况呢?
Terminal.app里面跑emacs,然后在emacs里面不能切换。
Emacs.app里面跑term,然后在这个term里面不能切换?
Terminal.app里面跑emacs的话,需要把Terminal.app加到Security & Privacy / Accessibility 里面。
直接运行Emacs.app,在那里面执行macism的话,需要把Emacs.app本身要加到Security & Privacy / Accessibility里。
反正就是把最外层的程序加到Accessibility里面去。
当然,如果你用的是GUI的Emacs Mac Port(安装方式见readme),那都不需要,因为它是调用原生api,不是调用外部工具 macism。
bin99
2020 年4 月 26 日 09:46
64
是Emacs.app里面跑term,已完美解决。切换体验很棒!
添加 Emacs.app 到 Security & Privacy / Accessibility
添加 ruby 到 Security & Privacy / Accessibility
catalina, emacs
引自上面链接:Note that some Emacs “distributions” package together a number of Emacs binaries for various macOS versions in a single folder, and dynamically at runtime chooses the right one for your system. This means that the icon you click to start the program is really a “placeholder” that is not Emacs itself, but rather just starts up Emacs. This “placeholder” often takes the form of a Ruby script. If this is the case, you’ll need to drag the Ruby program on to the list.
goumao
2020 年4 月 26 日 10:13
65
@bin99 长知识了,谢谢反馈。
我把这个给加到README中。
goumao
2020 年4 月 26 日 16:33
66
@bin99 macism 升级了一下,可以自动请求 Accessibility权限。
请帮我测试一下,按如下步骤:
brew upgrade macism
取消ruby的权限
通过macism切换输入法
看是否弹出关于ruby的权限请求。
brew tap railwaycat/emacsmacport
brew install emacs-mac --with-modules --with-rsvg --with-imagemagick --with-natural-title-bar
1、按照上面的这个方法安装完 emacs-mac 和 doom
2、在doom 的package.el 里,安装好 emacs-smart-input-source,
3、在.doom.d/config.el 文件中如果这么设置是没问题的
(use-package smart-input-source)
如果用下面的配置就会报错。
(use-package smart-input-source
:config
(setq smart-input-source-english-input-source
"com.apple.keylayout.US")
(setq smart-input-source-other-input-source
"com.sogou.inputmethod.sogou.pinyin")
(add-hook text-mode-hook #'smart-input-source-mode)
(add-hook prog-mode-hook #'smart-input-source-mode))
报错的信息是:
! Attempt to load DOOM failed
(config.el (wrong-type-argument symbolp (yas-minor-mode-on visual-line-mode display-line-numbers-mode hl-line-mode goto-address-mode vi-tilde-fringe-mode text-mode-hook-identify)))
goumao
2020 年4 月 28 日 05:13
69
配置完package.el
之后,你运行过doom sync
了么?
当然。 每次修改过config.el 、init.el 或者 packages.el 我都会运行 doom sync (以前是 doom refresh)
goumao
2020 年4 月 28 日 05:25
71
@montychen doom的话,我是这样配置的
(use-package! smart-input-source
:config
(add-hook! '(text-mode-hook prog-mode-hook)
#'smart-input-source-mode))
按理说,不用doom的宏(带感叹号的那些),也是没问题的。
哦,我想起来了,应该加引用
(add-hook 'text-mode-hook #'smart-input-source-mode)
(add-hook 'prog-mode-hook #'smart-input-source-mode))
goumao
2020 年4 月 28 日 05:33
72
@montychen add-hook 加引用,没问题了吧?
@goumao 我想进入insert状态就切换成中文输入法,能否设置啊?
goumao
2020 年4 月 28 日 06:15
75
@Jousimies
这个要求,不符合这个package的设计初衷了。
因为这个package设计目标,就是上下文是英文的时候,这个mode不会干扰正常使用。
自己fork可以。
下面这一段改一下:
(add-hook 'evil-insert-state-entry-hook
#'smart-input-source-do)
改成
(add-hook 'evil-insert-state-entry-hook
#'smart-input-source-set-input-source-other)
相应的 remove-hook
部分也改一下。
goumao
2020 年4 月 28 日 06:27
78
@Jousimies
我有个疑问啊。。。
我觉得。。。。即使你不魔改
在你的使用场景下,
以前的mode很多时候进入insert模式也不需要你切换输入法啊。
比如说:这是测试^字符串
, 其中^
是你进入insert模式时的光标位置,
这种情况下,是会自动切换到中文的。
而你的魔改,因为进入insert状态就是中文输入法,会导致很多情况下,你需要手工从中文切换成英文。比方说你修改latex命令的时候。
是的。绝大多数情况下是这样的,中文后进入insert模式自动切换到中文。
org-mode转latex后换行是要空一行。所以我常常在新的一行(不紧靠上一行中文)中进入insert模式,此时输入法不会自动切换成中文的,而是保持成英文的状态。我就需要手动切换成中文输入法。
win10上面输入法切换有问题,在Emacs中切换后不认我默认的设置:中文输入法的中文状态。所以我要再按一次shift切换输入法到中文状态。
上面的模式搞的我常常混乱,所以索性设置成只要进入insert模式就是中文输入法,我再按一次shift就是中文输入法的中文状态。
btw.我之前设置了使用rime输入法,避开系统输入法的问题。用不习惯,所以又回到了系统输入法上面。
goumao
2020 年4 月 28 日 07:02
80
@Jousimies
我本来就对这块的规则有点犹豫,既然你也有这个需求,可见我之前的犹豫是个普遍的问题。
我计划:把空行之后是否respect上文的状态
这块配置成可选的。完了这个问题就可解决了。
这个看个人习惯了,我个人用的是搜狗拼音,是把shift切换输入法关闭的。
只切换不同的输入法,不切换同意输入法的不同状态。
1 个赞
mac下用brew安装失败了
➜ workspace brew install macism
Updating Homebrew...
==> Installing macism from laishulu/macism
==> Downloading https://github.com/laishulu/macism/archive/v1.1.0.tar.gz
==> Downloading from https://codeload.github.com/laishulu/macism/tar.gz/v1.1.0
######################################################################## 100.0%
==> swiftc macism.swift
Last 15 lines from /Users/jiya/Library/Logs/Homebrew/macism/01.swiftc:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/swift/Dispatch.swiftmodule/x86_64.swiftinterface:5:19: error: could not build Objective-C module 'Dispatch'
@_exported import Dispatch
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/libxml/module.modulemap:1:8: error: redefinition of module 'libxml2'
module libxml2 [system] [extern_c] {
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/module.modulemap:1:8: note: previously defined here
module libxml2 [system] [extern_c] {
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/libxml/module.modulemap:1:8: error: redefinition of module 'libxml2'
module libxml2 [system] [extern_c] {
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/module.modulemap:1:8: note: previously defined here
module libxml2 [system] [extern_c] {
^
If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/laishulu/homebrew-macism/issues
goumao
2020 年4 月 28 日 07:41
82
shuxiao9058:
mac下用brew安装失败了
@shuxiao9058 我没在低版本的MacOS下测试过。
我用的是最新的MacOS版本,最新的xcode
还有,我之前用的是command line tools
,
但是前几天升级command line tools
之后,就出现了这个问题。
然后我装了xcode,然后把编译工具切到xcode上去,就OK了。
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
就OK了。