Project Icon

zellij

整合终端工具打造高效开发环境的配置项目

Yazelix整合了yazi文件管理器、zellij终端复用器和helix文本编辑器,为开发者提供了一个功能丰富的终端IDE环境。通过优化的布局和按键绑定,项目实现了文件树侧边栏、灵活的窗口管理和高效的文本编辑功能。Yazelix的配置简单直观,适合那些希望在终端中获得集成开发体验的用户。

Yazelix v3:带文件树的Helix!

概述

Yazelix是一个整合了yazi、zellij和helix的配置,因此得名,明白了吗?

  • Zellij负责整体协调,yazi作为侧边栏,helix作为编辑器
  • 你可以通过切换zellij布局来打开和关闭侧边栏(按alt ]alt [
  • 所有与helix冲突的zellij快捷键都被重新映射(见底部列表)
  • 在"侧边栏"中选中文件按回车时会调用helix,在zellij中新建一个窗格打开
    • 如果以这种方式调用helix,退出helix时该窗格也会关闭
    • 注意:建议从你的shell运行zellij(nushell用nu -c "zellij -l welcome")。这样可以加载环境变量如EDITOR和HELIX_RUNTIME
  • 这个项目包含我的zellij和yazi配置文件,几乎像个插件,但其实就是个高级配置!

基本布局

初始布局包含一个可用窗格(实际上有4个,包括标签栏、状态栏和侧边栏): 图片

  • 顶部是标签栏
  • 底部是状态栏
  • 左侧是Yazi窗格(宽度20%)作为侧边栏
  • 右侧是空窗格

切换布局行为

  • 通过切换布局来打开和关闭侧边栏(至少需要两个打开的窗格才能切换)。
  • 新窗格会堆叠在左侧出现,但不会改变布局。
  • 你可以根据需要在layouts中的KDL文件中添加更多切换布局。

两个或更多窗格打开且侧边栏打开: 侧边栏打开

两个或更多窗格打开且侧边栏关闭: 侧边栏关闭


相比v2的改进

  • 之前yazi配置文件在单独的仓库中,现在全部集成在这里!
    • 感谢Zellij Discord中的Zykino提供这个建议!
  • Yazi的维护者(真是荣幸!)添加了一个init.lua文件,使yazi的状态栏在小宽度下看起来非常好
  • 项目有了名字!Yazelix。之前没有名字,那是个错误。
  • 这个改进很棒:我重新映射了6个zellij快捷键以避免与helix冲突
    • 使用alt m创建新窗格,其他的在zellij的状态栏中
    • 这在layouts/yazelix.kdl文件中配置,如果你想改变什么的话

设置说明

  1. 确保yazizellijhelix已安装并在路径中
  2. 删除(或重命名)你原来的~/.config/zellij文件夹,然后将此仓库克隆到你的~/.config目录
  3. 你可以通过zellij -l welcome或直接zellij -l ~/.config/zellij/layouts/yazelix打开此布局
  • 我只是设置终端配置在启动时打开zellij,所以我从不离开zellij(我的alacritty文件在这里

就这样,随时欢迎提出问题和PR 😉


为什么使用这个项目?

  • 我认为主要优点之一是这个项目配置非常简单。没有shell脚本魔法
  • 易于配置和个性化
  • 我每天都在使用它,会根据需求进行更改,保持更新和改进
  • 即使你不关心侧边栏,快捷键映射也可能有帮助

可能的改进

  • 能够在只有一个窗格和侧边栏打开时关闭侧边栏(参见这里的问题)
  • 完整Yazi窗格: 在另一个切换布局中集成完整的Yazi窗格,显示父目录和预览,而不仅仅是当前目录
    • 这已经实现,但还有一些问题需要解决。
    • 要测试,取消注释yazi_full切换布局和窗格,并将窗格约束增加一个
    • 问题1:一些窗格在不应该交换时与其他窗格交换,比如侧边栏和普通窗格
    • 问题2:你必须"走过"关闭的窗格,这不太好
    • 非常感谢zellij的维护者和其他人在这方面的帮助
  • 更高级的Helix集成: 目前,在Yazi中选择的文件会在Zellij中作为新窗格打开,运行Helix。如果能在Helix内部作为分割窗格或缓冲区打开会更好(尽管这可能很难实现)。
  • 将仓库重命名为yazelix: 我尝试过,但使用自定义路径到布局文件夹时~$HOME无法工作(参见这里这里的一些问题)
  • 为helix插件系统调整: 主要是将yazi变成一个完整窗格,取消侧边栏,因为helix有文件树插件

快捷键重映射

新Zellij快捷键原快捷键使用该原快捷键的Helix操作重映射的Zellij操作
Ctrl eCtrl ojump_backwardSwitchToMode "Session"
Ctrl yCtrl ssave_selectionSwitchToMode "Scroll"
Alt wAlt ishrink_selectionMoveTab "Left"
Alt qAlt oexpand_selectionMoveTab "Right"
Alt mAlt nselect_next_siblingNewPane
Alt 2Ctrl bmove_page_upSwitchToMode "Tmux"

如果发现冲突,请提出issue。请记住,与tmux模式的兼容性不是这个项目的目标。


注意事项

  • 我推荐使用alacritty作为你的终端
    • 因为它是一个"笨"终端,没有窗格,没有标签。这意味着需要担心的快捷键冲突更少,功能重叠更少
    • 性能非常好
    • 但我确实想探索更现代的选项,只要它们有"纯模式",比如这个
    • 你可以在这里查看我的alacritty文件(包括所有alacritty主题)
  • 使用nushell,它是一个很棒的shell,快速、美观,而且是一种正式的编程语言。为什么不呢?
  • 如果你用nvim测试并成功了,请告诉我(参见这里的问题)
  • 特别感谢yazi和zellij的维护者(以及Discord成员)在一些问题上的帮助。也要感谢helix的贡献者们!

类似项目

  • Shelix:Shelix旨在最大化利用Tmux作为IDE的潜力,增强高效的Helix编辑器的功能,围绕一个执行IDE相关操作的交互式菜单
  • Helix-Wezterm:借助WezTerm和CLI工具将Helix转变为IDE
  • Helix中使用Zellij的文件树选择器:Yazi可以用作文件选择器,在当前Helix实例(运行在Zellij会话中)中浏览和打开文件
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号