我是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快捷方式,点击属性并将开始字段更改为所需目录。
答案 0 :(得分:77)
你没有这么说,但听起来你是从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的正常命令行行为。 / p>
CWD = current working directory = PWD = present working directory。它在命令行比在GUI中更有意义。
答案 1 :(得分:47)
我认为您需要添加到.emacs的行是
(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )
除非您打开文件,否则Emacs将以这种方式在您的桌面上启动。它通常会在当前缓冲区中与文件相同的目录中启动。
答案 2 :(得分:26)
您可以输入'cd'egcs命令。 (M-x cd)将默认文件夹更改为一次。
答案 3 :(得分:24)
我已经把
了(cd "c:/cvsroot/")
在我的.emacs中,它完成了工作
答案 4 :(得分: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/")
在.emacs
文件中,无论您如何启动emacs,都要将该目录设为默认目录。
答案 5 :(得分:4)
当你在Windows上时,你可以使用快捷方式。
创建C:\emacs\emacs-21.3\bin\runemacs.exe
的快捷方式。编辑快捷方式的属性,并将Start In:
的值更改为您希望的默认目录。
答案 6 :(得分:4)
我在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时,我得到了我想要的确切响应。
答案 7 :(得分:1)
我已经在我的快捷方式(在Gnome,Linux中)添加了一个空白虚拟文件名的pramater,并指定了该目录。由于我的emacs默认为“home”,我只想说:
/桌面/ blank_file
然后打开一个名为“blank_file”的文件
这也将该emacs会话的当前工作目录移动到桌面。
如果我碰巧把东西放在“blank_file”中然后保存它,当然,我已经保存了那些东西。这可能是一个烦恼,或者它可能是一件好事,取决于!
答案 8 :(得分:1)
要在Dired中将默认目录更改为DESKTOP,并将shell放入〜/ .emacs:
中
;;这适用于Windows XP
(setq default-directory(concat“C:\ Documents and Settings \ MY_ACCOUNT \ DESKTOP \”))
答案 9 :(得分:0)
在Windows 8中,它可以在桌面中创建快捷方式,并更改属性“开始于:'为快捷方式。
现在,我按照推荐的方式运行程序emacs-23.3 \ bin \ addpm.exe,而Windows-8屏幕(来自Microsoft的可怕发明)它似乎是Emacs的图标链接。但是你必须再次更改房产' Start In'。 (它与桌面中的不同)。 只需右键单击,然后在底部栏中选择'打开文件位置' (或类似的,我用我的语言做过),然后你被带到一个新的快捷方式的文件夹,你可以(必须)也改变属性'开始于:'。
有点参与,但实际上很容易。
答案 10 :(得分:0)
因为最烦人的事情就是让Windows在您使用快捷方式时将Emacs转储到system32中,但是希望其他所有情况都能正常工作,只需使用一些elisp ......
(when(string<“C:\ WINDOWS \ system32”default-directory)(setq default-directory“〜/”))
因此,当您最终进入系统时,它将仅默认为您的主目录。唯一的缺点是如果你真的想在system32中启动emacs ......