Changer le dossier par défaut dans Emacs

107

Je suis assez nouveau sur Emacs et j'ai essayé de comprendre comment changer le dossier par défaut pour C-x C-fle démarrage. Par exemple, lorsque je charge Emacs pour la première fois et que je clique sur C-x C-fson dossier par défaut C:\emacs\emacs-21.3\bin, je préfère que ce soit le bureau. Je pense qu'il existe un moyen de personnaliser le .emacsfichier pour ce faire, mais je ne suis toujours pas sûr de ce que c'est.

Mise à jour: Il existe trois solutions au problème que j'ai trouvé pour fonctionner, mais je pense que la solution 3 est uniquement Windows.

  • Solution 1: ajouter (cd "C:/Users/Name/Desktop")au .emacsfichier

  • Solution 2: ajouter (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")au .emacsfichier

  • Solution 3: cliquez avec le bouton droit sur le raccourci Emacs, cliquez sur Propriétés et modifiez le champ de début dans le répertoire souhaité.

Anton
la source

Réponses:

84

Vous ne l'avez pas dit, mais il semble que vous démarriez Emacs à partir d'un raccourci Windows.

Le répertoire que vous voyez avec cx cf est le cwd, en termes Emacs, la default-directory(une variable).

Lorsque vous démarrez Emacs à l'aide d'un raccourci MS Windows, il default-directorys'agit initialement du dossier (répertoire) spécifié dans le champ "Démarrer dans" des propriétés du raccourci. Cliquez avec le bouton droit sur le raccourci, sélectionnez Propertieset saisissez le chemin d'accès à votre bureau dans le Start Inchamp.

Si vous utilisez Emacs depuis la ligne de commande, default-directorycommence par le répertoire dans lequel vous avez démarré Emacs (le cwd).

Cette approche est meilleure que d'éditer votre fichier .emacs, car elle vous permettra d'avoir plus d'un raccourci avec plus d'un répertoire de départ, et elle vous permet d'avoir le comportement de ligne de commande normal d'Emacs si vous en avez besoin.

CWD = répertoire de travail actuel = PWD = répertoire de travail actuel . Cela a beaucoup plus de sens en ligne de commande que dans une interface graphique.

Bart
la source
Oui, j'utilise emacs sur Windows.
Anton
5
Cela fonctionne également sur MacOS. J'ai ajouté ceci à mes .emacs: (setq default-directory (concat (getenv "HOME") "/"))
vy32
Et si vous voulez qu'Emacs commence dans Dired de ce répertoire alors, en plus de le mettre dans le Start Inchamp, ajoutez-le à la fin du Targetchamp, après un ou plusieurs espaces, en le mettant entre guillemets ( "). Par exemple: "d:\path\to\the\folder".
Drew le
49

Je pense que la ligne que vous devez ajouter à votre .emacs est

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

Emacs démarrera de cette façon sur votre bureau, sauf si vous avez un fichier ouvert. Sinon, il démarrera généralement dans le même répertoire que le fichier de votre tampon actuel.

Michael
la source
26

Vous pouvez taper la commande emacs 'cd'. (Mx cd) pour changer le dossier par défaut en tant que dossier unique.

Chris Huang-Leaver
la source
24

J'ai mis

(cd "c:/cvsroot/")

dans mon .emacs et cela a fait le travail

vava
la source
6

Le dossier par défaut est en fait le même que le dossier de travail actuel du tampon, c'est-à-dire qu'il peut être différent pour chaque fichier avec lequel vous travaillez. Supposons que le fichier sur lequel vous travaillez se trouve C:\dir_a, le répertoire de travail de ce tampon sera par défaut C:\dir_a. Vous pouvez modifier cela avec M-x cdet taper le répertoire que vous souhaitez utiliser par défaut (et par défaut, je veux dire celui qui apparaîtra lorsque vous le ferez C-x C-f).

Si vous démarrez emacs sans ouvrir de fichier, vous vous retrouverez avec le *scratch*tampon ouvert. Si vous avez démarré emacs à partir d'un raccourci Windows, le répertoire de travail sera le même que celui spécifié dans les propriétés du raccourci. Si vous l'avez démarré à partir de la ligne de commande, ce sera le répertoire à partir duquel vous l'avez démarré. Vous pouvez toujours modifier ce répertoire par défaut avec M-x cd, également à partir du *scratch*tampon.

Enfin, vous pouvez faire comme Vadim le suggère et mettre

(cd "c:/dir_a/")

dans votre .emacsfichier, pour faire de ce répertoire le répertoire par défaut, peu importe comment vous démarrez emacs.

ehdr
la source
4

Comme vous êtes sous Windows, vous pouvez le faire avec un raccourci.

Créez un raccourci vers C:\emacs\emacs-21.3\bin\runemacs.exe. Modifiez les propriétés du raccourci et modifiez la valeur de Start In:pour qu'elle soit celle que vous souhaitez que votre répertoire par défaut soit.

Dave Webb
la source
4

J'utilise emacs 22.2.1 sous Windows XP et j'ai été aidé par les réponses ci-dessus pour obtenir la réponse dans le mini-tampon que je veux à la commande Cx Cf. Au départ, j'obtenais "Find file: C: \ Program Files \ emacs \ bin /" comme Anton. J'ai réglé HOME sur "C: \ Documents and settings \ USER NAME \ My Documents". La réponse à Cx Cf que je veux dans le mini-tampon est "Find file: ~ /". En ajoutant (setq default-directory "C: / Documents and Settings / USER NAME / My Documents") à mon fichier .emacs, j'ai pu obtenir la réponse "Find file: C: \ Documents and settings \ USER NAME \ My Documents / "qui est fonctionnellement identique à" Find file: ~ / ". Cependant, j'ai remarqué un autre point. "Personnaliser Emacs" sous "Options" m'a permis d'inhiber l'écran de démarrage. Maintenant, quand j'ouvre emacs, je vais immédiatement au tampon de travail. Lorsque je tape Cx Cf dans le tampon de travail, j'obtiens la réponse exacte que je veux.


la source
+1 pour mentionner l'inhibition de l'écran de démarrage. J'ai trouvé que c'était la clé de mon système Windows 10. J'ai publié ma réponse sur la question connexe stackoverflow.com/a/38435697/823636
Rob_before_edits
1

J'ai ajouté à mon raccourci (dans Gnome, Linux) un pramater qui est un nom de fichier factice vide, et je spécifie le répertoire. Puisque mon emacs est par défaut "home", je dis simplement:

/ Bureau / blank_file

et qui ouvre un fichier appelé "blank_file"

Cela déplace également le répertoire de travail actuel de cette session emacs vers le bureau.

Si je mets des trucs dans "blank_file" alors enregistrez-les, bien sûr, je les ai sauvegardés. Ce qui pourrait être une gêne ou une bonne chose, selon!

Greg Laden
la source
1

Pour changer le répertoire par défaut en DESKTOP dans Dired et shell, placez ceci dans votre ~ / .emacs:

;; Cela fonctionne pour Windows XP.
(répertoire par défaut setq (concat "C: \ Documents and Settings \ MY_ACCOUNT \ DESKTOP \"))

Adam Faryna
la source
0

Dans Windows 8, cela fonctionne pour créer un raccourci dans le bureau et modifier la propriété «Démarrer dans:» pour le raccourci.

Maintenant, j'ai exécuté le programme emacs-23.3 \ bin \ addpm.exe comme recommandé, et l'écran Windows-8 (cette horrible invention de Microsoft) est apparu comme un lien d'icône vers Emacs. Mais là, vous devez modifier à nouveau la propriété 'Start In'. (Il est différent de celui du bureau). Faites un clic droit, choisissez dans la barre inférieure `` Ouvrir l'emplacement du fichier '' (ou similaire, je l'ai fait dans ma langue), et vous êtes redirigé vers le dossier avec un nouveau raccourci, dans lequel vous pouvez (devez) également modifier le propriété «Début dans:».

Un peu compliqué, mais en fait très facile.

Tonibat
la source
0

Puisque la chose la plus ennuyeuse est que Windows Emacs vous vide dans system32 lorsque vous utilisez simplement le raccourci, mais que vous voulez que tous les autres cas fonctionnent, utilisez simplement un peu d'élisp ...

(when (string <"C: \ WINDOWS \ system32" default-directory) (setq default-directory "~ /"))

Ainsi, il ne sera par défaut dans votre répertoire personnel que lorsque vous vous retrouverez dans le système. Le seul inconvénient est si vous voulez vraiment démarrer emacs dans system32 ...

Grant BlahaErath
la source