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?

Était-ce utile?

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”
  1. s'il n'y a pas config.fish ~ / .config / poissons / , le faire.
  2. 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 -add une nouvelle abbreviation 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top