Yazelix v5
Visão geral
Yazelix integra Yazi, Zellij e Helix, daí o nome, entendeu?
- Zellij orquestra tudo, com Yazi como barra lateral e hélice como editor
- Você pode abrir e fechar a barra lateral alternando os layouts de Zellij (pressione
alt ] e alt [ )- Ou se você só abriu um painel, faça -o com tela cheia (
ctrl p + f ou alt f )
- Cada ligação de chave de Zellij que conflita com a helix é remapeada (veja -os na parte inferior)
- Quando você pressiona Enter em um arquivo/pasta na "barra lateral", as seguintes coisas acontecem:
- Se helix já estiver aberto, em um painel próximo à barra lateral, ele abrirá esse arquivo/pasta em um novo buffer naquele painel (mágica)
- Se a helix não estiver aberta, ele CD na pasta do arquivo (ou a própria pasta) e depois a abrirá na hélice
- Nota: É altamente recomendável que você deixe o script de shell executar em paz, então durante esses milissegundos não se movem
- Este projeto contém meus arquivos de configuração para Zellij e Yazi, quase como um plugin ou algo assim
- Mas são apenas alguns arquivos de configuração com um pouco de script de shell!
Visualização

Melhorias de V5 sobre v4.1
- Agora, quando você abre um novo painel além do painel da barra lateral, ele se acumulará por padrão, focando em painéis completos, em vez de divididos
- Altere o nome da guia Zellij automaticamente para o diretor do arquivo que você abre de Yazi
- As duas alterações acima permitem que você se concentre muito mais no uso de uma guia por projeto! Para que cada guia tenha um diretor.
- Isso ajuda você a saber visual e mentalmente o que cada guia está fazendo.
- Agora, se você quiser abrir uma divisão, ainda pode fazê -lo assim:
- Digite
ctrl p Então r para uma divisão à direita - Tipo
ctrl p Então d para uma divisão na direção "Down"
- Nova regra Importante: Para abrir um arquivo de Yazi em um buffer Yazelix existente, o avião HX deve ser o mais alto da pilha (ou um único painel sem pilha), caso contrário, abrirá uma nova instância da hélice
- Se o seu painel de hélice não for o topo, basta pressionar
ctrl h e movê -lo com k
- Correção importante: os pedidos de chave remapeados foram perdidos anteriormente ao se apegar a uma sessão ou ressuscitar
- Correção importante: #17 não conseguiu verificar se o comando em execução no painel atual é helix
- Correção: ligações de movimentos de movimentação novamente. Eles foram removidos anteriormente e agora funcionam no modo de guia
- Adicionou uma licença

