Zmiana domyślnego folderu w Emacsie

Jestem całkiem nowy w Emacsie i próbowałem dowiedzieć się, jak zmienić domyślny folder dla C-x C-f przy starcie. Na przykład, gdy po raz pierwszy załadowałem Emacsa i Uderzyłem C-x C-f jego domyślnym folderem jest C:\emacs\emacs-21.3\bin, ale wolałbym, żeby był to pulpit. Wierzę, że istnieje jakiś sposób, aby dostosować plik .emacs, aby to zrobić, ale nadal nie jestem pewien, co to jest.

Aktualizacja: istnieją trzy rozwiązania problemu, które znalazłem działać, jednak uważam, że rozwiązanie 3 Jest Windows tylko.

  • Rozwiązanie 1: dodaj (cd "C:/Users/Name/Desktop") do pliku .emacs

  • Rozwiązanie 2: Dodaj (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/") do pliku .emacs

  • Rozwiązanie 3: Kliknij prawym przyciskiem myszy skrót Emacs, kliknij Właściwości i zmień pole startowe na żądany katalog.

Author: itsjeyd, 2008-09-13

13 answers

Nie powiedziałeś tak, ale brzmi to tak, jakbyś uruchamiał Emacsa ze skrótu Windows.

Katalog, który widzisz z c-x c-f jest cwd, w Emacsie, default-directory (zmienna).

Kiedy uruchamiasz Emacsa używając skrótu MS Windows, default-directory jest początkowo folderem (katalogiem) określonym w polu "Start In" we właściwościach skrótu. Kliknij prawym przyciskiem myszy skrót, Wybierz Properties i wpisz ścieżkę do pulpitu w polu Start In.

Jeśli używasz Emacsa z linia komend default-directory rozpoczyna się jako katalog, w którym uruchomiłeś Emacsa (cwd).

To podejście jest lepsze niż edytowanie twojego .plik emacs, ponieważ pozwoli Ci mieć więcej niż jedno skróty z więcej niż jednym katalogiem startowym, i pozwala Ci mieć normalne zachowanie linii poleceń Emacsa, jeśli tego potrzebujesz.

CWD = aktualny katalog roboczy = PWD = obecny katalog roboczy . To ma o wiele większy sens w wierszu poleceń niż w GUI.

 73
Author: Bart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-22 00:59:36

Myślę, że wiersz, który musisz dodać do swojego .emacs is is

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

Emacs uruchomi się na Twoim pulpicie w ten sposób, chyba że masz otwarty plik. Zwykle zaczyna się w tym samym katalogu, co plik w bieżącym buforze, w przeciwnym razie.

 43
Author: Michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-15 18:25:14

Możesz wpisać polecenie ' cd ' emacs. (M-x cd ) aby zmienić domyślny folder jako jednorazowy.

 25
Author: Chris Huang-Leaver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-20 06:09:00

I ' ve put

(cd "c:/cvsroot/")
W moim .emacs i zrobił robotę
 23
Author: vava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-13 11:19:45

Domyślny folder jest w rzeczywistości taki sam jak bieżący folder roboczy bufora, tzn. może być inny dla każdego pliku, z którym pracujesz. Załóżmy, że plik, z którym pracujesz znajduje się w C:\dir_a, wtedy katalog roboczy dla tego bufora będzie domyślnie C:\dir_a. Możesz to zmienić za pomocą M-x cd i wpisać dowolny katalog, który chcesz ustawić jako domyślny (i domyślnie mam na myśli ten, który pojawi się po wykonaniu C-x C-f).

Jeśli uruchomisz Emacsa bez otwierania plik, zostanie otwarty bufor *scratch*. Jeśli uruchomiłeś Emacsa ze skrótu Windows, katalog roboczy będzie taki sam jak podany we właściwościach skrótu. Jeśli uruchomiłeś go z linii poleceń, będzie to katalog, z którego go uruchomiłeś. Nadal możesz zmienić ten domyślny katalog za pomocą M-x cd, również z bufora *scratch*.

W końcu możesz zrobić to, co sugeruje Vadim i umieścić

(cd "c:/dir_a/")

W pliku .emacs, aby ten katalog był domyślnie nie ważne jak odpalisz Emacsa.

 6
Author: ehdr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-13 13:21:11

Jak jesteś na Windows możesz to zrobić za pomocą skrótu.

Utwórz skrót do C:\emacs\emacs-21.3\bin\runemacs.exe. Edytuj właściwości skrótu i zmień wartość Start In: na taką, jaką chcesz, aby Twój domyślny katalog był.

 4
Author: Dave Webb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-13 11:23:53

Używam Emacsa 22.2.1 pod Windows XP i pomogły mi powyższe odpowiedzi, aby uzyskać odpowiedź w minibufferze chcę do polecenia C-x C-f. początkowo otrzymywałem "Znajdź plik: C:\Program Files\emacs \ bin /" jak Anton. I have HOME set to "C:\Documents and settings\nazwa użytkownika\Moje dokumenty". Odpowiedź na C-x C-f, którą chcę w minibufferze to " Find file:~/". Przez dodanie (setq default-directory "C:/Documents and Settings / USER NAME / My Documents") do my .plik emacs, który udało mi się zdobyć odpowiedź " Znajdź plik: C:\Documents i ustawienia\nazwa użytkownika \ Moje dokumenty/", która jest funkcjonalnie taka sama jak " Znajdź plik:~/". Zauważyłem jednak jeszcze jedną kwestię. "Dostosuj Emacsa" w "Opcje" pozwoliło mi zablokować ekran startowy. Teraz, gdy otwieram Emacsa, od razu przechodzę do bufora scratch. Kiedy wpiszę C-x C-f w buforze scratch, otrzymuję dokładną odpowiedź, jakiej chcę.

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 12:25:19

load-path to nie jest zmienna, którą musisz ustawić. To mówi emacsowi, gdzie szukać podczas ładowania bibliotek elisp.

 3
Author: Michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 17:15:00
 2
Author: Codeslayer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-13 10:38:26

Dodałem do mojego skrótu (w Gnome, Linux) pramater, który jest pustą dummy nazwa pliku, i podać katalog. Ponieważ mój emacs domyślnie "home" mówię po prostu:

/ Desktop / blank_file

I otwiera plik o nazwie "blank_file"

To również przenosi bieżący katalog roboczy dla danej sesji Emacsa na pulpit.

Jeśli zdarzy mi się wrzucić coś do "blank_file" to zapisz to oczywiście mam to zapisane. Co może być irytujące lub to może być dobra rzecz, w zależności!

 1
Author: Greg Laden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-18 20:54:35

Aby zmienić domyślny katalog na DESKTOP w Dired i shell umieść to w swoim~/.emacs:

;; To działa na Windows XP.
(setq default-directory (concat "C:\Documents and Settings\MY_ACCOUNT\DESKTOP\"))

 1
Author: Adam Faryna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-21 12:38:49

W systemie Windows 8 działa, aby utworzyć skrót na pulpicie i zmienić właściwość "Start in:" dla skrótu.

Teraz uruchomiłem program emacs-23.3 \ bin \ addpm.exe zgodnie z zaleceniami, a na ekranie Windows-8 (Ten horrendalny wynalazek od Microsoftu) pojawił się link do Emacsa. Ale tam trzeba zmienić ponownie nieruchomość "Start In". (Różni się od tego na pulpicie). Wystarczy kliknąć prawym przyciskiem myszy, wybrać w dolnym pasku " Otwórz lokalizację pliku "(lub podobne, zrobiłem to w mój język), i zostaniesz przeniesiony do folderu z nowym skrótem, w którym możesz (musisz) również zmienić właściwość ' Start In:'.

Trochę zaangażowany, ale w rzeczywistości bardzo łatwy.

 0
Author: Tonibat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 23:52:06

Ponieważ najbardziej irytujące jest to, że Windows Emacs wrzuca Cię do system32, gdy tylko używasz skrótu, ale chcesz, aby każda inna sprawa zadziałała, po prostu użyj trochę elisp...

(when (string

Więc będzie domyślnie tylko w katalogu domowym, gdy skończysz w systemie. Jedyną wadą jest to, że naprawdę chcesz uruchomić Emacsa w system32...

 0
Author: Grant BlahaErath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-22 04:18:09