正如上文这里,把(setq默认目录"〜/桌面/ MAG")中的.emacs应该更改默认目录.
当我使用我的mac上的emacs执行此操作时,它不起作用.Cx Cf仍显示〜/ not~/Desktop/mag.
(cd"Users/smcho/Desktop/mag")也给我这个错误 - 错误:没有通过CDPATH环境变量找到这样的目录
他们怎么了?
Jim*_*ndy 15
出现在Cx Cf('find-file')提示符中的目录来自default-directory的值,该目录是一个缓冲区局部变量.首次启动Emacs时,显示的初始缓冲区是GNU Emacs缓冲区.该缓冲区的default-directory是从变量command-line-default-directory设置的.
所以,试试这个:
(setq command-line-default-directory "~/Desktop/mag")
Run Code Online (Sandbox Code Playgroud)
您问题的直接答案是:
(setq-default default-directory "~/Desktop/mag")
Run Code Online (Sandbox Code Playgroud)
阅读变量(C-h v default-directory RET)的文档,您将看到:
以任何方式设置时自动变为缓冲本地.如果该变量的值满足谓词"stringp",则该变量作为文件局部变量是安全的.
也就是说,打开文件会自动设置文件default-directory的路径...
所以,如果你总是想find-file从那个目录开始,你可以使用这个:
(global-set-key (kbd "C-x C-f") 'my-find-file)
(defun my-find-file ()
"force a starting path"
(interactive)
(let ((default-directory "~/scratch/"))
(call-interactively 'find-file)))
Run Code Online (Sandbox Code Playgroud)
此问题可能与防止默认目录的自动更改重复.虽然很难分辨.
| 归档时间: |
|
| 查看次数: |
3801 次 |
| 最近记录: |