Wie ein Alias ??in Fisch-Shell definieren?
Frage
Ich möchte einige Aliase in Fisch definieren. Offenbar soll es möglich sein, sie zu definieren, die in
~/.config/fish/functions
, aber sie bekommen nicht automatisch geladen, wenn ich die Shell neu zu starten. Irgendwelche Ideen?
Lösung
Just Verwendung alias
. Hier ist ein einfaches Beispiel:
# 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
Dieser letzte Befehl erstellt die Datei ~/.config/fish/functions/rmi.fish
.
Interessierte können mehr über Fisch-Aliase, um herauszufinden, in das offizielle Handbuch .
Andere Tipps
Dies ist, wie ich eine neue Funktion foo
definieren, führen Sie es, und es beharrlich speichern.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
Für die Nachwelt Fisch-Aliase sind nur Funktionen:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Um es zu entfernen
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
- , wenn es nicht config.fish in ~ / .config / Fisch / , es machen.
- da Sie Ihre Funktion schreiben können .
function name command end
Speichern Sie Ihre Dateien als ~/.config/fish/functions/{some_function_name}.fish
, und sie sollten automatisch geladen werden, wenn Sie Fisch starten.
So laden Funktionen richtig von ~ / .config / Fisch / Funktionen
Sie können nur dann gesetzt ONE Funktion in Datei und Dateinamen der gleichen wie Funktionsname + .fish Erweiterung hinzufügen.
Auf diese Weise ändert Dateiinhalte Funktionen in geöffneten Terminals neu zu laden (eine gewisse Verzögerung beachten auftreten können ~ 1-5s)
Auf diese Weise, wenn Sie bearbeiten entweder durch Kommandozeilen
function name; function_content; end
dann
funcsave name
Sie haben benutzerdefinierte Funktionen in der Konsole und benutzerdefinierte in der gleichen Reihenfolge gemacht.
Fisch beginnt mit Kommandos in ~ / .config / Fisch / config.fish Ausführung. Sie können es schaffen, wenn es nicht vorhanden ist.
Schritt 1. Make-Konfigurationsdatei (wie .bashrc)
config.fish
Schritt 2. schreiben Sie einfach Ihren Alias ??wie folgt;
alias rm = "rm -i"
Wenn Sie einen abbr
anstelle eines alias
hinzufügen werden Sie besser auto-complete. In Fisch abbr
paßt genauer das Verhalten eines Bash-Alias.
abbr -a gco git checkout
Wird eine neue -a
eviation abbr
gco
dd dass ERWEITERT git checkout
.
Hier ist eine Demo-Video der resultierenden automatischen Vervollständigung Funktionen
Erstellen Sie eine Funktion in ~ / .config / Fisch / Funktionen aufgerufen mkalias.fish und setzen diese in
function mkalias --argument key value
echo alias $key=$value
alias $key=$value
funcsave $key
end
und dies wird Aliase automatisch erstellen.