2012-09-24 28 views
15

Chcę, aby móc użyć skrótu klawiszowego, aby edytować plik moi .emacs zamiast wpisywać CTRL-XCtrl-F .emacs Wprowadź za każdym razem (oto an analogous question w odniesieniu do Vima). Prawdopodobnie jest to oczywisty sposób, ale nie mogę znaleźć polecenia Emacs Lisp, aby otworzyć plik. Myślę, że byłoby to coś zaczynającego się od "otwartego" lub "pliku", ale wpisując M-x i te warunki nie wydają się wywoływać niczego istotnego. Próbowałem wykonać próbę:Skrót, aby otworzyć określony plik w Emacs

ale to nie działa.

+2

Oleg dostarczył rozwiązanie. Zauważcie, że to, co próbowaliście *, to odebranie wartości * zwróconej * przez funkcję 'find-file' (zwróci obiekt bufora) po wywołaniu z argumentem' "~/.emacs" ', a następnie przypisanie tej wartości obiekt bufora jako funkcja wywoływania podczas wpisywania ''. – phils

Odpowiedz

33

Zgodnie z dokumentacją

(global-set-key klawisz Command)

Daj klucz globalny wiązania jako polecenie. COMMAND jest poleceniem, którego należy użyć; zazwyczaj jest to symbol nazwany interaktywnie funkcją wywołania.

Więc trzeba używać interaktywnie-wpłacone funkcję:

(global-set-key (kbd "<f6>") (lambda() (interactive)(find-file "~/.emacs"))) 

Osobiście wolę używać emacs registers do przechowywania plików, które używam często. bym Store '' ~/.emacs w rejestrze:

(set-register ?e (cons 'file "~/.emacs")) 

i otwórz go C-x r j e

+5

Dla ~/.emacs (lub w moim przypadku ~/.emacs.d/init.el), możesz użyć zmiennej user-init-file, która jest zawsze tym, co plik konfiguracyjny użytkownika został załadowany. (find-file (lub user-init-file "")) – jpkotta

+3

Wielkie dzięki Oleg. Rejestry są świetne! Możesz nawet używać wielkich i małych liter, jak w: '(set-register? X (cons 'file" ~/.xinitrc "))' i '(set-register? X (cons' file" ~/.Xresources "))'. –

1

Bookmarking jest doskonałym rozwiązaniem dla tego celu, który jest zapakowany z emacs. W ten sposób, jeśli widzisz listę plików, które chcesz otworzyć, możesz łatwo je przeglądać. Istnieje również BookmarkPlus, który oferuje wiele opcji.

M-x list-bookmarks

Powiązane problemy