Je voudrais définir quelques alias dans le poisson. Apparemment, il devrait être possible de les définir
~/.config/fish/functions
mais ils ne sont pas chargés automatiquement lorsque je redémarre le shell. Des idées?
Je voudrais définir quelques alias dans le poisson. Apparemment, il devrait être possible de les définir
~/.config/fish/functions
mais ils ne sont pas chargés automatiquement lorsque je redémarre le shell. Des idées?
Réponses:
Utilisez simplement 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 aimeraient en savoir plus sur les alias de poisson dans le manuel officiel .
~/.config/fish/config.fish
pour qu'il se charge à chaque fois que je lance un terminal.
"$argv"
pour gérer les arguments avec des espaces comme nous le faisons avec bash "$@"
?
Voici comment définir une nouvelle fonction foo
, l'exécuter et l'enregistrer de manière persistante.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
. Par exemple funced foo
.
funcsave {some_function_name}
l'enregistrera~/.config/fish/functions/{some_function_name}.fish
Pour la postérité, les alias de poisson 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 retirer
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
funcsave foo
. Cela enregistrera la fonction dans ~/.config/fish/functions/foo.fish
laquelle le poisson la chargera automatiquement la première fois qu'il sera appelé depuis une nouvelle session.
alias foo="echo bar"
était de loin la solution la plus simple
fish commence par exécuter des commandes dans ~ / .config / fish / config.fish. Vous pouvez le créer s'il n'existe pas:
vim ~ / .config / fish / config.fish
et enregistrez-le avec :wq
étape 1. créer un fichier de configuration (comme .bashrc)
config.fish
étape 2. écrivez simplement votre alias comme ceci;
alias rm = "rm -i"
Si vous ajoutez un abbr
au lieu d'un, alias
vous obtiendrez une meilleure saisie automatique. Chez les poissons, correspond abbr
plus étroitement au comportement d'un alias bash.
abbr -a gco git checkout
Will -a
dd une nouvelle abbr
éviation gco
qui s'étend à git checkout
.
Voici une démonstration vidéo des fonctionnalités de saisie semi-automatique résultantes
Pour charger correctement les fonctions à partir de ~ / .config / fish / functions
Vous pouvez définir seulement UNE fonction dans le fichier et le nom même que le nom de la fonction + ajouter l' extension .fish.
De cette façon, les fonctions de rechargement du contenu des fichiers dans les terminaux ouverts (notez qu'un certain retard peut se produire ~ 1-5s)
De cette façon, si vous modifiez soit par ligne de commande
function name; function_content; end
puis
funcsave name
vous avez des fonctions définies par l'utilisateur dans la console et personnalisées dans le même ordre.