Wie erhalte ich eine schickere Linie mit Volltonfarben und Dreiecken?


93

Gelegentlich veröffentlichen Leute Screenshots mit Modelines, die einfarbig und dreieckig sind: Bildbeschreibung hier eingeben

Wie repliziere ich diesen Effekt?


2
Ich habe diese Frage tatsächlich ein paar Mal auf anderen Websites gestellt bekommen, also dachte ich, ich würde sie hier auch präventiv stellen :).
Tikhon Jelvis

1
Unter whattheemacsd.com/appearance.el-01.html finden Sie Tipps zum Ändern des Texts und nicht nur des Aussehens der Moduszeile.
Mankoff

Antworten:


78

Dies kann mit zwei Paketen erreicht werden:

  1. Smart-Mode-Linie .
  2. Stromleitung .

Insgesamt ist die Smart-Mode-Line leistungsstärker als die Powerline (entschuldigen Sie das Wortspiel), da sie mehr Funktionen zur Steuerung des Verhaltens der Mode-Line und eine bessere Anpassbarkeit des Erscheinungsbilds bietet. Die Readme- Datei enthält eine große Liste an Funktionen , bietet jedoch kurz gesagt die Möglichkeit, die Breite zu steuern, Zeichenfolgen im Dateipfad zu ersetzen und unter anderem die Nebenmodi auszublenden.

  • Wenn Sie nur den Screenshot erstellen möchten, ist Powerline die beste Wahl.
  • Wenn Sie eine Reihe anderer Funktionen damit kombinieren möchten, probieren Sie die Smart-Mode-Linie aus .

Da Powerline in einer anderen Antwort sehr gut erklärt wurde, werde ich mich darauf konzentrieren, wie Sie dieses Erscheinungsbild mit Smart-Mode-Line erreichen können.

Erstinstallation

Sie können die Smart-Mode-Linie von Melpa, Melpa-Stable installieren oder manuell herunterladen. Angenommen, Sie möchten den Paket-Manager verwenden, tun Sie dies einfach

M-x package-install RET smart-mode-line

Sobald Sie es mit einschalten M-x sml/setup, sollte Ihre Mode-Line ähnlich wie eine dieser beiden aussehen.
Dunkles Thema Screenshot Light Theme Screenshot

Powerline-Thema

In der Smart-Mode-Zeile sind mehrere Themen integriert. Das Thema, mit dem das gewünschte Erscheinungsbild erzielt wird, wird separat im themes/ Verzeichnis angegeben. Beachten Sie, dass sich dieses Thema noch in der Beta-Phase befindet. Daher funktioniert das Anpassen möglicherweise noch nicht einwandfrei.

Installieren Sie das Thema von Melpa

M-x package-install RET smart-mode-line-powerline-theme

Wenn Sie es manuell installieren möchten, ist es hier , aber Sie müssen auch Powerline installieren.

Schließlich können Sie das Thema mit aktivieren M-x sml/apply-theme RET powerline. Und deine Mode-Line sollte dann so aussehen.
Powerline Theme Screenshot
Wie Sie sehen, ist die Reihenfolge der Elemente nicht ganz gleich, aber das Gesamterscheinungsbild ist da.

Fügen Sie Ihrer Init-Datei Folgendes hinzu, um dieses Thema jedes Mal zu verwenden. Sie können auch eine der Powerline-Konfigurationsvariablen anpassen. Sie sollten hier den gleichen Effekt haben.

