Korzystam z kilku mniejszych trybów i zwykle wiem, który z mniejszych trybów jest włączony w każdym większym trybie. Jeśli naprawdę chcę zobaczyć pełną listę, mogę uruchomić C-h v minor-mode-list.
Jednocześnie moja linia trybu jest naprawdę zatkana, więc kiedy pionowo dzielę ramkę, czasami nie mogę odczytać końca linii trybu.
Rzeczywiste pytanie: jak wyłączyć wyświetlanie listy mniejszych trybów w linii trybu? Na przykład teraz może to wyglądać tak:
-:--- main.c All (7,12) (C/l FlyC SScr Abbrev Fill) [main] 16:19 0.45
Chcę, żeby wyglądało to bardziej zwięźle:
-:--- main.c All (7,12) (C/l) [main] 16:19
mode-line
minor-mode
Mark Karpov
źródło
źródło
Odpowiedzi:
Zrobi to tryb zmniejszania (dostępny w Melpie).
źródło
(diminish 'projectile-mode "p")
(eval-after-load "filladapt" '(diminish 'filladapt-mode))
(na przykładzie z Emacs Wiki), a nie tylko(diminish 'filladapt-mode)
tak, jak sugeruje odpowiedź. Z krótkiej wersji można korzystać tylko wtedy, gdy tryb jest już załadowany.Jak skomentował mbork, możesz użyć delight.el, aby selektywnie modyfikować lub wyłączać mniejszy (i rzeczywiście większy) tekst w trybie linii.
Jedną z zalet jest to, że dba o to
eval-after-load
(co musisz napisać ręcznie przy pomocy diminish.el w większości przypadków użycia), co czyni konfigurację czystszą. Nadal potrzebujesz tych samych informacji - nazwy trybu i biblioteki, która go implementuje (co Emacs powie ci, jeśli zapytasz go o tryb) - ale możesz to wszystko zawrzeć w jednym formularzu:(Lub skorzystaj z powyższego linku, aby uzyskać przykłady prawdziwych zastosowań).
Poleciłbym takie podejście, ponieważ nawet jeśli nie chcesz, aby większość lżejszych tekstów w trybie mniejszym, istnieje duża szansa, że niektóre z nich okażą się przydatne (i nadal możesz zmodyfikować te, aby były krótsze).
Jeśli naprawdę chcesz wyeliminować cały jaśniejszy tekst w trybie pomocniczym (i ponownie, nie polecam go), możesz zmodyfikować
mode-line-modes
zmienną. Zmienne linii trybu zmieniły się jakiś czas temu, więc możesz chcieć użyć,M-x find-variable RET mode-line-modes RET
a następnie ręcznie dostosować swoją domyślną definicję, edytując sekcję dotyczącąminor-modes-alist
.Oczywiście wtedy musisz go zachować, co nie jest tak flashowe, więc wolisz zastąpić
minor-mode-alist
symbol w ramach istniejącej wartości. Poniższe informacje są nieco specyficzne dla implementacji, ale na pewno ładniejsze niż ustawieniemode-line-modes
w całości i można je włączać i wyłączać.źródło
load-path
irequire
. Kiedyś „instalowałem” wszystkie pakiety Emacsa w ten sposób, kiedy zacząłem z niego korzystać rok temu.delight
do MELPA.delight
jest obecnie w GNU ELPA, a nie w MELPA (wspomniane na wypadek, gdyby ktoś pomylił się w poprzednich komentarzach).Używaj bogatej mniejszości z konfiguracją:
Mam też taką myśl jak ty, ale skracam linię trybu bardziej paranoiczną :
Teraz zawsze widzę powiadomienie w trybie Twitter i licznik trybu organizacji: D
źródło
Oto, co zadziałało dla mnie:
Dzięki komentarzowi Drew poprawiłem realizację tego rozwiązania. Teraz wykorzystuje zalety list asocjacyjnych i powinien być nieco bardziej wydajny ;-)
źródło
minor-mode-alist
bycie alist jest to, że wpisy mogą być dodawane i usuwane w cień i głowa do unshadow wpisy dalej w dół listy, które mają ten sam klucz. Jeśli chcesz robić to, co robisz, po prostu zmień pierwszy wpis (znaleziony za pomocąassoc
, zmieniony za pomocąsetcar
itp.) Dla każdego klawisza, aby nie stracić tej przydatnej, zamierzonej funkcji.Wrzucę też moje rozwiązanie tego na ring:
modeline-set-lighter
pozwala ustawić zapalniczkę trybu podrzędnego na dowolny ciąg, który ci się podoba.modeline-remove-lighter
pozwala całkowicie usunąć zapalniczkę z mniejszego trybu.Następnie na końcu mojego pliku init wywołuję te funkcje dla mniejszych trybów, których zapalniczki chcę zmodyfikować:
źródło
Możesz również tępo usunąć wszystkie pomniejsze tryby w następujący sposób:
Będzie to również działać w przypadku mniejszych trybów zdefiniowanych w przyszłości, ponieważ po prostu całkowicie usuwa użycie
minor-mode-alist
zmode-line-format
.źródło
Warto zauważyć, że
use-package
wspiera zmniejszanie i zachwyt . Jeśli używasz go do zarządzania pakietami, możesz ukryć pomniejsze tryby w wierszu trybu, dodając słowa kluczowe: zmniejsz lub: zachwyt.źródło
Nie widzę sensu instalowania fantazyjnych nazwanych rozszerzeń dla czegoś tak prostego jak:
Na przykład:
W ten sposób możesz robić różne rzeczy. Zamiana tekstu jest oczywista z powyższego. Na przykład, aby umieścić tryb Flymake na początku listy:
źródło