2010-07-29 3 views
4

Comme expliqué dans here, mettre (setq default-directory "~/Desktop/mag") dans .emacs est censé changer le répertoire par défaut.Modifier le répertoire par défaut d'emacs avec 'emacs de cacao'

Quand je fais ça avec les emacs sur mon mac, ça ne marche pas. C-x C-f montre encore ~ ​​/ not ~/Desktop/mag.

(cd "Users/smcho/Desktop/mag") me donne aussi cette erreur - Erreur: Aucun répertoire trouvé via la variable d'environnement CDPATH

Quel est le problème avec eux?

+0

Est-il possible que vous avez besoin d'un/à l'avant du chemin dans le '(cd "/ Users/smcho/bureau/mag")'? (Pas de mac au bout de mes doigts pour vérifier). Bien que je ne pense pas que cela aura l'effet que vous voulez vraiment. –

Répondre

15

Le répertoire qui apparaît dans l'invite pour C-x C-f ('find-file') provient de la valeur de default-directory, qui est une variable locale-tampon. Lorsque vous démarrez Emacs pour la première fois, le tampon initial affiché est le tampon GNU Emacs. Le répertoire par défaut de ce tampon est défini à partir du répertoire de la ligne de commande de la variable.

, essayez ceci:

(setq command-line-default-directory "~/Desktop/mag") 
+0

Cela ne fonctionne pas. Mais Trey fait. En fait, je pensais qu'il y avait une version plus simple que ce qu'il proposait. – Matt

+0

Merci beaucoup. Cela fonctionne parfaitement dans Ubuntu 11.04. –

+0

@Jim Blandy: Votre explication était parfaite. Je me demandais pourquoi '(cd )' ne fonctionnait pas. Merci! – Avery

6

La réponse simple pour votre question est:

(setq-default default-directory "~/Desktop/mag") 

lecture de la documentation pour la variable (Ch v default-directory RET) vous verrez:

Automatically becomes buffer-local when set in any fashion. This variable is safe as a file local variable if its value satisfies the predicate `stringp'.

Ce dit, l'ouverture d'un fichier définit automatiquement le default-directory au chemin du fichier ...

Donc, si vous voulez toujours find-file pour commencer à ce répertoire, vous pouvez utiliser ceci:

(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))) 

Cette question peut être un double de Preventing automatic change of default-directory. Bien que ce soit difficile à dire.

+0

J'ai ajouté le code dans .emacs, mais C-c C-f me montre le ~/not ~/Desktop/mag. – prosseek

+0

@prosseek Vous * voulez toujours que 'C-c C-f' commence à' ~/Desktop/mag'? C'est légèrement différent, et je pense que déjà répondu. Je vais mettre à jour ma réponse. –

+0

Je suis désolé, je suis confus. C-x C-f était la clé que j'avais l'intention d'utiliser pour ouvrir "~/Desktop/mag", mais c'est OK que je trouve un moyen de l'ouvrir en utilisant C-c C-f. – prosseek

3

Outre les notes ci-dessus concernant default-directory, je devais éviter aussi les emacs écran de démarrage de démarrage afin de rendre les commandes suivantes comme dired montrent effectivement leur mémoire tampon lorsqu'il est appelé à partir .emacs au démarrage:

(setq inhibit-splash-screen t) 
Questions connexes