Manajer plugin untuk ikan - cangkang interaktif yang ramah Anda. Plugin Segar Jelas!
Kendalikan fungsi, penyelesaian, binding, dan cuplikan dari baris perintah. Lepaskan potensi asli shell Anda, perfect prompt Anda, dan kerajinan konfigurasi berulang di berbagai sistem dengan mudah. Dampak nol Fisher pada startup shell membuat cangkang Anda tetap rapi dan responsif. Tidak ada tipuan, cukup lancar!
☝️ Meningkatkan dari Fisher
3.x
atau lebih? Tali dan baca ini!
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Fisher memungkinkan Anda menginstal, memperbarui, dan menghapus plugin seperti bos. Bersenang -senang dengan penyelesaian tab Fish dan sintaksis yang kaya saat Anda melakukannya.
Untuk menginstal plugin, gunakan perintah install
dan arahkan ke repositori GitHub.
fisher install jorgebucaran/nvm.fish
Ingin menginstal dari gitlab? Tidak masalah - hanya prepend
gitlab.com/
ke jalur plugin.
Anda juga dapat mengambil versi plugin tertentu dengan menambahkan simbol @
setelah nama plugin, diikuti oleh tag, cabang, atau komit.
fisher install IlanCosman/tide@v5
Dan hei, Anda juga dapat menginstal plugin dari direktori lokal!
fisher install ~/path/to/plugin
Kepala! Fisher memperluas plugin ke direktori konfigurasi ikan Anda secara default, menimpa file yang ada. Jika itu bukan kemacetan Anda, atur
$fisher_path
ke lokasi pilihan Anda dan letakkan di jalur fungsi Anda (#640).
Gunakan perintah list
untuk melihat semua plugin yang Anda instalasi mengkilap.
$ fisher list
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
/home/jb/path/to/plugin
Perintah list
juga bermain bagus dengan ekspresi reguler untuk memfilter output.
$ fisher list ^ /
/home/jb/path/to/plugin
update
perintah untuk penyelamatan! Ini memperbarui satu atau lebih plugin ke versi terbaru dan terhebat mereka.
fisher update jorgebucaran/fisher
Cukup ketik
fisher update
untuk memperbarui semuanya dalam satu gerakan.
Ucapkan selamat tinggal pada plugin yang diinstal dengan perintah remove
.
fisher remove jorgebucaran/nvm.fish
Merasa destruktif? Bersihkan semuanya, termasuk Fisher itu sendiri.
fisher list | fisher remove
fish_plugins
Anda Setiap kali Anda menginstal atau menghapus plugin dari baris perintah, Fisher mencatat semua plugin yang diinstal dalam $__fish_config_dir/fish_plugins
. Tambahkan file ini ke dotfile atau kontrol versi Anda untuk dengan mudah berbagi konfigurasi Anda di berbagai sistem.
Anda juga dapat mengedit file ini dan menjalankan fisher update
untuk melakukan perubahan seperti Pro:
$EDITOR $__fish_config_dir/fish_plugins
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
+ PatrickF1/fzf.fish
- /home/jb/path/to/plugin
fisher update
Ini akan menginstal patrickf1 / fzf.fish , lepas / home / jb / path / to / plugin , dan perbarui yang lainnya.
Plugin dapat mencakup sejumlah file dalam functions
, conf.d
, dan direktori completions
. Sebagian besar plugin hanya satu fungsi atau cuplikan konfigurasi. Lihatlah anatomi plugin khas:
sirip ├── penyelesaian │ └── Flipper.fish ├── conf.d │ └── Flipper.fish Function └─ "Fungsi └── Flipper.fish
File dan direktori non .fish
di dalam lokasi ini akan disalin ke $fisher_path
di bawah functions
, conf.d
, atau completions
masing -masing.
Acara ikan memberi tahu plugin saat sedang diinstal, diperbarui, atau dihapus.
Perlu diingat,
--on-event
harus dimuat ketika acara mereka dipancarkan. Jadi, tempatkan penangan acara Anda di direktoriconf.d
.
# Defined in flipper/conf.d/flipper.fish
function _flipper_install --on-event flipper_install
# Set universal variables, create bindings, and other initialization logic.
end
function _flipper_update --on-event flipper_update
# Migrate resources, print warnings, and other update logic.
end
function _flipper_uninstall --on-event flipper_uninstall
# Erase "private" functions, variables, bindings, and other uninstall logic.
end
Tema seperti plugin ikan lainnya, tetapi dengan file .theme
di direktori themes
. Tema diperkenalkan dalam Fish 3.4
dan bekerja dengan fish_config
builtin. Tema juga dapat memiliki file dalam functions
, conf.d
, atau completions
jika perlu. Lihat seperti apa plugin tema khas:
insang ├── conf.d │ └── insang. Fish └── tema └── insang
$fisher_path
dengan tema Jika Anda menyesuaikan $fisher_path
untuk menggunakan direktori selain $__fish_config_dir
, tema Anda tidak akan tersedia melalui fish_config
. Itu karena ikan mengharapkan tema Anda berada di $__fish_config_dir/themes
, bukan $fisher_path/themes
. Ini belum dapat dikonfigurasi dalam ikan, tetapi ada permintaan untuk menambahkan fitur itu.
Jangan takut! Anda dapat dengan mudah menyelesaikannya dengan Symlinking Fisher's themes
direktori ke dalam konfigurasi ikan Anda. Pertama, cadangan direktori tema yang ada.
mv $__fish_config_dir/themes $__fish_config_dir/themes.bak
Selanjutnya, buat direktori Symlink untuk Tema Fisher.
ln -s $fisher_path/themes $__fish_config_dir/themes
Ingin menggunakan plugin tema dan memelihara tema lokal Anda sendiri? Anda bisa melakukannya juga (#708).
Sementara Fisher tidak mengandalkan repositori plugin pusat, menemukan plugin baru tidak harus terasa seperti menavigasi perairan yang belum dipetakan. Untuk meningkatkan visibilitas plugin Anda dan memudahkan pengguna untuk menemukan, tambahkan topik yang relevan ke repositori Anda menggunakan fish-plugin
. Dengan melakukan itu, Anda tidak hanya berkontribusi pada komunitas Fisher tetapi juga memungkinkan pengguna untuk menjelajahi plugin baru dan meningkatkan pengalaman cangkang ikan mereka. Jangan biarkan penemuan plugin menjadi bisnis yang mencurigakan, tag plugin Anda hari ini!
Fisher memulai perjalanannya pada tahun 2016 oleh @jorgebucaran sebagai manajer konfigurasi shell untuk ikan. Sepanjang jalan, banyak yang membantu membentuknya menjadi seperti sekarang ini. Oh, ikan saya membuka jalan sebagai kerangka ikan populer pertama. @Jethrokuan memberikan dukungan penting selama tahun -tahun awal. Umpan balik candid @Patrickf1 terbukti sangat berharga dan lagi. Bootstrap Fisher awalnya adalah ide cemerlang @Ilancosman. Terima kasih untuk semua kontributor kami! <3
Mit