更改Emacs中的默认文件夹

我对Emacs相当陌生,我一直在试图弄清楚如何在启动时更改Cx Cf的默认文件夹。 例如,当我第一次加载Emacs并打Cx Cf时,它的默认文件夹是C:\emacs\emacs-21.3\bin ,但我宁愿它是桌面。 我相信有一些方法来定制.emacs文件来做到这一点,但我仍然不确定是什么。

更新:有三种解决scheme,我发现工作的问题,但我相信解决scheme3只是Windows。

  • 解决scheme1:向.emacs文件添加(cd "C:/Users/Name/Desktop")

  • 解决scheme2:将(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/").emacs文件

  • 解决scheme3:右键单击Emacs快捷方式,命中属性,并将开始字段更改为所需的目录。

你没有这么说,但是这听起来像是从Windows快捷方式启动Emacs。

用cx cf看到的目录是Emacs术语中的cwd,即default-directory (一个variables)。

当您使用MS Windows快捷方式启动Emacs时, default-directory最初是在快捷方式属性的“开始”字段中指定的文件夹(目录)。 右键单击该快捷方式,select“ Properties ,然后在“ Start In字段中键入桌面的path。

如果您从命令行使用Emacs,则default-directory将以启动Emacs(cwd)的目录启动。

这种方法比编辑.emacs文件要好,因为它可以让你有多于一个的起始目录的快捷方式,如果你需要的话,它可以让Emacs具有正常的命令行行为。

CWD = 当前工作目录 = PWD = 当前工作目录 。 在命令行中比在GUI中更有意义。

我认为你需要添加到你的.emacs的行是

 (setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" ) 

Emacs将以这种方式在您的桌面上启动,除非您打开了一个文件。 否则,它通常会从当前缓冲区的文件开始。

你可以input'cd'emacs命令。 (Mx cd)将默认文件夹更改为一次性。

我已经放了

 (cd "c:/cvsroot/") 

在我的.emacs中,它做了这个工作

默认文件夹实际上与缓冲区的当前工作文件夹相同,也就是说,对于您使用的每个文件而言,它可能不同。 假设你正在使用的文件位于C:\dir_a ,那么该缓冲区的工作目录默认为C:\dir_a 。 你可以用Mx cd改变这个,然后input你想要的默认目录(默认情况下,我的意思是当你执行Cx Cf时会显示的目录)。

如果你在不打开文件的情况下启动emacs,最终将打开*scratch*缓冲区。 如果您从Windows快捷方式启动emacs,则工作目录将与快捷方式属性中指定的相同。 如果你从命令行启动它,它将是你启动它的目录。 您仍然可以使用Mx cd ,也可以从*scratch*缓冲区更改此默认目录。

最后,你可以按照Vadim的build议去做

 (cd "c:/dir_a/") 

.emacs文件中,无论您如何启动emacs,都要使该目录成为默认目录。

正如你在Windows上,你可以用一个快捷方式来做到这一点。

创build一个C:\emacs\emacs-21.3\bin\runemacs.exe的快捷方式。 编辑快捷方式的属性,并将“ Start In:的值更改为无论您希望使用哪个默认目录。

我在Windows XP下使用emacs 22.2.1,并得到了上述答案的帮助,以获得在minibuffer我想命令Cx Cf响应。 最初我得到“find文件:C:\ Program Files \ emacs \ bin /”像安东。 我有HOME设置为“C:\文件和设置\用户名\我的文档”。 我想要在微型缓冲区中对Cx Cf的响应是“查找文件:〜/”。 通过在我的.emacs文件中添加(setq default-directory“C:/ Documents and Settings / USER NAME / My Documents”),我能够得到响应“Find file:C:\ Documents and settings \ USER NAME \ My Documents /“,其function与”查找文件:〜/“相同。 但是,我注意到了一点。 “选项”下的“自定义Emacs”允许我禁止启动屏幕。 现在,当我打开emacs时,我立即转到临时缓冲区。 当我在scratch buffer中键入Cx Cf时,我得到了我想要的确切响应。

load-path不是你需要设置的variables。 这就告诉了emacs在加载elisp库时要看的地方。

这是否符合您的目的?

http://infolab.stanford.edu/~manku/emacs.html

我已经添加到我的快捷方式(在Gnome,Linux中),这是一个空白的虚拟文件名称,我指定了目录。 由于我的emacs默认为“家”,我只是说:

/桌面/ blank_file

并打开一个名为“blank_file”的文件

这也将该emacs会话的当前工作目录移动到桌面。

如果我碰巧把东西放在“blank_file”中,那么保存它,当然,我已经保存了这些东西。 这可能是一个烦恼,也可能是一件好事,取决于!

要在Dired和shell中将默认目录更改为DESKTOP,请将其放置在〜/ .emacs中:

;;这适用于Windows XP。
(setq default-directory(concat“C:\ Documents and Settings \ MY_ACCOUNT \ DESKTOP \”))

在Windows 8中,它可以在桌面中创build一个快捷方式,并为快捷方式更改属性“开始:”。

现在,我按照推荐的方式运行了emacs-23.3 \ bin \ addpm.exe程序,而Windows-8屏幕(来自Microsoft的可怕发明)显示为Emacs的图标链接。 但是,您必须再次更改“开始”属性。 (这与桌面上的不一样)。 只需右键单击,在底部栏中select“打开文件位置”(或类似的,我用我的语言),然后您将被带到一个新的快捷方式的文件夹中,您可以(必须)物业'开始:'。

有一点涉及,但其实很简单。

由于最烦人的事情是有Windows Emacs转储到system32当你只是使用快捷方式,但要其他情况下工作,只需使用一点elisp …

(当(string <“C:\ WINDOWS \ system32”默认目录)(setq default-directory“〜/”))

所以当你进入系统时,它只会默认到你的主目录。 唯一的缺点是,如果你真的想在system32中启动emacs …