Jak szybko nawigować do moich zainstalowanych pakietów?

15

Gdy jestem w menedżerze pakietów ( M-x package-list-packages), chciałbym szybko przejść do zainstalowanych pakietów.

pakiety emacs

Istnieją dosłownie tysiące pakietów oznaczonych jako dostępne , zainstalowane lub wbudowane , ale cała nawigacja wydaje się być linia po linii. Czy to przeoczenie menedżera pakietów, czy przeoczyłem coś oczywistego (oczywiście poza podstawowym wyszukiwaniem ciągów znaków)?

Jeff Bauer
źródło
Istnieje Filter package list option, możesz go wywołać naciskając flub funkcję package-menu-filter.
Luke Shimkus
@KingShimkus: Używam standardowego menedżera pakietów, który jest dostarczany z emacsem 24.3.1, który nie wydaje się mieć filtru menu pakietów, ale dziękuję za wiadomość!
Jeff Bauer,
2
Jeśli stwierdzisz, że brakuje jakiejś funkcji, wygodnej lub istotnej, w systemie pakietów Emacsa lub jest ona niepoprawna, rozważ zgłoszenie jej w celu poprawy, używając M-x report-emacs-bug. (To dotyczy próśb o ulepszenia, a także błędów.)
Drew
3
Jeff Bauer: Jeśli zaktualizujesz do Emacsa 24.4, ffunkcja filtra kluczy będzie dostępna.
phils
2
fsłuży tylko do filtrowania według słowa kluczowego, a nie statusu.
dgtized

Odpowiedzi:

10

Skończyło się na tym, że wykorzystałem zdarzenie (a ściślej hełmie ), aby zawęzić wybór.

Można jednak użyć paradoksu , który rozszerza funkcjonalność podstawowego menedżera pakietów. Obejmują one S xopcje sortowania, a także pojedynczy klawisz następny i status. Ma również własne opcje filtrów: w szczególności f uzawęzi się do wszystkich pakietów, których dotyczy aktualizacja.

stsquad
źródło
3

Oto kolejna opcja, jeśli chcesz użyć completing-read(być może za idopomocą ido-everywherelub ido-ubiquitous), aby szybko otworzyć zainstalowany pakiet poza listą pakietów:

(defun open-package ()
  (interactive)
  (let* ((packages (mapcar 'symbol-name (mapcar 'car package-alist)))
         (package (completing-read "Open package: " packages nil t)))
    (find-library package)))
waymondo
źródło