.zshrc-Konfiguration, ist die Reihenfolge wichtig?

.zshrc-Konfiguration, ist die Reihenfolge wichtig?

Da zsh nun das Standardterminal für Mac ist, habe ich beschlossen, zu versuchen, meine .bashrc-Einstellungen auf .zshrc zu replizieren.

Ich habe das meiste, was ich brauche, aber ich muss noch ein paar Kleinigkeiten hinzufügen. Ich wusste nicht, wie man eine .zshrc-Datei erstellt, also habe ich viel bei Google gesucht.

Ich habe mir das ausgedacht, aber bevor ich versuche, es etwas übersichtlicher zu organisieren: Ist die Reihenfolge dieser Dinge wichtig?

Es tut mir leid, aber es ist wirklich ein hässliches Durcheinander.

#################
# Output Prompt #
#################
NEWLINE=$'\n'
PROMPT="%F{cyan}%n%f@%F{green}%m%f %F{011}%~%f \$vcs_info_msg_0_ ${NEWLINE}%% "
# RPROMPT=\$vcs_info_msg_0_

###########
# ALIASES #
###########
alias ls='ls -GFh'

# TODO: DO MORE RESEARCH ON THESE
# alias l='colorls --group-directories-first --almost-all'
# alias ll='colorls --group-directories-first --almost-all --long' # detailed list view

# case insensitive path-completion from - https://scriptingosx.com/2019/07/moving-to-zsh-part-5-completions/
# zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'

# partial completion suggestions - from https://scriptingosx.com/2019/07/moving-to-zsh-part-5-completions/
# zstyle ':completion:*' list-suffixes
# zstyle ':completion:*' expand prefix suffix
# E-TODO

export LSCOLORS=gxfxbxdxcxegedabagacad


# The following lines were added by compinstall

zstyle ':completion:*' completer _complete _ignored _approximate
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]}'



zstyle :compinstall filename '/Users/ryan/.zshrc'

autoload -Uz compinit
compinit
# End of lines added by compinstall

autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs

zstyle ':completion:*:*:cdr:*:*' menu selection

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
setopt HIST_IGNORE_DUPS # Prevents duplicate commands from being saved the command line history
setopt HIST_IGNORE_SPACE # Remove command lines from the history when the first character is a space
setopt HIST_REDUCE_BLANKS # Remove superfolus blanks from each command being added to the history list

zstyle ':vcs_info:git:*' formats '%F{196}(%b)%f'
zstyle ':vcs_info:*' enable git

Antwort1

Es kommt darauf an, manchmal ist das so, wie Devon oben erklärt hat, aber wenn sie nichts miteinander zu tun haben, dann sind sie egal. Wenn Sie beispielsweise eine Reihe von Aliasen definieren, die in Ihrer .zshrc nicht verwendet werden oder von nichts in Ihrer .zshrc abhängen, können Sie sie überall platzieren, wo Sie möchten. Wenn sie eine Art Ausgabe an das Terminal liefern, erscheint die Ausgabe in der Reihenfolge, in der Sie sie in Ihrer .zshrc-Datei haben.

Antwort2

zsh führt die Befehle in Ihnen aus, .zshrcals ob Sie sie in Ihr Terminal eingegeben hätten. Die Reihenfolge ist wichtig, Sie können beispielsweise keine Variablen verwenden, bevor Sie sie definiert haben.

verwandte Informationen