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

更新:我发现该问题有三种可行的解决方案,但我相信解决方案 3 仅适用于 Windows。

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

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

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

有帮助吗?

解决方案

您没有这么说,但听起来您是从 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 的正常命令行行为。

连续WD = 当前工作目录 = 残疾人士 = 当前工作目录. 。它在命令行中比在 GUI 中更有意义。

其他提示

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

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

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

您可以输入“cd”emacs 命令。( M-x cd ) 一次性更改默认文件夹。

我已经把

(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 的建议进行操作并输入

(cd "c:/dir_a/")

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

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

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

我在 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 的响应是“查找文件:〜/”。通过将 (setq default-directory "C:/Documents and Settings/USER NAME/My Documents") 添加到我的 .emacs 文件中,我能够得到响应“查找文件:C:\Documents and settings\USER NAME\My Documents/" 其功能与“查找文件:〜/”。然而,我还注意到了一点。“选项”下的“自定义 Emacs”允许我禁止启动屏幕。现在,当我打开 emacs 时,我会立即进入暂存缓冲区。当我在暂存缓冲区中键入 C-x C-f 时,我得到了我想要的确切响应。

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

/桌面/空白文件

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

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

如果我碰巧将东西放入“blank_file”然后保存它,当然,我已经保存了这些东西。这可能是一件烦恼,也可能是一件好事,具体取决于!

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

;;这适用于 Windows XP。
(setq 默认目录(连接“C:\Documents and Settings\MY_ACCOUNT\DESKTOP\”))

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

现在,我按照建议运行程序 emacs-23.3\bin\addpm.exe,Windows-8 屏幕(微软的可怕发明)出现了一个指向 Emacs 的图标链接。但你必须再次更改属性“开始于”。(与桌面上的不同)。只需右键单击,在底部栏中选择“打开文件位置”(或类似的,我用我的语言完成的),您就会被带到带有新快捷方式的文件夹,您还可以(必须)在其中更改属性“开始于:”。

有点复杂,但实际上很简单。

因为最烦人的事情是当你只使用快捷方式时 Windows Emacs 将你转储到 system32,但希望其他所有情况都能工作,只需使用一点 elisp...

(when (string< "C:\WINDOWS\system32" 默认目录) (setq 默认目录 "~/"))

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top