Comment définir un alias dans Fish shell?

Je voudrais définir quelques alias dans fish. Apparemment, il devrait être possible de les définir dans

~/.config/fish/functions

Mais ils ne sont pas automatiquement chargés lorsque je redémarre le shell. Des idées?

133
demandé sur Chris Martin 2010-05-04 09:26:35

9 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 .

240
répondu Bozhidar Batsov 2018-02-26 11:30:54

C'est ainsi que je définis une nouvelle fonction foo, l'exécute et l'enregistre de manière persistante.

sthorne@pearl~> function foo
                    echo 'foo was here'
                end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
106
répondu Jerub 2010-05-04 05:36:43

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 l'enlever

$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
44
répondu glenn jackman 2014-03-20 15:54:43
  1. s'il n'y a pas config.poisson dans ~/.config/poisson/, le faire.
  2. là, vous pouvez écrire votre fonction .function name command end
14
répondu seaslee 2011-10-01 13:46:16

Enregistrez vos fichiers sous ~/.config/fish/functions/{some_function_name}.fish et ils devraient se charger automatiquement lorsque vous commencez à pêcher.

13
répondu martisj 2013-02-19 16:38:30

Pour charger correctement les fonctions à partir de ~/.config/poisson/fonctions

Vous ne pouvez définir que une fonction à l'intérieur du fichier et du nom du fichier comme nom de la fonction + Ajouter .extension de poisson.

De cette façon, changer le contenu des fichiers fonctions de rechargement dans les terminaux ouverts (note 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 faites sur mesure dans le même ordre.

9
répondu pawelkl 2014-07-04 21:44:56

Fish commence par exécuter des commandes dans~/.config/poisson/config.poisson. Vous pouvez la créer si elle n'existe pas.

Etape 1. faire un fichier de configuration (comme .bashrc)

Config.poisson

Etape 2. écrivez simplement votre alias comme ceci;

Alias rm=rm-i"

6
répondu CookAtRice 2017-05-16 06:50:54

Crée une fonction dans ~/.config/poisson/fonctions appelées mkalias.poisson et mettre cela dans

function mkalias --argument key value
  echo alias $key=$value
  alias $key=$value
  funcsave $key
end

Et cela créera automatiquement des alias.

1
répondu Mike 2017-05-07 10:49:19

Ouvrez vim .config/fish/conf.d/omf.fish, liez votre bash définit et redémarrez le terminal de poisson.

0
répondu selmansamet 2017-10-25 16:15:51