Domanda

Sono abbastanza nuovo in Emacs e ho cercato di capire come cambiare la cartella predefinita di Cx Cf all'avvio.Ad esempio quando carico per la prima volta Emacs e premo Cx Cf la sua cartella predefinita è C:\emacs\emacs-21.3\bin, ma preferirei che fosse il desktop.Credo che ci sia un modo per personalizzare il file .emacs file per farlo, ma non sono ancora sicuro di cosa si tratti.

Aggiornamento:Esistono tre soluzioni al problema che ho riscontrato funzionare, tuttavia credo che la soluzione 3 sia solo Windows.

  • Soluzione 1:Aggiungere (cd "C:/Users/Name/Desktop") al .emacs file

  • Soluzione 2:Aggiungere (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/") al .emacs file

  • Soluzione 3:Fare clic con il tasto destro del mouse sulla scorciatoia Emacs, premere Proprietà e modificare il campo Start in nella directory desiderata.

È stato utile?

Soluzione

Non l'hai detto, ma sembra che tu stia avviando Emacs da un collegamento di Windows.

La directory che vedi con c-x c-f è cwd, in termini di Emacs, the default-directory (una variabile).

Quando avvii Emacs utilizzando un collegamento di MS Windows, il file default-directory è inizialmente la cartella (directory) specificata nel campo "Avvia in" delle proprietà del collegamento.Fare clic con il tasto destro sul collegamento, selezionare Properties, e digita il percorso del desktop nel file Start In campo.

Se stai usando Emacs dalla riga di comando, default-directory inizia come la directory in cui hai avviato Emacs (il cwd).

Questo approccio è migliore rispetto alla modifica del file .emacs, poiché ti consentirà di avere più di una scorciatoia con più di una directory di avvio e ti consentirà di avere il normale comportamento della riga di comando di Emacs se ne hai bisogno.

CWD = directory di lavoro corrente = PWD = directory di lavoro attuale.Ha molto più senso dalla riga di comando che in una GUI.

Altri suggerimenti

Penso che la riga che devi aggiungere al tuo .emacs sia is

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

Emacs si avvierà sul desktop in questo modo, a meno che tu non abbia un file aperto.In caso contrario, di solito verrà avviato nella stessa directory del file nel buffer corrente.

Puoi digitare il comando emacs 'cd'.(M-x cd) per modificare la cartella predefinita come una tantum.

ho messo

(cd "c:/cvsroot/")

nel mio .emacs e ha fatto il suo lavoro

La cartella predefinita è in realtà la stessa cartella di lavoro corrente per il buffer, ovveropuò essere diverso per ogni file con cui lavori.Supponiamo che il file su cui stai lavorando si trovi in C:\dir_a, la directory di lavoro per quel buffer sarà per impostazione predefinita C:\dir_a.Puoi cambiarlo con M-x cd e digita invece la directory che desideri venga impostata come predefinita (e per impostazione predefinita intendo quella che verrà visualizzata quando lo fai C-x C-f).

Se avvii emacs senza aprire un file, ti ritroverai con il file *scratch* buffer aperto.Se hai avviato emacs da un collegamento di Windows, la directory di lavoro sarà la stessa specificata nelle proprietà del collegamento.Se lo hai avviato dalla riga di comando, sarà la directory da cui lo hai avviato.Puoi ancora modificare questa directory predefinita con M-x cd, anche dal *scratch* respingente.

Infine, puoi fare come suggerisce Vadim e metterlo

(cd "c:/dir_a/")

nel tuo .emacs file, per rendere quella directory quella predefinita indipendentemente da come avvii emacs.

Dato che sei su Windows puoi farlo con un collegamento.

Crea un collegamento a C:\emacs\emacs-21.3\bin\runemacs.exe.Modifica le proprietà del collegamento e cambia il valore di Start In: essere qualunque tu voglia che sia la tua directory predefinita.

Sto usando emacs 22.2.1 sotto Windows XP e sono stato aiutato dalle risposte sopra per ottenere la risposta nel minibuffer che desidero al comando C-x C-f.Inizialmente stavo ricevendo "Trova file:C:\Programmi\emacs\bin/" come Anton.Ho HOME impostato su "C:\Documents and settings OME UTENTE\Documenti".La risposta a C-x C-f che desidero nel minibuffer è "Trova file:~/".Aggiungendo (setq default-directory "C:/Documents and Settings/USER NAME/My Documents") al mio file .emacs sono riuscito a ottenere la risposta "Trova file:C:\Documents and settings OME UTENTE\Documenti/" che è funzionalmente uguale a "Trova file:~/".Tuttavia, ho notato un ulteriore punto."Personalizza Emacs" in "Opzioni" mi ha permesso di inibire la schermata di avvio.Ora quando apro emacs vado immediatamente allo scratch buffer.Quando digito C-x C-f nello scratch buffer ottengo la risposta esatta che desidero.

Ho aggiunto al mio collegamento (in Gnome, Linux) un pramater che è un nome di file fittizio vuoto e specifico la directory.Poiché il mio emacs è impostato su "home" dico semplicemente:

/Desktop/file_vuoto

e questo apre un file chiamato "blank_file"

Ciò sposta anche la directory di lavoro corrente per quella sessione emacs sul desktop.

Se mi capita di inserire qualcosa in "blank_file" e poi salvarlo, ovviamente, ho salvato quel materiale.Il che potrebbe essere un fastidio o potrebbe essere una buona cosa, a seconda!

Per cambiare la directory predefinita in DESKTOP in Dired e shell, inserisci questo nel tuo ~/.emacs:

;;Funziona con Windows XP.
(setq directory predefinita (concat "C:\Documents and Settings\MY_ACCOUNT\DESKTOP\"))

In Windows 8, funziona per creare un collegamento sul desktop e modificare la proprietà "Avvia in:" per il collegamento.

Ora, ho eseguito il programma emacs-23.3\bin\addpm.exe come raccomandato e sullo schermo di Windows-8 (quell'orrenda invenzione di Microsoft) è apparso un collegamento a icona a Emacs.Ma lì devi cambiare di nuovo la proprietà 'Start In'.(È diverso da quello sul desktop).Basta fare clic con il tasto destro, scegliere nella barra in basso 'Apri il percorso del file' (o simile, io l'ho fatto nella mia lingua), e verrai portato nella cartella con un nuovo collegamento, in cui puoi (devi) anche cambiare il proprietà 'Inizia in:'.

Un po' complicato, ma in realtà molto facile.

Dato che la cosa più fastidiosa è che Windows Emacs ti scarica nel system32 quando stai usando solo la scorciatoia, ma vuoi che ogni altro caso funzioni, usa semplicemente un po' di elisp...

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

Quindi verrà impostata automaticamente la tua directory home solo quando finirai nel sistema.L'unico inconveniente è che se vuoi davvero avviare emacs in system32...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top