我知道我必须添加以下内容:
壳
:到我的.emacs文件。但是,我怎样才能让它执行shell命令,如:
cd / mydirectory
:和其他shell操作
答案 0 :(得分:4)
这是一个能够满足您需求的功能。您可以添加它(自定义操作),或只添加正文:
(defun shell-and-stuff ()
"run a shell, then do some extra stuff"
(interactive)
(let ((shell-buf (get-buffer-create "*shell*")))
(shell shell-buf)
(comint-send-string
(get-buffer-process shell-buf)
"cd some-directory
ls
touch frog
")))
(shell-and-stuff)
答案 1 :(得分:1)
cd
部分很简单,只需let
绑定变量default-directory
。有关可能的解决方案,请参阅this question。
答案 2 :(得分:1)
Trey Jackson的想法很好看。另请注意,手册(info "(emacs) Interactive Shell")
说
Emacs向新shell发送文件内容
~/.emacs_SHELLNAME
作为输入,如果存在,则SHELLNAME为 从中加载shell的文件的名称。例如,如果你 使用bash,发送给它的文件是~/.emacs_bash
。如果没有这个文件 发现,Emacs试图回到~/.emacs.d/init_SHELLNAME.sh
。
所以你可以将命令放在那个文件中。