Balıktaki bazı takma adları tanımlamak istiyorum. Görünüşe göre onları tanımlamak mümkün olmalı
~/.config/fish/functions
ancak kabuğu yeniden başlattığımda otomatik olarak yüklenmiyorlar. Herhangi bir fikir?
Balıktaki bazı takma adları tanımlamak istiyorum. Görünüşe göre onları tanımlamak mümkün olmalı
~/.config/fish/functions
ancak kabuğu yeniden başlattığımda otomatik olarak yüklenmiyorlar. Herhangi bir fikir?
Yanıtlar:
Sadece kullan alias
. İşte temel bir örnek:
# 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
Bu son komut dosyayı oluşturur ~/.config/fish/functions/rmi.fish
.
İlgilenenler resmi kılavuzda balık takma adları hakkında daha fazla bilgi edinmek isteyebilirler .
~/.config/fish/config.fish
Her terminali çalıştırdığımda benim yüklerim.
"$argv"
Bash ile yaptığımız gibi boşluklarla tartışmak için alıntı yapmamıza gerek yok "$@"
mu?
Yeni bir işlevi bu şekilde tanımlıyorum foo
, çalıştırıyorum ve kalıcı olarak kaydediyorum.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
. Örn funced foo
.
funcsave {some_function_name}
onu kurtaracak~/.config/fish/functions/{some_function_name}.fish
Gelecek nesiller için balık takma adları sadece fonksiyonlardır:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Kaldırmak için
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
funcsave foo
. Bu, işlevi ~/.config/fish/functions/foo.fish
yeni bir oturumdan ilk çağrıldığında balıkın otomatik olarak yükleyeceği işlevi içine kaydeder.
alias foo="echo bar"
en kolay çözümdü
balık ~ / .config / fish / config.fish içindeki komutları uygulayarak başlar. Mevcut değilse oluşturabilirsiniz:
vim ~ / .config / fish / config.fish
ve ile kaydet :wq
Aşama 1. yapılandırma dosyası yap (.bashrc gibi)
config.fish
Adım 2. sadece takma adınızı böyle yazın;
takma ad rm = "rm -i"
Bir abbr
yerine bir alias
eklerseniz daha iyi otomatik tamamlama elde edersiniz. Balıklarda abbr
bir bash takma adının davranışıyla daha yakından eşleşir.
abbr -a gco git checkout
Will -a
dd genişleyen yeni bir abbr
evation .gco
git checkout
Sonuçta elde edilen otomatik tamamlama özelliklerinin video demosu
~ / .Config / fish / function öğelerinden işlevleri düzgün şekilde yüklemek için
Dosya ve ad dosyası içinde işlev adı + .fish uzantısı ekle ile aynı olan yalnızca BİR işlev ayarlayabilirsiniz .
Bu şekilde, dosya içeriklerinin değiştirilmesi açık terminallerdeki işlevleri yeniden yükler (bazı gecikmelerin olabileceğini unutmayın ~ 1-5s)
Bu şekilde, komut satırından birini düzenlerseniz
function name; function_content; end
sonra
funcsave name
Konsolda kullanıcı tanımlı işlevleriniz ve aynı sırayla özel olarak yapılmış işlevleriniz var.