Comment définir un alias dans la coquille de poisson?
Question
Je voudrais définir des alias dans les poissons. Apparemment, il devrait être possible de les définir dans
~/.config/fish/functions
mais ils ne reçoivent pas chargés automatiquement lorsque je redémarre le shell. Toutes les idées?
La solution
Il suffit d'utiliser alias
. Voici un exemple de base:
# Define alias in shell
alias rmi "rm -i"
# Define alias in config file
alias rmi="rm -i"
# This is equivalent to entering the following function:
function rmi
rm -i $argv
end
# Then, to save it across terminal sessions:
funcsave rmi
Cette dernière commande crée le fichier ~/.config/fish/functions/rmi.fish
.
Les personnes intéressées pourraient Pour en savoir plus sur les alias de poissons dans le manuel officiel .
Autres conseils
Voici comment je définir une nouvelle foo
fonction, exécuter et enregistrer constamment.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
Pour la postérité, alias poissons ne sont que des fonctions:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Pour le supprimer
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
- s'il n'y a pas config.fish ~ / .config / poissons / , le faire.
- là, vous pouvez écrire votre fonction .
function name command end
Enregistrer vos fichiers ~/.config/fish/functions/{some_function_name}.fish
et ils devraient s'auto-chargement lorsque vous démarrez le poisson.
Pour charger correctement les fonctions de ~ / .config / poissons / fonctions
Vous pouvez définir uniquement ONE Fonction fichier à l'intérieur et le fichier nom identique au nom de la fonction + ajouter l'extension .fish.
De cette façon, le contenu du fichier changeant rechargent fonctions dans les terminaux ouverts (note un certain retard peut se produire ~ 1-5s)
De cette façon, si vous modifiez soit par commandline
function name; function_content; end
puis
funcsave name
vous avez des fonctions définies par l'utilisateur dans la console et sur mesure dans le même ordre.
poisson commence en exécutant des commandes dans ~ / .config / poissons / config.fish. Vous pouvez le créer si elle n'existe pas.
Etape 1. make fichier de configuration (comme .bashrc)
config.fish
step2. il suffit d'écrire votre alias comme;
alias rm = "rm -i"
Si vous ajoutez un abbr
au lieu d'un alias
vous obtiendrez de meilleures auto-complétion. En abbr
poissons correspond plus étroitement le comportement d'un alias bash.
abbr -a gco git checkout
Est-ce -a
dd une nouvelle abbr
eviation gco
qui se développe à git checkout
.
Voici une vidéo de démonstration des fonctions de remplissage automatique résultant
faire une fonction dans ~ / .config / poissons / fonctions appelées mkalias.fish et mettre cela en
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
et cela crée des alias automatiquement.