;; These two lines are just examples
(setq powerline-arrow-shape 'curve)
(setq powerline-default-separator-dir '(right . left))
;; These two lines you really need.
(setq sml/theme 'powerline)
(sml/setup)

1
Ich habe auch über Smart-Mode-Line geschrieben, aber Sie haben es sicherlich besser erklärt. Danke.
Boccaperta-IT

3
Sie können auch die Regexp-Funktionen näher erläutern, bei denen ein Pfad durch einen kürzeren Zeichensatz dargestellt werden kann ... :ED:anstelle von ~/.emacs.d/und rich-minority, um die Nebenmodus-Feuerzeuge auszublenden.
Kaushal Modi

1
@kaushalmodi etwas ausgearbeitet.
Malabarba

46

Dies kann mit einem Paket namens "Powerline" erreicht werden. Es stehen mehrere Varianten zur Verfügung, darunter mindestens eine, über die Sie installieren können package.el.

Persönlich benutze ich diesen . Hier ist ein Screenshot aus der README-Datei des Pakets:

Ein Powerline-Beispiel.

Sie können die Farbe konfigurieren, indem Sie die Fläche der Moduslinie festlegen:

(set-face-attribute 'mode-line nil
                    :foreground "Black"
                    :background "DarkOrange"
                    :box nil)

Sie können auch andere Formen anstatt nur Dreiecke konfigurieren:

(setq powerline-arrow-shape 'curve)

Emacs Powerline mit Kurven statt Pfeilen.


2
FWIW - Wenn Sie ein Problem haben mit den Farben Separatoren immer total seemless sein wie ich es tat, fand ich diese Powerline Gabel , wo Sie können , (setq powerline-default-separator 'utf-8)die Sie mit den nutzen können hier Powerline gepatcht Schriftarten .
Waymondo

@thepalmcivet: Gut zu wissen, aber mir ist nicht ganz klar, was du mit nahtlosen Farben meinst. Hast du einen Screenshot des Problems oder so? Vielen Dank!
Tikhon Jelvis

2
Kein Problem, hier ist es, was ich mit (setq powerline-default-separator 'arrow). Ich installiere Carbon Emacs mit Homebrew mit der --srgbFlagge und (setq ns-use-srgb-colorspace t)in meinem .emacs.d.
Waymondo

Tichon, das ist eine schöne Mode-Linie, die du da hast. Könntest du den vollständigen Abschnitt über das Zeilenformat posten, den du teilweise als Screenshot aufgenommen hast? Danke :-)
Ivan Vučica

2
@ IvanVučica: Danke! Es ist auf GitHub, in zwei Teilen: eine modifizierte powerline.el, die eine Reihe von Formen zur Auswahl enthält ( curveist nett, aber ich verwende sie diagonaljetzt) ​​und meine .emacs selbst, die einige verschiedene Einstellungen haben, die ich irgendwo habe. Wenn Sie dazu neigen, können Sie powerline.elüber ASCII-Grafik Ihre eigenen Trennzeichenformen erstellen und hinzufügen, um genau den gewünschten Effekt zu erzielen :).
Tikhon Jelvis

12

Wie bereits erwähnt, ist Powerline das Paket, das die Modeline auf diese Weise formatiert. Die meisten Emacs-Designs definieren jedoch keine Farben für die Stromleitung (was nicht besonders gut ist). Ein Thema, das dies tut, ist das farbenfrohe (und umfassende) Moe-Thema . Es gibt sogar einen Modus, der abends die Farbe ändert, um die Augen zu schonen. Es sieht aus wie das:

moe-theme im glorreichen magenta-modus nach dem vorbild der powerline

Meine Pfeile in der Stromleitung sehen merkwürdig aus, weil ich eine ungepatchte Version der Luxi Mono-Schriftart verwende.


1

Meine Pfeile in der Stromleitung sehen merkwürdig aus, weil ich eine ungepatchte Version der Luxi Mono-Schriftart verwende.

William Roe , nach deinem Screenshot zu urteilen, bist du auf macOS. Wie in diesem Problemkommentar angegeben , müssen Sie hinzufügen

(setq powerline-image-apple-rgb t)

in Ihre Init-Datei (en). Dies sollte das Farbproblem mit den Trennzeichen ("Pfeile") beheben. Hat zumindest für mich gearbeitet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.