gpt4 book ai didi

emacs - 在 GNU emacs 中如何比较 cd、cd-absolute 和 default-directory?

转载 作者:行者123 更新时间:2023-12-02 03:42:03 24 4
gpt4 key购买 nike

在自定义 Emacs 时,我应该如何考虑 elisp 函数 cdcd-absolute 以及 elisp 变量 default-directory?我的经验让我相信 cd-absolute 会更改 emacs 进程本身的目录(跨缓冲区的全局设置,其中 default-directory 未在本地设置),而cddefault-directory 是缓冲区本地的。不过,内置帮助不足以让我对自己的理解感到满意,而且我看到的行为让我怀疑 cd-absolute 正在覆盖 default-directory 在我正在访问的缓冲区中。

结束编辑

如果我在这里没有收到任何答复,我将不得不自己研究 help-gnu-emacs列表,只有作为最后的手段,我才不得不阅读源代码。

最佳答案

我认为您误解了 default-directory 的工作原理。在 .emacs 中设置 default-directory 对大多数缓冲区没有影响。正在访问文件的缓冲区的 default-directory 的本地值自动设置为存储所访问文件的目录。这将覆盖 default-directory 的任何先前设置的值。

如果您通过cd(或cd-absolute)更改缓冲区的当前目录,这将仅设置default-directory那个缓冲区。如果您随后打开一个新文件,新缓冲区的 default-directory 将设置为新文件的目录。

如果您打开一个不访问文件的新缓冲区,则此新缓冲区的 default-directory 值将与前一个缓冲区的值相同。这是 cd 的结果将应用于缓冲区而不是调用它的缓冲区的唯一情况。

cd-absolute 不适合交互使用。据我所知,它是一个方便的函数,与 cd 的区别仅在于路径被视为绝对,而不是相对 , 路径。

鉴于这一切,你想做什么?

关于emacs - 在 GNU emacs 中如何比较 cd、cd-absolute 和 default-directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19454945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com