emacs"查找文件:"默认路径

Shi*_*dey 12 emacs settings emacs23

我在Windows上使用emacs.我想知道如何更改emacs中的默认"查找文件:"路径,即当我们按"Cx Cf"时,我希望默认文件路径指向我的Documents目录而不是"c:\ emacs - **\斌/".

Tho*_*mas 15

在访问文件的缓冲区中,访问新文件(C-x C-f)时看到的默认路径是包含当前缓冲区文件的目录.

要使用更合理的内容覆盖值"c:\ emacs - **\bin /",请default-directory在.emacs文件中设置变量:

(setq default-directory "/path/to/documents/directory/")
Run Code Online (Sandbox Code Playgroud)

请注意,路径值应以斜杠(或Windows上的反斜杠)结尾.

但是,您可能还需要考虑更改HOME环境变量的值,因为默认情况下,这是变量default-directory在启动时指向的值(除非设置为上面显示的其他值).

  • 这个答案对我(和其他人)不起作用.请参阅@loudandclear答案下的讨论. (3认同)

lou*_*ear 6

这应该做到:

(global-set-key (kbd "C-x C-f")  (lambda () (interactive)
                                     (cd "somePathHere")
                                     (call-interactively 'find-file)))
Run Code Online (Sandbox Code Playgroud)

(将 somePathHere 替换为您的文档目录的路径)

  • 这是一个明智的答案。OP 大概希望“Cx Cf”始终在某个目录中启动。设置“default-directory”将*不会*执行此操作,因为它是缓冲区本地的,并且一旦您读取或写入不同的目录就会更改。您必须向“find-file”、“dired”以及其他任何设置它的内容添加挂钩。更改每个缓冲区中的设置很难说是更改一个键绑定行为的“优雅”方式!如果您希望键绑定执行不同的操作,将其重新绑定到自定义包装器非常简单、万无一失,并且不会干扰其他任何事情。 (4认同)

Dre*_*rew 5

变量'default-directory'是"当前"目录(对于当前缓冲区).命令'cd'更改目录,访问任何文件或目录(例如使用Dired)更改了该缓冲区的'default-directory'.

您可以通过在命令行上传递该目录来在给定目录中启动Emacs.您也可以使用Windows快捷方式执行此操作.并且您可以使用快捷方式访问Dired中的该目录.

快捷方式示例:

目标: C:\ Emacs\bin\runemacs.exe"C:\ my\favorite\folder"

开始于: C:\ my\favorite \文件夹


Gia*_*ann 0

您必须将环境变量重新定义HOME为新的默认目录。