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.xou 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.fishQuer 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@v5E ei, você também pode instalar plugins de um diretório local!
fisher install ~/path/to/pluginAtençã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_pathcomo 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/fisherBasta digitar
fisher updatepara atualizar tudo de uma só vez.
Diga adeus aos plugins instalados com o comando remove .
fisher remove jorgebucaran/nvm.fishSentindo -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 updateIsso 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-eventdevem 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.bakEm seguida, crie um link simbólico para o diretório de temas de Fisher.
ln -s $fisher_path/themes $__fish_config_dir/themesDeseja 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