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.fishHer 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.fishyeni 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 abbryerine bir aliaseklerseniz daha iyi otomatik tamamlama elde edersiniz. Balıklarda abbrbir bash takma adının davranışıyla daha yakından eşleşir.
abbr -a gco git checkout
Will -add genişleyen yeni bir abbrevation .gcogit 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.