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.