更改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库时要看的地方。
我已经添加到我的快捷方式(在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 …