首页 / 知识

关于自定义:更改Emacs中的默认文件夹

2023-04-15 05:09:00

关于自定义:更改Emacs中的默认文件夹

Changing the default folder in Emacs

我对Emacs相当陌生,我一直在尝试找出如何在启动时更改C-x C-f的默认文件夹。 例如,当我第一次加载Emacs并单击C-x C-f时,其默认文件夹为C:\\emacs\\emacs-21.3\\bin,但是我宁愿它是桌面。 我相信可以通过某种方式来自定义.emacs文件来执行此操作,但是我仍然不确定那是什么。

更新:有3种解决方案可以解决该问题,但是我认为解决方案3仅适用于Windows。

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

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

  • 解决方案3:右键单击Emacs快捷方式,单击属性,然后将start in字段更改为所需目录。


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

用c-x c-f看到的目录是cwd,用Emacs来讲,是default-directory(变量)。

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

如果从命令行使用Emacs,则default-directory作为启动Emacs的目录(即cwd)启动。

这种方法比编辑.emacs文件更好,因为它可以让您拥有多个具有多个起始目录的快捷方式,并且可以根据需要使用Emacs的常规命令行行为。

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


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

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

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


您可以键入" cd" emacs命令。 (M-x cd)将默认文件夹更改为一个。


我放了

1
(cd"c:/cvsroot/")

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


默认文件夹实际上与缓冲区的当前工作文件夹相同,即,您使用的每个文件都可以不同。假设您正在使用的文件位于C:\\dir_a中,则该缓冲区的工作目录默认为C:\\dir_a。您可以使用M-x cd进行更改,然后键入您想用作默认目录的任何目录(默认情况下,我指的是在执行C-x C-f时将显示的目录)。

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

最后,您可以按照Vadim的建议进行操作

1
(cd"c:/dir_a/")

.emacs文件中,无论您如何启动emacs,都将该目录设置为默认目录。


我在Windows XP下使用emacs 22.2.1,上面的回答已帮助我在想要对命令C-x C-f的微型缓冲区中获得响应。最初我正在
"查找文件:C:\ Program Files \ emacs \ bin /",例如Anton。
我将HOME设置为" C:\ Documents and settings \ USER NAME \ My Documents"。
我要在迷你缓冲区中对C-x C-f的响应是"查找文件:?/"。
通过向我的.emacs文件添加(setq默认目录" C:/ Documents and Settings / USER NAME / My Documents"),我得到了以下响应:"查找文件:C:\ Documents and settings \ USER NAME \ My Documents /",其功能与"查找文件:?/"相同。
但是,我注意到了另一点。"选项"下的"自定义Emacs"使我无法启动屏幕。现在,当我打开emacs时,我立即进入暂存缓冲区。当我在暂存缓冲区中键入C-x C-f时,会得到我想要的确切响应。


当您在Windows上时,可以使用快捷方式进行操作。

创建C:\\emacs\\emacs-21.3\\bin\
unemacs.exe
的快捷方式。编辑快捷方式的属性,并将Start In:的值更改为您希望默认目录为的任何值。


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

;;适用于Windows XP。
(setq默认目录(目录" C:\ Documents and Settings \ MY_ACCOUNT \ DESKTOP"))


我在我的快捷方式(在Gnome中,Linux)中添加了一个pramater,它是一个空白的虚拟文件名,并指定了目录。由于我的emacs默认为" home",所以我只说:

/桌面/空白文件

然后打开一个名为" blank_file"的文件

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

如果我碰巧将东西放在" blank_file"中,那么将其保存,当然,我已经保存了这些东西。视情况而定,这可能是一件烦人的事,也可能是一件好事!


由于最烦人的事情是让Windows Emacs在您仅使用快捷方式时将您转入system32,但又希望其他所有情况都起作用,因此请使用一些省略号...

(当(字符串<" C:\ WINDOWS \ system32"默认目录)(setq默认目录"?/")时)

因此,当您进入系统时,它将仅默认为您的主目录。唯一的缺点是,如果您真的想在system32中启动emacs ...


在Windows 8中,可以在桌面中创建快捷方式并更改快捷方式的属性"开始于:"。

现在,我按照建议运行了程序emacs-23.3 \ bin \ addpm.exe,在Windows-8屏幕(Microsoft的那项令人发指的发明)中,它出现了一个指向Emacs的图标链接。但是,您必须在此处再次更改属性"开始于"。 (与台式机不同)。
只需右键单击,在底部栏中选择"打开文件位置"(或类似的操作,我用我的语言完成了此操作),然后使用新的快捷方式将您转到该文件夹??,在其中您还可以(必须)更改属性"开始于:"。

有点涉及,但实际上很容易。


默认自定义加载单击

最新内容

相关内容

猜你喜欢