先声明一下,本人很菜且是非程序员的那种…不过我想现在提的这个问题应该还不用理解代码 现在用的系统是m1 mac air,然后homebrew装的emacs-mac --native-compile --with-xwidget。 问题是这样,现在在终端里用emacs 命令会打开gui的emacs但是按键按上去是没有反应的,所有的按键都显示在终端里 我的which emacs 返回的是 /opt/homebrew/bin/emacs 到这里,暂时有两个问题,1,如何在终端里使用cli的emacs编辑文件? 2,如何用/opt/homebrew/bin/emacs 打开一个可以正常使用的Gui 的emacs? 希望大佬能指教,先谢过! 关于2 产生了Q3,我现在用了个笨办法处理Q2,"alias em=“open -a /Applications/Emacs.app/ $1” 但这不是我想要的,因为当用到Chemacs2的时候这就用不了了,不过这个还不重要,chemacs倒不迫切
用 -nw
选项:
➜ ~ emacs --help | grep nw
--no-window-system, -nw do not communicate with X, ignoring $DISPLAY
➜ ~ emacs -Q -nw .zshrc
像普通的 GUI App 一样启动,比如找到 Emacs.app 的位置,双击打开,然后在 Emacs 里面打开文件。
我现在确实是把homebrew下的app , ln 到了 applications里面……
但是emacs命令打开的完全没用的gui emacs能不能改变/解决呢?因为chemacs2 要用 emacs --with-profile打开emacs……
试试用 open(1)
启动,如:
$ open -a Emacs --args -Q
open(1) 的 --args
之后的选项会传递给 Emacs。
我之前用emacs-mac,发现在命令行直接输入 emacs 打开的那个app确实会UI直接卡死,根本用不了。后来发现换成emacs-plus之后好像就可以正常使用了。 此外emacs-mac还有一个大bug,全屏状态下切到别的app再切回来,emacs依然是全屏状态,但是mac系统会认为emacs-mac已经不是全屏的了,这个时候顶部的菜单栏和底部的deck会和emacs-mac的页面重叠在一起,并且无法隐藏菜单栏和deck栏,唯一的方法就是把emacs-mac取消全屏再开启全屏 (command-ctrl-f command-ctrl-f)但是emacs-plus确实没这个bug。
装emacs-plus的话,有没有xwidget和dynamic-module啊?
肯定有,emacs-plus 支持的最全。dynamic-module 是 27.1 以上就默认包含。
brew install emacs-plus --with-xwidgets
看来问题出在了根源了……那就nuclear option吧。。。delete and reinstall
emacs-plus 一直报错: Warning (comp): ld: warning: -undefined dynamic_lookup may not work with chained fixups Disable showing Disable logging 这……可有办法解决?
首先这个是warning不是报错。这个是emacs在native 编译 elisp代码过程中产生的警告,它会一直产生警告。你用的包都native compile完了就不会有这个警告了,或者你直接把showing disable掉就行了,就直接双击那个 disable showing即可。
人家明确要求要用xwidget,这个官方版能用xwidget吗?而且我记得官方版好像不自带动态模块?
这个不影响的,是28的新特性native-compilation,这是第一次在编译eln
第一次启动可以先执行 emacs -q
试试
Emacs 在 macOS 好像没有官方版,楼上提的这个也是第三方提供的,它默认不支持xwidget,至于动态模块,只要Emacs 27 以上的版本就都支持了。
谢各位的建议和指导…装emacs-plus解决了原题中1,2,3所有的问题