在emacs中运行emacs

在emacs中运行emacs,emacs,elisp,emacs24,Emacs,Elisp,Emacs24,我一直在慢慢地学习elisp和emacs的新命令,并且一直在稳步地构建我的.emacs。必须保持控制台打开以反复打开和关闭emacs实例对于测试来说似乎不是最佳选择,但是从emacs内部运行emacs-nw会抛出“标准输入不是tty”错误。有什么方法可以正确地做到这一点吗?如果没有,仍然建议使用.emacs和其他init文件重新应用设置?如上所述,您可以评估缓冲区中的设置,或通过其他方法(例如)。这通常会做出适当的更改。有时您需要切换主模式以查看更改 但是,有时从头开始更容易/更干净 考虑到这一

我一直在慢慢地学习elisp和emacs的新命令,并且一直在稳步地构建我的.emacs。必须保持控制台打开以反复打开和关闭emacs实例对于测试来说似乎不是最佳选择,但是从emacs内部运行emacs-nw会抛出“标准输入不是tty”错误。有什么方法可以正确地做到这一点吗?如果没有,仍然建议使用.emacs和其他init文件重新应用设置?

如上所述,您可以
评估
缓冲区中的设置,或通过其他方法(例如)。这通常会做出适当的更改。有时您需要切换主模式以查看更改

但是,有时从头开始更容易/更干净

考虑到这一点(从零开始),看起来您在终端模式下运行Emacs很舒服,因此给这只猫换肤的一种方法是也在终端模式下开始初始运行,然后退出并重新启动-添加以下内容:

(require 'saveplace)
(setq save-place t)
然后,当您调用Emacs并查看
.Emacs
文件时,您就在上次进行更改的位置。只需将调用更改为类似以下内容:

emacs -nw ~/.emacs
当然,您也可以使用更重的包,例如跟踪打开的文件/缓冲区

在终端模式下运行的另一个好处是不必将手从键盘上移开,如果以图形方式运行Emacs,则可能需要这样做(取决于窗口管理器设置)


当然,如果您的Emacs需要很长时间才能加载,那么可能值得查看一些针对SO问题的非EmacClient解决方案。

链接问答中的所有注意事项都适用,这意味着您如何修改和重新应用给定设置必然取决于该设置的性质。但是,如果您确实需要恢复文件缓冲区,那么链接的答案肯定仍然是一种简单的方法。