73得票15回答
如何在emacs中创建一个空文件?

如何在emacs中创建一个空文件,最好是在dired缓冲区内创建? 例如,我刚刚在dired模式下打开了一个Python模块,创建了一个新的目录,以dired模式打开该目录,现在需要在该目录中添加一个空的__init__.py文件。 如果我使用C-x C-f __init__.py RET...

69得票8回答
在Emacs Lisp中,连接多个路径组件成为一个完整路径的正确方式是什么?

假设我有变量 dir 和 file,分别包含表示目录和文件名的字符串。在emacs lisp中,将它们连接成文件的完整路径的正确方法是什么? 例如,如果 dir 是"/usr/bin",而file是"ls",那么我想要的是"/usr/bin/ls"。但如果 dir 是 "/usr/bin/"...

68得票5回答
如何调试Elisp?

通常调试的最简单方法是使用printf。我该如何调试emacs-lisp代码?如何从elisp向emacs编辑器打印一些内容?或者是否有任何方法来调试elisp代码? 例如,我该如何检查以下代码是否在.emacs文件中运行? (load "auctex.el" nil t t)

63得票4回答
Emacs Lisp 的 REPL

有哪些适用于Emacs Lisp的REPL? 只有一个在Emacs内部吗? 有没有一些可以在终端中独立于Emacs运行的REPL?

60得票7回答
Emacs Lisp,如何获取缓冲区主要模式?

我尝试过在谷歌上搜索和查看手册,但仍然找不到如何获取缓冲区对象的主模式。你能给我提供一个例子或参考吗?谢谢。 我能找到的唯一解决方案是在更改缓冲区后查询major-mode,然后再切换回原始缓冲区。有更好的方法吗?

58得票10回答
如何在Emacs Lisp动态作用域下编程?

我之前学习过Clojure并且非常喜欢这门语言。我也很喜欢Emacs,并用Emacs Lisp编写了一些简单的东西。然而,有一件事情会让我在使用Elisp时产生心理障碍,那就是动态作用域的概念。它对我来说太陌生了,感觉像是半全局变量。 因此,在变量声明方面,我不知道哪些操作是安全的,哪些是危...

57得票3回答
在elisp中连接字符串

我需要按以下方式拼接路径字符串,因此我在.emacs文件中添加了以下行:(setq org_base_path "~/smcho/time/") (setq org-default-notes-file-path (concatenate 'string org_base_...

56得票2回答
Emacs Lisp和Common Lisp之间的主要区别是什么?

我想学习Lisp语言,因为我的编辑器是Emacs,我更喜欢Emacs Lisp。 有人能给我一些关于学习Lisp、Emacs Lisp或Common Lisp的建议吗? 这两者之间的主要区别是什么?

55得票3回答
当在git中切换分支时,如何让Emacs还原所有未更改的缓冲区?

通常在git切换分支时,如果打开的文件在emacs中,即使内容相同,emacs也会询问是否要还原它们(因为它认为磁盘上的文件已经改变)。首先,我想找到一种方法,让emacs不询问,如果磁盘上的内容与缓冲区中的内容相同。其次,我想要一个命令,可以还原所有没有未保存更改的打开缓冲区,对于那些有未保...

54得票9回答
Emacs的list-buffers行为

在GNU emacs中,每次我按下Ctrl-x Ctrl-b来查看所有的buffer时,窗口会被分割以显示buffer列表,或者如果我已经将窗口分割为两个(例如,我在较低的窗口中运行shell),则buffer列表将出现在另一个窗口中。 我的期望行为是,在我的活动窗口中出现buffer列表,...