Zmiana domyślnego folderu w Emacsie


107

Jestem całkiem nowy w Emacsie i próbowałem wymyślić, jak zmienić domyślny folder dla C-x C-fpodczas uruchamiania. Na przykład, kiedy po raz pierwszy ładuję Emacsa i klikam, C-x C-fjego domyślny folder to C:\emacs\emacs-21.3\bin, ale wolałbym, aby był to pulpit. Wydaje mi się, że istnieje sposób na dostosowanie .emacspliku, aby to zrobić, ale nadal nie jestem pewien, co to jest.

Aktualizacja: Istnieją trzy rozwiązania problemu, który moim zdaniem działa, jednak uważam, że rozwiązaniem 3 jest tylko system Windows.

  • Rozwiązanie 1: Dodaj (cd "C:/Users/Name/Desktop")do .emacspliku

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

  • Rozwiązanie 3: Kliknij prawym przyciskiem myszy skrót do Emacsa, kliknij właściwości i zmień pole początkowe na żądany katalog.

Odpowiedzi:


84

Nie powiedziałeś tego, ale wygląda na to, że uruchamiasz Emacsa ze skrótu Windows.

Katalog, który widzisz z cx cf to cwd, w terminologii Emacsa, default-directory(a zmienna).

Kiedy uruchamiasz Emacsa za pomocą skrótu MS Windows, default-directoryjest to początkowo folder (katalog) określony w polu „Rozpocznij w” we właściwościach skrótu. Kliknij skrót prawym przyciskiem myszy, wybierz Propertiesi wpisz w polu ścieżkę do pulpitu Start In.

Jeśli używasz Emacsa z wiersza poleceń, default-directoryzaczyna się od katalogu, w którym uruchomiłeś Emacsa (cwd).

Takie podejście jest lepsze niż edytowanie pliku .emacs, ponieważ pozwoli ci mieć więcej niż jeden skrót z więcej niż jednym katalogiem początkowym, a także pozwoli ci na normalne zachowanie wiersza poleceń Emacsa, jeśli tego potrzebujesz.

CWD = bieżący katalog roboczy = PWD = obecny katalog roboczy . Ma to o wiele większy sens w linii poleceń niż w GUI.


Tak, używam emacsa w systemie Windows.
Anton

5
Działa to również na MacOS. Dodałem to do mojego .emacs: (setq default-directory (concat (getenv "HOME") "/"))
vy32

A jeśli chcesz, aby Emacs zaczynał w Dired tego katalogu, to oprócz umieszczenia go w Start Inpolu, dodaj go na końcu Targetpola, po jednej lub więcej spacji, umieszczając go w cudzysłowie ( "). Np "d:\path\to\the\folder". : .
Drew

49

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

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

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



24

Położyłem

(cd "c:/cvsroot/")

w moim .emacs i spełniło swoje zadanie


6

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

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

Wreszcie możesz zrobić to, co sugeruje Vadim i umieścić

(cd "c:/dir_a/")

w .emacspliku, aby uczynić ten katalog domyślnym, bez względu na to, jak uruchomisz emacsa.


4

Ponieważ jesteś w systemie 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ść tak, Start In:aby była taka, jak chcesz, aby był to katalog domyślny.


4

Używam emacs 22.2.1 pod Windows XP i powyższe odpowiedzi pomogły mi uzyskać odpowiedź w minibuforze, który chcę, na polecenie Cx Cf. Początkowo otrzymywałem „Znajdź plik: C: \ Program Files \ emacs \ bin /” jak Anton. HOME jest ustawione na „C: \ Documents and settings \ NAZWA UŻYTKOWNIKA \ Moje dokumenty”. Odpowiedzią na Cx Cf chcę w minibuforze jest „Znajdź plik: ~ /”. Dodając (setq default-directory "C: / Documents and Settings / NAZWA UŻYTKOWNIKA / Moje dokumenty") do mojego pliku .emacs udało mi się uzyskać odpowiedź "Znajdź plik: C: \ Documents and settings \ NAZWA UŻYTKOWNIKA \ Moje dokumenty / ”, który działa tak samo jak„ Znajdź plik: ~ / ”. Jednak zauważyłem jeszcze jedną kwestię. „Dostosuj Emacsa” w „Opcjach” pozwoliło mi zablokować ekran startowy. Teraz, kiedy otwieram emacsa, natychmiast przechodzę do bufora scratch. Kiedy wpisuję Cx Cf w buforze magazynowania, otrzymuję dokładną odpowiedź, której chcę.


+1 za wzmiankę o wstrzymaniu ekranu startowego. Okazało się, że jest to kluczowe w moim systemie Windows 10. Opublikowałem swoją odpowiedź na powiązane pytanie stackoverflow.com/a/38435697/823636
Rob_before_edits

1

Dodałem do mojego skrótu (w Gnome, Linux) wózek dziecięcy, który jest pustą fikcyjną nazwą pliku i określam katalog. Ponieważ mój emacs jest domyślnie ustawiony na „dom”, po prostu mówię:

/ Desktop / blank_file

i to otwiera plik o nazwie „blank_file”

Spowoduje to również przeniesienie na pulpit bieżącego katalogu roboczego tej sesji emacsa.

Jeśli zdarzy się, że wrzucę coś do "blank_file", to zapiszę to, oczywiście, mam te rzeczy zapisane. Co może być uciążliwe lub dobre, w zależności od!


1

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

;; Działa to w systemie Windows XP.
(setq default-directory (concat „C: \ Documents and Settings \ MY_ACCOUNT \ DESKTOP \”))


0

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

Teraz uruchomiłem program emacs-23.3 \ bin \ addpm.exe zgodnie z zaleceniami, a na ekranie Windows-8 (ten przerażający wynalazek Microsoftu) pojawił się ikona-link do Emacsa. Ale tam musisz ponownie zmienić właściwość „Rozpocznij w”. (Różni się od tego na pulpicie). Po prostu kliknij prawym przyciskiem myszy, wybierz w dolnym pasku `` Otwórz lokalizację pliku '' (lub podobnie, zrobiłem to w moim języku), a zostaniesz przeniesiony do folderu z nowym skrótem, w którym możesz (musisz) również zmienić właściwość „Rozpocznij w:”.

Trochę zawiłe, ale w rzeczywistości bardzo łatwe.


0

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

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

Więc będzie to domyślny katalog domowy tylko wtedy, gdy znajdziesz się w systemie. Jedyną wadą jest to, że naprawdę chcesz uruchomić emacsa w system32 ...

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.