如何更改 emacs 中的默认目录?

如何更改 emacs 中的默认目录?

当我使用

M-x gdb 

当在 emacs 中打开大量源文件时,emacs 中的默认目录通常与我要运行该文件的工作副本的目录不同。输入要调试的文件的正确完整路径总是很痛苦。我该如何解决这个问题?有没有办法将当前默认目录更改为我的项目的工作副本?

答案1

我继续编辑 .emacs 文件,使用

(setq default-directory "~/your/path") 

但是发现,每当我重新启动Emacs时,它都会默认为“原始”目录。

事实证明,问题在于我保留了默认启动屏幕(GNU emacs 23)。我认为带有教程链接等的默认欢迎屏幕将默认目录更改回欢迎屏幕文件所在的目录。我单击了“自定义启动”链接,然后关闭了欢迎屏幕。从那时起,当我打开 emacs 时,它默认为暂存缓冲区,但我使用的默认目录C-x C-f是我在文件中设置的目录.emacs

希望这对某些人有帮助,这让我发疯了!

答案2

当前工作目录始终是当前缓冲区的位置。

一种选择是进入 shell 模式,然后 cd 到首选目录,然后您打开的任何内容或从该 shell 缓冲区内运行的任何内容都将默认为该目录。

答案3

如果您处于未附加到文件的缓冲区中(例如*scratch*,gnus 的缓冲区...),则可以使用M-x cd更改当前目录。只需打开目录即可。

在 gdb 中,您也可以直接输入cd /where/i/want/to/go

答案4

通常,当前工作目录始终是当前缓冲区的位置。并且 gdb 会自动使用这个目录。

但是我确实有过苦恼的经历,当使用Mx gdb时,它总是进入~目录,并抱怨找不到目标文件。

最后我发现这是由于缓冲区被意外更改造成的,并且可能被备份了。当我杀死这个缓冲区并重新打开它时,我意识到了这一点。杀死并重新打开缓冲区后,Mx gdb 又可以正常工作了。

根据我的经验,当发生这种情况时,退出 emacs 并重新启动它无法解决这个问题。只需尝试关闭缓冲区并重新打开文件即可。

相关内容