2010-04-11 3 views

Répondre

4

Ceci est une fonction qui fait ce que vous voulez. Vous pouvez l'ajouter (personnalisation des actions), ou tout simplement ajouter le corps:

(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

La partie cd est facile, il suffit let lier la default-directory variable. Voir this question pour quelques solutions possibles.

1

L'idée de Trey Jackson semble bonne. Notez également que le manuel dit (info "(emacs) Interactive Shell")

Emacs envoie le nouveau shell le contenu du fichier ~/.emacs_SHELLNAME en entrée, si elle existe, où SHELLNAME est le nom du fichier que la coquille a été chargé. Par exemple, si vous utilisez bash, le fichier qui lui est envoyé est ~/.emacs_bash. Si ce fichier n'est pas trouvé, Emacs tente de se replier sur ~/.emacs.d/init_SHELLNAME.sh.

Vous pouvez donc placer vos commandes dans ce fichier.

Questions connexes