Come creare un alias permanente in oh-my-zsh?


46

Nel mio .zshrc ho provato a creare alcuni alias. Ho cercato in molti posti, ma non sono riuscito a trovare un modo che funzionasse. Ho usato questo codice qui sotto:

# Set personal aliases, overriding those provided by oh-my-zsh libs, 
# plugins, and themes. Aliases can be placed here, though oh-my-zsh 
# users are encouraged to define aliases within the ZSH_CUSTOM folder. 
# For a full list of active aliases, run alias. # # Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias n= "nano"  
alias m= "mkdir"
alias w= "cd ~/Documents/UoMWorkspace/Semester2"  
alias j= "cd ~/Documents/UoMWorkspace/Semester2/COMP17412"

Quindi ho scritto un comando source ~/.zshrc. Tuttavia non ha risolto il problema. Ricevo messaggi di errore comezsh: command not found: j

Qualcuno potrebbe aiutarmi con qualche suggerimento e farmi sapere cosa sto facendo di sbagliato?


3
A giudicare dai commenti (multipli) e dall'errore suppongo che ogni alias sia effettivamente impostato su una sola riga, giusto?
kos,

Risposte:


70

Non devono esserci spazi bianchi tra il =nome alias o la definizione alias:

alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias n="nano"
alias m="mkdir"
alias w="cd ~/Documents/UoMWorkspace/Semester2"
alias j="cd ~/Documents/UoMWorkspace/Semester2/COMP17412"

BTW: Se stai cercando un modo per abbreviare i nomi delle directory, ti suggerisco di cercare Named Directories e l' AUTO_CDopzione invece degli alias:

hash -d w=~/Documents/UoMWorkspace/Semester2
hash -d j=~/Documents/UoMWorkspace/Semester2/COMP17412

Questo ti permette di usare al ~wposto di ~/Documents/UoMWorkspace/Semester2e ~jinvece di ~/Documents/UoMWorkspace/Semester2/COMP17412(o ~w/COMP17412). Quindi cd ~jè identico a cd ~/Documents/UoMWorkspace/Semester2. Funziona anche come parte di un percorso, ad es cat ~j/somedir/somefile.

Con

setopt AUTO_CD

zshpasserà automaticamente cda una directory se viene dato come comando sulla riga di comando e non è il nome di un comando effettivo. per esempio

% /usr
% pwd
/usr
% ~w
/home/YOURUSERNAME/Documents/UoMWorkspace/Semester2

Come ulteriore spiegazione perché non utilizzare gli spazi prima e dopo il segno equazione: ad esempio a = b: questa sarà considerata come un comando acon due parametri ( be =) e genera un errore: zsh: command not found: a. Se lo metti aliasprima ( alias a = b), sarà in qualche modo simile.
Timo,

Ho appena usato "vi ~ / .zshrc" e modificato il file export PATH=/Users/andres/flutter/bin:$PATHperché uso flutter
Andres Paladines,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.