前言
linux有一个概念叫万物皆文件,当我们需要修改几个文件时只需要cd到目录后用编辑器打开就可以了,但是当要修改的文件多起来,如果还是一个个的输入命令就有一点繁琐了,而这就是文件管理器存在的意义,而yazi就是终端下的文件管理器
你也可以看看我的yazi配置:
https://codeberg.org/Aidens-fox/dwm/src/branch/main/yazi

基本操作
如果你是vim用户那你肯定会十分熟悉这些快捷键,因为yazi的快捷键和vim的快捷键基本相同
| 按键 | 作用 | 按键 | 作用 | |
|---|---|---|---|---|
| h | 左 | q | 退出 | |
| l | 右 | r | 重命名 | |
| j | 下 | . | 显示隐藏文件 | |
| k | 上 | y | 复制 | |
| p | 粘贴 | d | 删除(回收站) | |
| D | 删除(永久) | a | 新建文件 | |
| : | 执行命令 | o | 打开文件 | |
| / | 查找文件 | x | 剪贴 | |
| tab | 详细信息 | c-c | 复制文件路径 | |
| t | 新建工作区 | [] | 切换工作区 | |
| 1~9 | 选择工作区 | c-f | 复制文件名 | |
| ctrl+c | 关闭当前工作区 | Enter | 打开文件 | |
| n | 跳转到匹配项 | N | 跳转到下一个匹配项 |
配置文件
如果你要进一步定制yazi,那就需要修改配置文件,在.config目录下新建名为yazi的文件夹,文件结构如下:
.config/yazi
├── flavors ** #主题文件夹 **
├── init.lua ** #启动时执行的 Lua 脚本 **
├── keymap.toml ** #快捷键 **
├── package.toml ** #声明本地插件及其依赖 **
├── plugins ** #插件文件夹 **
├── theme.toml ** #整体主题配置 **
└── yazi.toml ** #主配置文件 **
1. yazi.toml
如果你要自定义文件打开方式,只需要在yazi.toml添加:
1 | [opener] |
其他比如鼠标操作支持,只需要在配置文件中添加:
1 | [manager] |
或mouse_events = true #启用全部鼠标事件
其他的配置请参考官方文档:
https://yazi-rs.github.io/docs/configuration/yazi/
2.keymap.toml
如果你需要修改快捷键或添加快捷键(大部分插件都需要添加快捷键),比如我要添加一个快速切换目录的快捷键
1 | [mgr] |
“on”是快捷键的按键,”run”是执行的命令,”desc”是说明
其他的比如添加插件需要的快捷键绑定
1 | [mgr] |
其他请参考官方文档:
https://yazi-rs.github.io/docs/configuration/keymap
3.theme.toml
如果你更换主题,你可以使用插件管理器安装主题后在theme.toml指定
1 | [flavor] |
4.插件&插件管理器
在yazi上如果你要优化或添加一些功能,你可以使用yazi的插件管理器-ya,来安装插件,插件存储在plugins文件夹下
ya pkg add 作者/插件
卸载插件
ya pkg delete 作者/插件
或直接在plugins下删除相关插件文件夹
这是我安装的插件
Plugins: #插件
imsi32/yatline (c5d4b48) #状态栏
imsi32/yatline-gruvbox (f570b77) #状态栏(gruvbox)主题
yazi-rs/plugins:smart-filter (442d908) #智能过滤
yazi-rs/plugins:file-labels (442d908) #文件标记
yazi-rs/plugins:git (442d908) #git状态
yazi-rs/plugins:restore (442d908) #文件恢复
boydaihungst/restore (0e08704) #文件恢复
yazi-rs/plugins:full-border (442d908) #界面美化
yazi-rs/plugins:mount (442d908) #u盘挂载
Flavors:#主题
bennyyip/gruvbox-dark (619fdc5)
插件推荐是优先使用官方维护的插件:
https://github.com/yazi-rs/plugins
其他说明请参考官方文档:
https://yazi-rs.github.io/docs/cli/
5.init.lua
init.lua是启动时执行的 Lua 脚本,可以配置插件的一些选项和启动比如改变yatline的样式:
1 | local gruvbox_theme = require("yatline-gruvbox"):setup("dark") |
或改变full-border的样式:
1 | require("full-border"):setup{ |