The Fishshell Framework
O Oh My Fish fornece infra-estrutura básica para permitir que você instale pacotes que estendam ou modifiquem a aparência do seu shell. É rápido, extensível e fácil de usar.
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help
Ou baixar e executar:
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install
O Oh My Fish inclui um pequeno utilitário omf
para buscar e instalar novos pacotes e temas.
Atualiza o Oh My Fish, todos os pacotes do repositório, e todos os pacotes instalados.
- Quando chamado sem argumentos, atualiza o framework e todos os pacotes instalados.
- Voce pode escolher atualizar somente o framework, executando
omf update omf
. - Para uma atualização seletiva de pacotes, liste apenas os nomes dos pacotes que pretende atualizar. Você ainda pode incluir "omf" na lista para atualizar o framework também.
Instala um ou mais pacotes.
- Voce pode instalar pacotes diretamente pela URL via
omf install URL
- Quando chamado sem argumentos, instala os pacotes ausentes do bundle.
Gerencie os repositórios de pacotes instalados pelo usuário. Repositórios de pacotes são onde os pacotes vêm a ser usados por comandos como omf install
. Por padrão o repositorio oficial é sempre instalado e disponível.
Lista dos pacotes instalados.
Aplica um tema. Para lista os temas disponíveis, digite omf theme
. Você pode também visualizar os temas disponíveis antes da instalação.
Remove um tema ou pacote.
Os pacotes podem usar ganchos de desinstalação, portanto, a limpeza personalizada de recursos pode ser feita ao desinstalá-la. Ver Desinstalação para mais informações.
Recarrega Oh My Fish e todos os plugins usando exec
para substituir o processo shell atual com um novo.
Este comando tenta ser o mais seguro possivel, suavizando os efeitos colaterais causados pelo
exec
e impedindo o recarregamento no caso de processos em plano de fundo.
Cria uma estrutura para um novo pacote ou tema.
Cria um novo diretorio
$OMF_CONFIG/{pkg | themes}/
com um template.
Procura no banco de dados de Oh My Fish para um determinado pacote, tema ou ambos. Ele também suporta pesquisa fuzzy, então se você não tem certeza do nome, você pode simplesmente buscar omf search simple
.
Obtém ou altera o canal de atualização.
Dois canais estão disponíveis por padrão: o canal stable
que fornece atualizações estáveis com a última versão etiquetada de Oh My Fish e dev
que fornece as últimas alterações em desenvolvimento. O canal de atualização atualmente definido determina para qual versão omf update
atualizará.
Use para solucionar problemas antes de abrir um issue.
Desinstala o Oh My Fish.
O instalador do Oh My Fish coloca seu código de inicialização no arquivo de configuração do fish (~/.config/fish/config.fish
).
Toda vez que você abre um novo shell, o código de inicialização define o diretório de instalação do Oh My Fish e o caminho da configuração (~/.config/omf por padrão), chamando o script init.fish posteriormente, o qual carrega os pacotes, temas e seus arquivos de inicialização personalizados.
Para mais informações confira a FAQ.
O diretório $ OMF_CONFIG
representa o estado do usuário de Oh My Fish. É o candidato perfeito para ser adicionado aos seus dotfiles e / ou ao sistema de controle de versão. Existem quatro arquivos importantes:
theme
- O tema atualbundle
- Lista atual dos pacotes/temas instaladosinit.fish
- Script personalizado que é executado depois de executar shellbefore.init.fish
- Script personalizado que é executado antes de executar shellkey_bindings.fish
- Teclas de atalho customizadas onde você pode usar o comandobind
livremente.
É altamente recomendado que customize os comandos de inicialização no arquivo init.fish
invés do ~/.config/fish/config.fish
, com isso permite a você manter todo $OMF_CONFIG
diretamente sobre o controle de versão.
Se você precisar executar comandos de inicialização antes Oh My Fish iniciar os plugins, coloque eles em before.init.fish
. Se está inseguro, é melhor coloca-los em init.fish
.
Um dos mais comuns comandos de inicialização usados no init.fish
é a definição de variáveis. Muito provavelmente, essas variáveis precisam estar disponíveis em qualquer sessão do shell. Para conseguir isso, defina-os globalmente. Por exemplo:
# Golang developers might need this one
set -xg GOPATH $HOME/gocode
# Python developers otherwise
set -xg PYTHONDONTWRITEBYTECODE 1
A todo momento pacotes/temas são instalados ou removidos, o arquivo bundle
é atualizado. Você também pode editar eles manualmente e executar omf install
apos concluir as alterações. Por favor note que enquanto pacotes/temas adicionados ao bundle são automaticamente instalados, um pacote/tema removido do bundle não sera removido das instalações do usuário.
O Oh My Fish usa uma arquitetura moderna e bem definida de plugins para facilitar o desenvolvimento de um plugin, incluindo eventos de inicialização/exclusão, funções de backup. consulte a documentação para mais detalhes.