Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/BrookJeynes/zfe
A small unix terminal file explorer.
https://github.com/BrookJeynes/zfe
Last synced: 29 days ago
JSON representation
A small unix terminal file explorer.
- Host: GitHub
- URL: https://github.com/BrookJeynes/zfe
- Owner: BrookJeynes
- License: mit
- Created: 2024-05-09T05:45:43.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-07T20:54:22.000Z (about 1 month ago)
- Last Synced: 2024-11-08T05:13:01.169Z (about 1 month ago)
- Language: Zig
- Homepage:
- Size: 82 KB
- Stars: 34
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - BrookJeynes/zfe
README
zfeUnix terminal file explorer, written in Zig
**zfe** is a small unix terminal file explorer written in Zig.
![image](https://github.com/BrookJeynes/zfe/assets/25432120/811956b1-9819-4213-9bd8-67700d901ddd)
## Features
- **Simple to use**: Minimal and customizable keymaps with vim binding support.
- **Image Previews**: Preview images with Kitty terminal.
- **File Previews**: Preview contents of files directly in the terminal.
- **Configurable Options**: Customize settings via an external configuration file.
- **Fuzzy Search**: Fuzzy search within directories.## Install
To install zfe, check the "Releases" section in Github and download the
appropriate version or build locally via `zig build -Doptimize=ReleaseSafe`.## Configuration
Configure `zfe` by editing the external configuration file located at either:
- `$HOME/.config/zfe/config.json`
- `$XDG_CONFIG_HOME/zfe/config.json`.An example config file can be found [here](https://github.com/BrookJeynes/zfe/blob/main/example-config.json).
Config schema:
```
Config = struct {
.show_hidden: bool,
.sort_dirs: bool,
.show_images: bool,
.preview_file: bool,
.styles: Styles,
}Styles = struct {
.selected_list_item: Style,
.list_item: Style,
.file_name: Style,
.file_information: Style
.error_bar: Style,
.info_bar: Style,
}Style = struct {
.fg: Color,
.bg: Color,
.ul: Color,
.ul_style = .{
off,
single,
double,
curly,
dotted,
dashed,
}
.bold: bool,
.dim: bool,
.italic: bool,
.blink: bool,
.reverse: bool,
.invisible: bool,
.strikethrough: bool,
}Color = enum{
default,
index: u8,
rgb: [3]u8,
}
```## Keybinds
```
Normal mode:
q / :Exit.j / :Go down.
k / :Go up.
h / / - :Go to the parent directory if exists.
l / :Open item or change directory.
gg :Go to the top.
G :Go to the bottom.
c :Change directory via path. Will enter input mode.R :Rename item. Will enter input mode.
D :Delete item.
u :Undo delete/rename.d :Create directory. Will enter input mode.
% :Create file. Will enter input mode.
/ :Fuzzy search directory. Will enter input mode.Input mode:
:Cancel input.
:Confirm input.
```## Optional Dependencies
- `pdftotext` to view PDF previews.## Contributing
Contributions, issues, and feature requests are always welcome! This project is
currently using the latest stable release of Zig (0.13.0).