Chciałbym zdefiniować niektóre aliasy u ryb. Najwyraźniej powinno być możliwe ich zdefiniowanie
~/.config/fish/functions
ale nie są ładowane automatycznie, gdy ponownie uruchamiam powłokę. Jakieś pomysły?
Chciałbym zdefiniować niektóre aliasy u ryb. Najwyraźniej powinno być możliwe ich zdefiniowanie
~/.config/fish/functions
ale nie są ładowane automatycznie, gdy ponownie uruchamiam powłokę. Jakieś pomysły?
Odpowiedzi:
Po prostu użyj alias
. Oto podstawowy przykład:
# 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
To ostatnie polecenie tworzy plik ~/.config/fish/functions/rmi.fish
.
Zainteresowani mogą chcieć dowiedzieć się więcej o aliasach ryb w oficjalnym podręczniku .
~/.config/fish/config.fish
aby ładował się za każdym razem, gdy uruchamiam terminal.
"$argv"
aby obsługiwać argumenty ze spacjami, tak jak w przypadku bash "$@"
?
W ten sposób definiuję nową funkcję foo
, uruchamiam ją i zapisuję na stałe.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
. Np funced foo
.
funcsave {some_function_name}
to uratuje~/.config/fish/functions/{some_function_name}.fish
Dla potomnych aliasy ryb to tylko funkcje:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Aby go usunąć
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
funcsave foo
. Spowoduje to zapisanie funkcji w miejscu ~/.config/fish/functions/foo.fish
, w którym ryba automatycznie załaduje ją przy pierwszym wywołaniu z nowej sesji.
alias foo="echo bar"
było zdecydowanie najłatwiejszym rozwiązaniem
fish zaczyna się od wykonania poleceń w ~ / .config / fish / config.fish. Możesz go utworzyć, jeśli nie istnieje:
vim ~ / .config / fish / config.fish
i uratuj to za pomocą :wq
krok 1. Utwórz plik konfiguracyjny (jak .bashrc)
config.fish
krok 2. po prostu napisz swój alias w ten sposób;
alias rm = "rm -i"
Jeśli dodasz abbr
zamiast alias
, uzyskasz lepsze automatyczne uzupełnianie. U ryb abbr
bardziej pasuje do zachowania pseudonimu bash.
abbr -a gco git checkout
Będzie -a
dd nowy abbr
eviation gco
który rozszerza się git checkout
.
Aby poprawnie załadować funkcje z ~ / .config / fish / functions
Możesz ustawić tylko JEDEN funkcję w pliku i nazwie pliku tak samo jak nazwa funkcji + dodać rozszerzenie .fish.
W ten sposób zmiana zawartości pliku powoduje ponowne załadowanie funkcji w otwartych terminalach (zwróć uwagę, że może wystąpić pewne opóźnienie ~ 1-5s)
W ten sposób edytujesz albo za pomocą wiersza polecenia
function name; function_content; end
następnie
funcsave name
masz funkcje zdefiniowane przez użytkownika w konsoli i niestandardowe wykonane w tej samej kolejności.