鱼类的插件经理 - 您友好的互动外壳。抓取新鲜插件!
从命令行控制功能,完成,绑定和摘要。释放壳的真正潜力,完善您的提示,并毫不费力地在不同系统上进行可重复的配置。 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
麻省理工学院