Jaki jest najszybszy sposób na „znalezienie” pliku w często używanym katalogu w Emacsie?


4

Uzyskuję dostęp do wielu plików z określonego katalogu, który nie jest ~, ale mówią: D: \ Mijn documenten \ My Dropbox.

Jaki jest najszybszy sposób na „znalezienie” pliku w tym katalogu w ramach nowej sesji Emacsa? Używasz zakładek?

Odpowiedzi:


0

Zwykle przełączam się na inny bufor, edytując plik w tym wspólnym katalogu, więc gdy C-x C-fznajdę nowy plik, ścieżka pokazuje już katalog, który chcę.

Działa to w przypadku nowych sesji, ponieważ desktop-save-modewłączyłem zapisywanie sesji po wyjściu z emacsa (a jedynym wyjściem jest emacs, jeśli aktualizuję emacsa lub muszę ponownie uruchomić komputer).


Czy to nie jest wiele kluczy, zwłaszcza jeśli nie po prostu używany jeden? Zmiana jest C-x b <find one> RET, prawda?
Nikana Reklawyks,


1

Możesz otworzyć dowolny katalog wybrany w dired . ( C-xd i nazwa katalogu). Można wyszukiwać nazwy pliku w dired bufora.

Jeśli chcesz po prostu zmienić bieżący katalog na / coś / else zamiast ~ , możesz zrobić Mx cd i zmienić go na żądany katalog. Następnym razem, gdy zrobisz Cx Cf, aby otworzyć plik, będziesz w innym katalogu.


1

Zobacz także Speedbar .

Pasek prędkości to kolejna ramka, która wyświetla informacje o bieżącym buforze, umożliwiając lepszą nawigację po źródłach.


0

Powiązałbym „przejście do tego katalogu” z jednym kluczem i C-x C-fstamtąd.

(defun my-favorite-directory ()
    "Open where I often go."
    (interactive)
    (find-file "/path/to/there"))
(global-set-key [f5] 'my-favorite-directory) ; Let it be a global bookmark.

Lub, jak sugerujesz, jestem pewien, że możesz użyć zakładek .


0

Dwa pakiety, które są w tym dobre oprócz tych już wspomnianych:

  • Pocisk
    • każdy folder kontrolowany przez wersję jest „projektem”
    • możesz szybko przejść do dowolnego projektu, a następnie dowolnego pliku w projekcie
    • dodaj .projectileplik, aby zidentyfikować inne foldery jako „projekty”
    • integruje się z ido, ster, bluszcz (zalecane)
  • emacs-fasd
    • cienka warstwa na górze narzędzia wiersza poleceń
    • przejdź do często używanych plików i katalogów
    • integruje się z ido, ster, bluszcz (zalecane)

Oczywiście w przypadku bardzo często używanych plików, takich jak moje pliki dot, wykonuję następujące czynności:

(defmacro radian-register-dotfile (filename &optional keybinding)
  "Tell Radian about a dotfile.

This is best demonstrated by example. If NAME is
\".emacs.d/init.el\" then `radian-register-dotfile' will create
the interactive function `radian-find-init-el'. Calling that
function will invoke `find-file' on ~/.emacs.d/init.el.

If additionally KEYBINDING is \"e i\" then
`radian-register-dotfile' will use `global-set-key' to bind
`radian-find-init-el' to (kbd \"M-RET e i\")."
  (let* ((bare-filename (replace-regexp-in-string ".*/" "" filename))
         (defun-name (make-symbol
                      (concat
                       "radian-find-"
                       (replace-regexp-in-string "[^a-z0-9]" "-" bare-filename))))
         (full-filename (concat "~/" filename))
         (docstring (format "Open %s in the current buffer."
                            full-filename))
         (defun-form `(defun ,defun-name ()
                        ,docstring
                        (interactive)
                        (find-file ,full-filename))))
    (if keybinding
        (let* ((full-keybinding (concat "M-RET " keybinding))
               (set-key-form `(global-set-key (kbd ,full-keybinding)
                                              #',defun-name)))
          `(progn
             ,defun-form
             ,set-key-form))
      defun-form)))

;; Emacs
(radian-register-dotfile ".emacs.d/init.el" "e i")
(radian-register-dotfile ".emacs.d/init.before.local.el" "e b")
(radian-register-dotfile ".emacs.d/init.local.el" "e l")

;; Git
(radian-register-dotfile ".gitconfig" "g c")
(radian-register-dotfile ".gitexclude" "g e")
(radian-register-dotfile ".gitconfig.local" "g l")

;; Et cetera

Mój init.eljest tutaj .

Słyszę, że Emacs ma również rejestry plików , które są używane w tym samym celu, co moje niestandardowe makro powyżej.


0
  1. Jeśli chodzi o to, aby preferowanym katalogiem był domyślny ( default-directory) podczas uruchamiania sesji Emacsa, po prostu uruchom Emacsa w tym katalogu . Na przykład w MS Windows umieściłbyś ten katalog w Start inpolu skrótu używanego do uruchamiania Emacsa.

    Nie musisz go używać desktop-save-mode, jeśli zawsze chcesz, aby ten katalog był obecny podczas uruchamiania Emacsa.

    I możesz pokazać Dired dla tego katalogu po uruchomieniu Emacsa: po prostu przekaż katalog jako plik do edycji w wierszu poleceń.

  2. Jeśli chcesz mieć trwały, szybki sposób na uzyskanie dostępu do określonego katalogu, ustawienie go jako domyślnego i wyświetlenie dla niego opcji Dired, po prostu utwórz zakładkę Dired. Oznacza to, że należy utworzyć zakładkę w buforze Dired. Będziesz potrzebował biblioteki Bookmark + do dodawania zakładek do buforów Dired.

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.