![Configuración .zshrc, ¿importa el orden?](https://rvso.com/image/178464/Configuraci%C3%B3n%20.zshrc%2C%20%C2%BFimporta%20el%20orden%3F.png)
Ahora que zsh es el terminal predeterminado para Mac, he decidido intentar replicar mis preferencias de .bashrc a .zshrc.
Tengo la mayor parte de lo que necesito, pero todavía tengo algunas cosas menores que agregar. No sabía nada sobre cómo crear un archivo .zshrc, así que busqué mucho en Google.
Se me ocurrió esto, pero antes de intentar organizarlo en algo un poco más limpio, ¿importa el orden de alguna de estas cosas?
Lamento que sea realmente un desastre feo.
#################
# 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
Respuesta1
Depende, a veces hacen como Devon explicó anteriormente, pero si no tienen nada que ver entre sí, entonces no, no importan. Por ejemplo, si define un montón de alias que no se utilizan en su .zshrc o que no dependen de nada en su .zshrc, puede colocarlos en cualquier lugar que desee. Si proporcionan algún tipo de salida al terminal, la salida aparecerá en el orden en que los tiene en su archivo .zshrc.
Respuesta2
zsh ejecuta los comandos en usted .zshrc
como si los hubiera escrito en su terminal. El orden sí importa, por ejemplo, no puede utilizar variables antes de definirlas.