https://github.com/trinhminhtriet/ftree
Terminal-based file tree manipulation tool for navigating, viewing, and managing directories and files efficiently.
https://github.com/trinhminhtriet/ftree
cli file-explorer file-manager go productivity terminal tree
Last synced: 15 days ago
JSON representation
Terminal-based file tree manipulation tool for navigating, viewing, and managing directories and files efficiently.
- Host: GitHub
- URL: https://github.com/trinhminhtriet/ftree
- Owner: trinhminhtriet
- License: mit
- Created: 2024-12-14T13:44:49.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-09-15T20:16:52.000Z (21 days ago)
- Last Synced: 2025-09-15T22:23:30.109Z (20 days ago)
- Topics: cli, file-explorer, file-manager, go, productivity, terminal, tree
- Language: Go
- Homepage:
- Size: 62.5 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 FTree
```text
_____ _____
| ___||_ _| _ __ ___ ___
| |_ | | | '__| / _ \ / _ \
| _| | | | | | __/| __/
|_| |_| |_| \___| \___|```
🚀 FTree: Terminal-based file tree manipulation tool for navigating, viewing, and managing directories and files efficiently.
## ✨ Features
- **File Navigation**: Easily navigate through directories and files using keyboard shortcuts.
- **File Viewing**: View file contents directly within the terminal.
- **File Operations**: Perform basic file operations like create, delete, rename, and move.
- **Search**: Quickly search for files and directories.
- **File System Watcher**: Automatically update the file tree on file system changes.
- **Customizable UI**: Customize the appearance with various themes and styles.
- **Cross-Platform**: Works on macOS, Linux, and Windows.
- **Lightweight**: Minimal dependencies and fast performance.
- **Extensible**: Easily extend functionality with plugins.## 🚀 Installation
### Binary
Download from [latest releases ](https://github.com/trinhminhtriet/ftree/releases)
### From source
```sh
git clone https://github.com/trinhminhtriet/ftree.git
cd ftreemake install
```## 💡 Usage
```bash
ftree [flags] [directory]Flags:
-i In-place render (without alternate screen)
-pad uint
Edge padding for top and bottom (default 5)
```Key bindings:
| key | desc |
| ------------- | ------------------------------------------------------ |
| j / arr down | Select next child |
| k / arr up | Select previous child |
| h / arr left | Move up a dir |
| l / arr right | Enter selected directory |
| d | Move selected child (then 'p' to paste) |
| y | Copy selected child (then 'p' to paste) |
| D | Delete selected child |
| if / id | Create file (if) / directory (id) in current directory |
| r | Rename selected child |
| e | Edit selected file in $EDITOR |
| gg | Go to top most child in current directory |
| G | Go to last child in current directory |
| enter | Collapse / expand selected directory |
| esc | Clear error message / stop current operation |
| ? | Toggle help |
| q / ctrl+c | Exit |## 🤝 How to contribute
We welcome contributions!
- Fork this repository;
- Create a branch with your feature: `git checkout -b my-feature`;
- Commit your changes: `git commit -m "feat: my new feature"`;
- Push to your branch: `git push origin my-feature`.Once your pull request has been merged, you can delete your branch.
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.