从命令行加载 emacs desktop-plus 会话?

Load emacs desktop-plus session from command line?

我正在尝试制作一个 bash 别名以 cd 进入项目目录,并使用通过 "M-x desktop-load " 加载的特定桌面打开 emacs(桌面加载命令来自 desktop-plus)。有没有办法从命令行指定桌面?也许是这样的:

$ cd Sites/my.site.com && emacs --desktop-load=my.site.com-desktop-name

谢谢!

最简单的解决方案是编写一个简单的 Elisp 函数来执行您想要的操作,然后使用 --eval 调用 Emacs。你传入的表达式可以任意复杂,所以你可以这样做

emd () {
   cd $HOME/Sites/"" &&
   emacs --eval "(progn (require 'desktop+) (desktop-load \"-desktop-name\"))" &
}

但也许将 Lisp 形式封装到一个简单的 .el 文件中会更好。

Shell 函数通常优于别名,并且在别名中不可能使用像这样的命令行参数。