魚類的插件經理 - 您友好的互動外殼。抓取新鮮插件!
從命令行控制功能,完成,綁定和摘要。釋放殼的真正潛力,完善您的提示,並毫不費力地在不同系統上進行可重複的配置。 Fisher對Shell Startup的零影響使您的外殼保持齊全和響應能力。沒有頭,只是航行順利!
☝️從Fisher
3.x
或更早的時間裡升級?綁帶並閱讀此!
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Fisher可以讓您像老闆一樣安裝,更新和刪除插件。陶醉於Fish的標籤完成,並在您使用時強調語法。
要安裝插件,請使用install
命令並將其指向GitHub存儲庫。
fisher install jorgebucaran/nvm.fish
想從Gitlab安裝嗎?沒有問題 - 只是predent
gitlab.com/
到插件路徑。
您還可以通過在插件名稱之後添加@
符號來捕獲特定版本的插件,然後是標籤,分支或提交。
fisher install IlanCosman/tide@v5
嘿,您也可以從本地目錄安裝插件!
fisher install ~/path/to/plugin
小心! Fisher默認情況下將插件擴展到您的魚類配置目錄中,從而覆蓋現有文件。如果不是您的果醬,請將
$fisher_path
設置為您的首選位置,然後將其放在您的功能路徑中(#640)。
使用list
命令查看您所有閃亮的安裝插件。
$ fisher list
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
/home/jb/path/to/plugin
list
命令還具有用於過濾輸出的正則表達式的播放。
$ fisher list ^ /
/home/jb/path/to/plugin
update
命令進行營救!它將一個或多個插件更新為其最新,最出色的版本。
fisher update jorgebucaran/fisher
只需鍵入
fisher update
即可更新所有內容。
通過remove
命令告別安裝插件。
fisher remove jorgebucaran/nvm.fish
感到破壞性?消滅所有的東西,包括費舍爾本身。
fisher list | fisher remove
fish_plugins
文件每當您從命令行中安裝或刪除插件時,Fisher在$__fish_config_dir/fish_plugins
中將所有已安裝的插件放下。將此文件添加到您的互聯網或版本控件中,以輕鬆在不同系統上共享您的配置。
您還可以編輯此文件並運行fisher update
以進行更改,例如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
這將安裝patrickf1 / fzf.fish ,刪除 / home / jb / path / to / plugin ,並更新其他所有內容。
插件可以在functions
, conf.d
和completions
目錄中包含任何數量的文件。大多數插件只是一個功能或配置段。看典型插件的解剖結構:
翻板 ├ - ─完成 │└└前。魚類 ├ -嗎? │└└前。魚類 └ -功能 └ - 鰭魚
這些位置內部的非.fish
文件和目錄將分別在functions
, conf.d
或completions
下複製到$fisher_path
。
FISH Events安裝,更新或刪除時通知插件。
請記住,當事件發射時,必須加載
--on-event
功能。因此,將活動處理程序放在conf.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
主題與任何其他魚類插件一樣,但themes
目錄中的.theme
。主題是在Fish 3.4
中引入的,並與fish_config
內置。主題也可以在必要時具有functions
, conf.d
或completions
文件。查看一個典型的主題插件是什麼樣的:
ills ├ -嗎? ││ - gIlls.魚 └ -主題 └ - 吉爾
$fisher_path
與主題如果您自定義$fisher_path
以使用$__fish_config_dir
以外的目錄,則您的主題將無法通過fish_config
提供。那是因為Fish期望您的主題為$__fish_config_dir/themes
,而不是$fisher_path/themes
。這尚不可在魚中配置,但是有一個請求添加該功能。
害怕不要!您可以通過將Fisher的themes
目錄與魚類配置相結合來輕鬆解決此問題。首先,備份任何現有主題目錄。
mv $__fish_config_dir/themes $__fish_config_dir/themes.bak
接下來,為Fisher的主題目錄創建一個符號鏈接。
ln -s $fisher_path/themes $__fish_config_dir/themes
是否想使用主題插件並維護自己的本地主題?您也可以做到這一點(#708)。
儘管Fisher不依賴中央插件存儲庫,但發現新插件並不需要感覺到未知的水域。為了提高插件的可見性並使用戶更容易找到使用fish-plugin
向您的存儲庫中添加相關主題。通過這樣做,您不僅為Fisher社區做出了貢獻,還可以使用戶能夠探索新的插件並增強他們的魚殼體驗。不要讓插件發現是一項腥業務,請立即標記您的插件!
費舍爾(Fisher)於2016年由@jorgebucaran擔任Fish的外殼配置經理。一路上,許多人將其塑造成今天的現狀。哦,我的魚是第一個流行的魚類框架。 @jethrokuan在早期提供了重要的支持。 @Patrickf1的坦率反饋一次又一次地證明了無價的反饋。 Bootstapping Fisher最初是 @Ilancosman的絕妙主意。感謝我們所有的貢獻者! <3
麻省理工學院