Instruções para configurá -lo
Verifique se Yazi, Zellij, Helix e Nushell estão instalados e em seu caminho
Basta clonar este repositório em seu ~/.config dir
Configure o Wezterm:
um. Crie ou abra seu arquivo ~/.wezterm.lua
b. Adicione o seguinte conteúdo:
-- Pull in the wezterm API
local wezterm = require ' wezterm '
-- This will hold the configuration.
local config = wezterm . config_builder ()
-- This is where you actually apply your config choices
-- For example, changing the color scheme:
config . color_scheme = ' Abernathy '
-- Spawn a nushell shell in login mode
config . default_prog = { ' nu ' , ' -c ' , " zellij -l welcome --config-dir ~/.config/yazelix/zellij options --layout-dir ~/.config/yazelix/zellij/layouts " }
-- Others
config . hide_tab_bar_if_only_one_tab = true
config . window_decorations = " NONE "
-- and finally, return the configuration to wezterm
return config
Notas:
- Para configuração extra, visite: https://wezfurlong.org/wezterm/config/files.html
- Se você usar outro shell, precisará configurá -lo para executar algo como
nu -c "zellij -l welcome --config-dir ~/.config/yazelix/zellij options --layout-dir ~/.config/yazelix/zellij/layouts" na inicialização- ou
zellij -l welcome --config-dir ~/.config/yazelix/zellij options --layout-dir ~/.config/yazelix/zellij/layout (mas você ainda precisa nu de qualquer maneira) - Outra opção, se desejar, execute este comando manualmente toda vez que você abrir Yazelix
- A concha recomendada é o Wezterm. Mais sobre isso na seção de notas abaixo
- Opcional: o uso do Zoxide aprimora a experiência Yazelix dez vezes, deixe-me dizer a você ... e se integra a Yazi
É isso, e fique à vontade para abrir problemas e prs
Por que usar este projeto?
- Este projeto é relativamente simples de entender, o funcionamento interno e tudo. Apenas um pouco de magia de scripts de shell, mas principalmente arquivos de configuração
- Fácil de configurar e tornar o seu
- Eu dirijo diariamente e vou alterá -lo de acordo com minhas necessidades, mantendo -o atualizado e melhorando
- Zero Keybindings de conflito, barra lateral muito poderosa (aprender Yazi é um processo, mas você pode fazer coisas muito legais)
Solução de problemas
- Se não estiver funcionando, tente atualizar Yazi e Zellij para a versão mais recente
Possíveis melhorias
- Yazelix apenas detectará hélice se for adjacente à barra lateral. Uma coisa menor.
- Quando você abre uma nova guia, Yazi abre como um painel único, ocupando todo o espaço
- Mas não mostra os pais e as colunas de visualização, mostra apenas a coluna DIR atual
- Para abordar isso, eu teria que reabrir Yazi com uma configuração diferente?
Remapas de pedidos de chave
| Novo Zellij Keybinding | Chaves anteriores | Ação helix que usa essa chave anterior | Ação Zellij remapeada |
|---|
| Ctrl e | Ctrl o | jump_backward | SwitchTomode "Sessão" |
| Ctrl y | Ctrl s | save_selection | SwitchTomode "Roll" |
| Alt w | Alt i | Shrink_selection | Movetab "esquerda" |
| Alt q | Alt o | Expand_selection | Movetab "Right" |
| Alt m | Alt n | select_next_sibling | Newpane |
| Alt 2 | Ctrl b | move_page_up | SwitchTomode "tmux" |
Se você encontrar um conflito, abra um problema. Lembre -se, porém, que a compatibilidade com o modo TMUX não é um objetivo deste projeto.
Descobertabilidade de pedidos de chave
- Zellij: Zellij é ótimo nisso, funciona fora da caixa, você verá visualmente todos os pedidos de chave na barra de status
- Helix: Helix é o mesmo honestamente
- Yazi: Existe apenas uma ligação para lembrar:
~ Isso mostra todos os pedidos de chaves e comandos (pressione alt f para fazer a tela completa do painel Yazi) - Nushell: Você pode executar
tutor em Nushell, você pode ler o https://www.nushell.sh/book/, você pode executar help commands | find regex (se você quiser aprender sobre Regex, por exemplo, mas pode ser qualquer coisa)- Bem, eu uso muito
ctrl r em Nushell, ele abre uma pesquisa de história interativa
Dicas de Keybindings
- Zellij: digite
alt f para fazer sua tela cheia (e traseira) - Zellij: digite
ctrl p e depois r para uma divisão à direita - Zellij: Tipo
ctrl p Então d para uma divisão na direção "Down" - Yazi: Tipo
z para usar o Zoxide (Fuzzy Localize em caminhos conhecidos) - Yazi: Tipo
Z para usar o FZF (Fuzzy Encontre para caminhos desconhecidos) - Yazi: digite
SPACE para selecionar arquivos - Yazi: Digite
y para yank e Y para unyank (cancela a cópia) - Yazi: digite
x para cut e X para uncut (cancela o corte) - Yazi: Digite
a para add um arquivo ( filename.ext ) ou uma pasta ( foldername/ )
Pontas
- Você pode adicionar mais layouts de swap conforme necessário, usando os arquivos KDL nos
layouts . - Eu recomendo usar o Wezterm como seu terminal
- Porque ele pode ser configurado para remover suas abas nativas, muito extensível, incluindo seus pedidos de chave (ainda não encontrei um conflito)
- muito desempenho
- Se você testar isso com o NVIM e funcionar, me avise (veja o problema aqui)
- Agradecimentos especiais aos colaboradores/mantenedores de Yazi, Zellij e Helix!
- O autor de Yazi graciosamente contribuiu com algum código Lua para fazer com que a barra de status de Yazi pareça incrível na pequena largura de uma barra lateral
- Se você acidental fechar a barra lateral, poderá recuperá -la com
env YAZI_CONFIG_HOME=~/.config/yazelix/yazi/sidebar yazi
Estou perdido, é muita informação
Nesse caso, aprenda a usar o Zellij por si próprio primeiro. E então, opcionalmente, Yazi. E depois releia o readme.
Contribuindo para Yazelix
Veja aqui em contribuir
Projetos semelhantes
- Seletor de árvore de arquivo em helix com zellij
- Yazi pode ser usado como seletor de arquivos para navegar e abrir arquivos na sua instância atual da hélice (em execução em uma sessão de Zellij)