Hervorhebung der automatischen Pfadvervollständigung bei ZSH

Hervorhebung der automatischen Pfadvervollständigung bei ZSH

Wenn ich in ZSH versuche, cdin ein Verzeichnis zu wechseln und die Tabulatortaste verwende, um die Liste der Verzeichnisse abzurufen, sind einige davon sehr hellgrün hervorgehoben. Mir ist aufgefallen, dass die Hintergrundhervorhebung dieselbe ist wie die der Verzeichnisse in ls. Ich habe es geändert, LS_COLORin der Hoffnung, dass das das Problem behebt, aber die Hervorhebung der automatischen Vervollständigung bleibt dieselbe. Ich habe auch die Zstyle-Vervollständigungsschlüssel/-konfigurationen überprüft, aber dort keine für Verzeichnisse gefunden. Kann mir jemand helfen, das zu beheben?

1]

Danke

EDIT: Hier ist ein Link zu meiner .zshrcDatei:https://dpaste.org/V8oE

EDIT2: Ich konnte das Problem lösen, indem ich das Design auf meinem Terminal (Konsole) geändert habe. Ich glaube nicht, dass es das Problem von ZSH war.

Antwort1

Die farbige Vervollständigung von zsh wird mit dem list-colorsZstyle konfiguriert ( info zsh list-colorsDetails finden Sie unter).

Ihre ~/.zshrcoder jede andere von ihr aufgerufene Anpassungsdatei kann etwa Folgendes enthalten:

zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

Damit dies auf dem Inhalt der Variablen basiert $LS_COLORS(damit Sie in Zsh-Vervollständigungen dieselben Farben erhalten wie in der GNU- ls --colorAusgabe).

$LS_COLORSist die von GNU verwendete Variable lsund wird im Allgemeinen durch den Aufruf von etwas wie: gesetzt.

eval "$(dircolors --sh ~/.dircolors)"

(vielleicht früher in Ihrem ~/.zshrcoder in Ihrem ~/.zprofile).

In

zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}

jedoch $LC_COLORSwird die erweitert und geteilt auf: zu der Zeit ~/.zshrcwird interpretiert.

Wenn Sie ändern $LS_COLORS, wird dieser zstyleBefehl nicht automatisch erneut ausgeführt. Wenn Sie ~/.zshrcnach der Änderung Ihre erneut als Quelle verwenden $LS_COLORS, ist es möglich, dass der dircolorsBefehl, der $LS_COLORSauf Grundlage der in gespeicherten Konfiguration neu generiert wird ~/.dircolors, ebenfalls erneut ausgeführt wird und Ihre Änderungen überschreibt.

Sie müssen also Folgendes tun:

  1. Finden Sie heraus, wo der list-colorsZstyle in Ihren Startdateien definiert ist
  2. Wenn es auf basiert $LS_COLORS, finden Sie heraus, wie das $LS_COLORSdefiniert wird, und beheben Sie das Problem. Und wenn nicht, passen Sie diesen Aufruf an, zstyledamit er Ihren Farbvorlieben entspricht.

verwandte Informationen