Saya ingin mendefinisikan beberapa alias pada ikan. Tampaknya harus mungkin untuk mendefinisikannya
~/.config/fish/functions
tetapi mereka tidak dimuat secara otomatis ketika saya me-restart shell. Ada ide?
Saya ingin mendefinisikan beberapa alias pada ikan. Tampaknya harus mungkin untuk mendefinisikannya
~/.config/fish/functions
tetapi mereka tidak dimuat secara otomatis ketika saya me-restart shell. Ada ide?
Jawaban:
Gunakan saja alias
. Inilah contoh dasar:
# 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
Perintah terakhir ini membuat file ~/.config/fish/functions/rmi.fish
.
Orang yang tertarik mungkin ingin mengetahui lebih lanjut tentang alias ikan di manual resmi .
~/.config/fish/config.fish
sehingga memuat setiap kali saya menjalankan terminal.
"$argv"
untuk menangani argumen dengan spasi seperti yang kita lakukan dengan bash "$@"
?
Inilah cara saya mendefinisikan fungsi baru foo
, menjalankannya, dan menyimpannya secara terus-menerus.
sthorne@pearl~> function foo
echo 'foo was here'
end
sthorne@pearl~> foo
foo was here
sthorne@pearl~> funcsave foo
funced
. Misalnya funced foo
.
funcsave {some_function_name}
akan menyimpannya di~/.config/fish/functions/{some_function_name}.fish
Untuk anak cucu, alias ikan hanya berfungsi:
$ alias foo="echo bar"
$ type foo
foo is a function with definition
function foo
echo bar $argv;
end
Untuk menghapusnya
$ unalias foo
/usr/bin/unalias: line 2: unalias: foo: not found
$ functions -e foo
$ type foo
type: Could not find “foo”
funcsave foo
. Ini akan menyimpan fungsi ke dalam ~/.config/fish/functions/foo.fish
, di mana ikan akan secara otomatis memuatnya saat pertama kali dipanggil dari sesi baru.
alias foo="echo bar"
sejauh ini merupakan solusi termudah
fish memulai dengan menjalankan perintah di ~ / .config / fish / config.fish. Anda dapat membuatnya jika tidak ada:
vim ~ / .config / fish / config.fish
dan simpan dengan :wq
Langkah 1. buat file konfigurasi (seperti .bashrc)
config.fish
Langkah 2. cukup tulis alias Anda seperti ini;
alias rm = "rm -i"
Jika Anda menambahkan abbr
bukan, alias
Anda akan mendapatkan pelengkapan otomatis yang lebih baik. Pada ikan abbr
lebih dekat mencocokkan perilaku alias bash.
abbr -a gco git checkout
Akan -a
menemukan abbr
eviasi baru gco
yang diperluas ke git checkout
.
Berikut ini demo video dari fitur pelengkapan otomatis yang dihasilkan
Untuk memuat fungsi dengan benar dari ~ / .config / fish / functions
Anda hanya dapat menetapkan SATU fungsi di dalam file dan nama file sama dengan nama fungsi + tambahkan ekstensi .fish.
Dengan cara ini, mengubah isi file memuat kembali fungsi di terminal terbuka (perhatikan beberapa penundaan mungkin terjadi ~ 1-5s)
Dengan begitu jika Anda mengedit dengan commandline
function name; function_content; end
kemudian
funcsave name
Anda memiliki fungsi yang ditentukan pengguna di konsol dan dibuat khusus dalam urutan yang sama.