Um gerente de plug -in para peixes - sua concha interativa amigável. Anote plugins frescos!
Assuma o controle de funções, conclusões, ligações e trechos da linha de comando. Liberte o verdadeiro potencial do seu shell, aperfeiçoe o seu prompt e crie configurações repetíveis em diferentes sistemas sem esforço. O impacto zero de Fisher na startup de conchas mantém sua concha e receptiva. Sem truques, apenas vela suave!
☝️ Atualização do Fisher
3.x
ou mais antigo? Aperte e leia isso!
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Fisher permite instalar, atualizar e remover plugins como um chefe. Revelar a conclusão da guia Fish e a rica sintaxe destacando enquanto você está nisso.
Para instalar plugins, use o comando install
e aponte -o para o repositório do GitHub.
fisher install jorgebucaran/nvm.fish
Quer instalar no Gitlab? Não há problema - apenas prenda
gitlab.com/
para o caminho do plug -in.
Você também pode conseguir uma versão específica de um plug -in adicionando um símbolo @
após o nome do plug -in, seguido por uma tag, ramificação ou comprometimento.
fisher install IlanCosman/tide@v5
E ei, você também pode instalar plugins de um diretório local!
fisher install ~/path/to/plugin
Atenção! Fisher expande os plugins no diretório de configuração do peixe por padrão, substituindo os arquivos existentes. Se esse não for o seu atolamento, defina
$fisher_path
como seu local preferido e coloque -o no caminho da função (#640).
Use o comando list
para ver todos os seus plug -ins instalados brilhantes.
$ fisher list
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
/home/jb/path/to/plugin
O comando list
também é bom com expressões regulares para filtrar a saída.
$ fisher list ^ /
/home/jb/path/to/plugin
update
o comando para o resgate! Ele atualiza um ou mais plugins para sua versão mais recente e mais recente.
fisher update jorgebucaran/fisher
Basta digitar
fisher update
para atualizar tudo de uma só vez.
Diga adeus aos plugins instalados com o comando remove
.
fisher remove jorgebucaran/nvm.fish
Sentindo -se destrutivo? Limpe tudo, incluindo o próprio Fisher.
fisher list | fisher remove
fish_plugins
Sempre que você instalar ou remover um plug -in da linha de comando, Fisher anota todos os plugins instalados em $__fish_config_dir/fish_plugins
. Adicione este arquivo ao seu DOTFiles ou controle de versão para compartilhar facilmente sua configuração em diferentes sistemas.
Você também pode editar este arquivo e executar fisher update
para cometer alterações como um profissional:
$EDITOR $__fish_config_dir/fish_plugins
jorgebucaran/fisher
ilancosman/tide@v5
jorgebucaran/nvm.fish
+ PatrickF1/fzf.fish
- /home/jb/path/to/plugin
fisher update
Isso instalará Patrickf1 / fzf.fish , remover / home / jb / path / to / plugin e atualizar todo o resto.
Os plugins podem incluir qualquer número de arquivos nas functions
, conf.d
e diretórios completions
. A maioria dos plugins é apenas uma função única ou um trecho de configuração. Veja a anatomia de um plugin típico:
flipper ├── conclusões │ └── Flipper.fish ├── conf.d │ └── Flipper.fish └─ far uma funções └── Flipper.fish
.fish
conf.d
e functions
$fisher_path
completions
Os eventos de peixe notificam os plugins quando estão sendo instalados, atualizados ou removidos.
Lembre-se de
--on-event
devem ser carregadas quando o evento for emitido. Portanto, coloque seus manipuladores de eventos no diretórioconf.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
Um tema é como qualquer outro plug -in de peixe, mas com um arquivo .theme
Theme no diretório themes
. Os temas foram introduzidos no Fish 3.4
e trabalham com o fish_config
queimado. Um tema também pode ter arquivos nas functions
, conf.d
ou completions
, se necessário. Confira como é um plugin de tema típico:
Gills ├── conf.d │ └── Gills.fish └── temas └── Gills. Theme
$fisher_path
com temas Se você personalizar $fisher_path
para usar um diretório diferente de $__fish_config_dir
, seus temas não estarão disponíveis via fish_config
. Isso porque o Fish espera que seus temas estejam em $__fish_config_dir/themes
, não $fisher_path/themes
. Isso ainda não está configurável em peixes, mas há uma solicitação para adicionar esse recurso.
Não tema! Você pode resolver isso facilmente, simplificando o diretório themes
de Fisher na sua configuração de peixes. Primeiro, faça backup de qualquer diretório de temas existente.
mv $__fish_config_dir/themes $__fish_config_dir/themes.bak
Em seguida, crie um link simbólico para o diretório de temas de Fisher.
ln -s $fisher_path/themes $__fish_config_dir/themes
Deseja usar plug -ins de tema e manter seus próprios temas locais? Você também pode fazer isso (#708).
Enquanto Fisher não depende de um repositório central de plug -in, descobrir novos plugins não precisa parecer que navegar nas águas desconhecidas. Para aumentar a visibilidade do seu plug-in e facilitar a localização dos usuários, adicione tópicos relevantes ao seu repositório usando fish-plugin
. Ao fazer isso, você não está apenas contribuindo para a comunidade Fisher, mas também permitir que os usuários explorem novos plugins e aprimorem a experiência da concha de peixes. Não deixe a descoberta do plug -in ser um negócio suspeito, marque seus plugins hoje!
Fisher iniciou sua jornada em 2016 por @jorgebucaran como gerente de configuração da Shell para peixes. Ao longo do caminho, muitos ajudaram a moldá -lo no que é hoje. Oh, meu peixe abriu o caminho como a primeira estrutura popular de peixes. @Jethrokuan forneceu apoio crucial durante os primeiros anos. O feedback sincero de @Patrickf1 mostrou -se inestimável repetidamente. O Bootstrapping Fisher era originalmente @Ilancosman's Brilliant Idea. Obrigado a todos os nossos colaboradores! <3
Mit