更改Emacs中的默认文件夹

Ant*_*ton 107 directory emacs customization

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

更新:我发现有三种解决方案可以解决,但我认为解决方案3只适用于Windows.

  • 解决方案1:添加(cd "C:/Users/Name/Desktop").emacs文件中

  • 解决方案2:添加(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/").emacs文件中

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

Bar*_*art 80

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

您在cx cf中看到的目录是cwd,在Emacs术语中是default-directory(变量).

使用MS Windows快捷方式启动Emacs时,default-directory最初是快捷方式属性的"开始"字段中指定的文件夹(目录).右键单击快捷方式,选择Properties,然后在Start In字段中键入桌面的路径.

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

这种方法比编辑.emacs文件更好,因为它允许您有多个具有多个起始目录的快捷方式,并且如果需要,它可以让您拥有Emacs的正常命令行行为.

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

  • 这也适用于MacOS.我把它添加到我的.emacs:`(setq default-directory(concat(getenv"HOME")"/"))` (5认同)

Mic*_*ael 48

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

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )
Run Code Online (Sandbox Code Playgroud)

除非您打开文件,否则Emacs将以这种方式在您的桌面上启动.它通常会在与当前缓冲区中的文件相同的目录中启动.


Chr*_*ver 26

您可以输入'cd'emacs命令.(Mx cd)将默认文件夹更改为一次.


vav*_*ava 24

我已经把

(cd "c:/cvsroot/")
Run Code Online (Sandbox Code Playgroud)

在我的.emacs中,它完成了这项工作


ehd*_*hdr 6

默认文件夹实际上与缓冲区的当前工作文件夹相同,即对于您使用的每个文件它可能不同.假设您正在使用的文件位于C:\dir_a,则该缓冲区的工作目录将默认为C:\dir_a.您可以更改此项M-x cd并输入您希望作为默认目录的任何目录(默认情况下,我的意思是您执行时将显示的目录C-x C-f).

如果你在没有打开文件的情况下启动emacs,最终会*scratch*打开缓冲区.如果从Windows快捷方式启动emacs,则工作目录将与快捷方式属性中指定的相同.如果从命令行启动它,它将是您启动它的目录.你仍然可以改变这个默认目录M-x cd,也从*scratch*缓冲区.

最后,你可以像Vadim建议的那样做

(cd "c:/dir_a/")
Run Code Online (Sandbox Code Playgroud)

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


Dav*_*ebb 5

当您使用 Windows 时,您可以使用快捷方式来完成此操作。

创建到 的快捷方式C:\emacs\emacs-21.3\bin\runemacs.exe。编辑快捷方式的属性并将 的值更改Start In:为您想要的默认目录。