有没有办法在不重新启动Emacs的情况下对我的.emacs文件中的切换进行更改?

Viv*_*ivi 9 emacs loading dot-emacs toggle

我希望能够对我的.emacs文件进行更改,而无需重新加载Emacs.

我发现了三个问题,它们回答了我的问题(你可以在这里,这里这里找到它们),但问题是我刚刚做出的改变是切换,并作为对两个答案的评论(a1,a2)对于那些问题的解释,那里给出的解决方案(例如Mx reload-file或Mx eval-buffer)不适用于切换.

我想有一种方法可以使用命令再次切换变量,但如果有办法重新加载整个.emacs并重新评估所有切换而不必指定它们,我宁愿.

在任何情况下,如果有人告诉我如何切换变量的值,我也会感激,如果我只是改变了一个切换,我可以用命令来做,而不是为此重新启动Emacs(我是Emacs的新手) ).我不知道这些信息是多么有用,但我应用了变化如下(这是我从拿到这个回答另一个问题):

(setq skeleton-pair t)  
(setq skeleton-pair-on-word t)  
(global-set-key (kbd "[") 'skeleton-pair-insert-maybe)  
(global-set-key (kbd "(") 'skeleton-pair-insert-maybe)  
(global-set-key (kbd "{") 'skeleton-pair-insert-maybe)   
(global-set-key (kbd "<") 'skeleton-pair-insert-maybe)  
Run Code Online (Sandbox Code Playgroud)

编辑:我在.emacs中包含了上面的内容并重新加载了Emacs,以便更改生效.然后我评论了所有这些并尝试了Mx加载文件.这不起作用.下面的建议(如果我使用它来首次评估切换,但是当我想要撤消它时,PP的 Cx Ce可以工作).如果这样的事情存在的话,我想要评估评论的东西......

谢谢 :)

PP.*_*PP. 6

您可能想尝试的一些事情:

Mx load-file(然后在提示时输入~/.emacs enter).Mx表示按下元键(通常Esc在Linux和Windows桌面上),然后按普通x字符键.

或者,当您的.emacs文件处于打开状态时,请在您要执行的函数的紧密括号之后放置提示并键入Ctrl-X,Ctrl-E.这将执行包含在光标左侧最近的括号内的块.

这是我经常使用的最后一种技术,用于复杂的搜索和替换.假设我正在编辑一个XML文件,我想在之前将关闭标记移动到该行:我将键入我当前的XML缓冲区(query-replace-regexp "[ \r\n\t]*</" "</"),然后将光标放在右括号后面,然后键入Ctrl-X,Ctrl-E.


mal*_*ana 4

我将上述内容包含在 .emacs 中并重新加载 Emacs,以便更改生效。然后我将其全部注释掉并尝试了 Mx load-file。这是行不通的。

它不起作用,因为当您启动 Emacs 时,您设置了一些变量和键。重新加载.emacs这些注释掉的命令不会撤消它们。您必须手动覆盖设置才能撤消它们

(setq variable-name nil)
Run Code Online (Sandbox Code Playgroud)

Mxglobal-unset-key输入,然后输入要取消设置的键。