# vtree-tree
A modern, interactive terminal-based file tree viewer with file panel support.
[](https://badge.fury.io/py/vtree-tree)
[](https://pypi.org/project/vtree-tree/)
## Features
- 🌳 **Interactive file tree** - Navigate with mouse and keyboard
- 📁 **Dual view modes** - Toggle between inline files and separate file panel
- 📋 **Clipboard integration** - Copy paths with a single keystroke
- 🎨 **Modern terminal theme** - Clean, professional dark interface
- 👁️ **Hidden file toggle** - Show/hide dotfiles and system files
- 📊 **File details** - View sizes, modification dates, and file information
- ⚡ **Smart filtering** - Automatically ignores common development artifacts
- 🖱️ **Mouse support** - Full mouse navigation and selection
- ✏️ **Built-in editor** - Edit files directly with vim-like interface
- 🔒 **Safe editing** - Read-only mode with insert mode protection
## Installation
```bash
pip install vtree-tree
```
## Usage
```bash
# View current directory
vtree
# View specific directory
vtree /path/to/directory
# Get help
vtree --help
```
## Keyboard Shortcuts
| Key | Action |
|-----|--------|
| `q` / `Ctrl+C` | Quit |
| `r` | Refresh tree |
| `f` | Toggle hidden files |
| `p` | Toggle file panel mode |
| `c` | Copy current path to clipboard |
| `d` | Delete selected files/folders |
| `e` | Edit selected file |
| `h` / `?` | Toggle help panel |
| `↑↓←→` | Navigate tree |
## View Modes
### Inline Mode (Default)
Files and directories are shown together in a traditional tree structure.
### Panel Mode
Press `p` to toggle panel mode where:
- Left panel shows only directories
- Right panel shows files in the selected directory with details (size, date)
- Perfect for browsing large directories
## Copy to Clipboard
Press `c` to copy the current path to your clipboard:
- **On a folder**: Copies the folder path
- **On a file**: Copies the parent directory path
Great for quickly navigating in terminal sessions:
```bash
vtree
# Press 'c' on desired folder
cd # Paste path here
```
## File Editing
vtree includes a built-in text editor with vim-like workflow:
### Opening Files
Press `e` on any file to open it in **read-only mode**:
- View file contents without risk of accidental changes
- Navigate through the file with arrow keys
### Editing Mode
Once in the file viewer, press `i` to enter **insert mode**:
- Now you can edit the file content
- The title bar shows "Insert Mode" to indicate editing is active
- Press `Ctrl+S` to save your changes
### Safety Features
- **Read-only by default**: Files open in view-only mode
- **Unsaved changes warning**: If you try to close with unsaved changes, you'll get a confirmation dialog:
- `Y`: Save and close
- `N`: Close without saving
- `Esc`: Cancel and return to editing
### Editor Controls
| Key | Action |
|-----|--------|
| `e` | Open file in read-only mode |
| `i` | Enter insert/edit mode (when viewing) |
| `Ctrl+S` | Save file (when editing) |
| `Esc` | Close editor |
## Requirements
- Python 3.8+
- Works on macOS, Linux, and Windows
- Terminal with color support
## Dependencies
- `textual` - Modern TUI framework
- `rich` - Terminal formatting and colors
- `click` - Command-line interface
## License
MIT License - see LICENSE file for details.
## Contributing
Contributions welcome! Please feel free to submit a Pull Request.
Raw data
{
"_id": null,
"home_page": null,
"name": "vtree-tree",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "terminal, file-tree, tui, file-browser, directory-viewer",
"author": "vtree contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b6/fe/ff3e3b92c227bdeaa2e829228f0cdcb799b03a6a4c590fa94f91c3f54694/vtree_tree-2.2.1.tar.gz",
"platform": null,
"description": "# vtree-tree\n\nA modern, interactive terminal-based file tree viewer with file panel support.\n\n[](https://badge.fury.io/py/vtree-tree)\n[](https://pypi.org/project/vtree-tree/)\n\n## Features\n\n- \ud83c\udf33 **Interactive file tree** - Navigate with mouse and keyboard\n- \ud83d\udcc1 **Dual view modes** - Toggle between inline files and separate file panel\n- \ud83d\udccb **Clipboard integration** - Copy paths with a single keystroke\n- \ud83c\udfa8 **Modern terminal theme** - Clean, professional dark interface\n- \ud83d\udc41\ufe0f **Hidden file toggle** - Show/hide dotfiles and system files\n- \ud83d\udcca **File details** - View sizes, modification dates, and file information\n- \u26a1 **Smart filtering** - Automatically ignores common development artifacts\n- \ud83d\uddb1\ufe0f **Mouse support** - Full mouse navigation and selection\n- \u270f\ufe0f **Built-in editor** - Edit files directly with vim-like interface\n- \ud83d\udd12 **Safe editing** - Read-only mode with insert mode protection\n\n## Installation\n\n```bash\npip install vtree-tree\n```\n\n## Usage\n\n```bash\n# View current directory\nvtree\n\n# View specific directory\nvtree /path/to/directory\n\n# Get help\nvtree --help\n```\n\n## Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `q` / `Ctrl+C` | Quit |\n| `r` | Refresh tree |\n| `f` | Toggle hidden files |\n| `p` | Toggle file panel mode |\n| `c` | Copy current path to clipboard |\n| `d` | Delete selected files/folders |\n| `e` | Edit selected file |\n| `h` / `?` | Toggle help panel |\n| `\u2191\u2193\u2190\u2192` | Navigate tree |\n\n## View Modes\n\n### Inline Mode (Default)\nFiles and directories are shown together in a traditional tree structure.\n\n### Panel Mode\nPress `p` to toggle panel mode where:\n- Left panel shows only directories\n- Right panel shows files in the selected directory with details (size, date)\n- Perfect for browsing large directories\n\n## Copy to Clipboard\n\nPress `c` to copy the current path to your clipboard:\n- **On a folder**: Copies the folder path\n- **On a file**: Copies the parent directory path\n\nGreat for quickly navigating in terminal sessions:\n```bash\nvtree\n# Press 'c' on desired folder\ncd # Paste path here\n```\n\n## File Editing\n\nvtree includes a built-in text editor with vim-like workflow:\n\n### Opening Files\nPress `e` on any file to open it in **read-only mode**:\n- View file contents without risk of accidental changes\n- Navigate through the file with arrow keys\n\n### Editing Mode\nOnce in the file viewer, press `i` to enter **insert mode**:\n- Now you can edit the file content\n- The title bar shows \"Insert Mode\" to indicate editing is active\n- Press `Ctrl+S` to save your changes\n\n### Safety Features\n- **Read-only by default**: Files open in view-only mode\n- **Unsaved changes warning**: If you try to close with unsaved changes, you'll get a confirmation dialog:\n - `Y`: Save and close\n - `N`: Close without saving\n - `Esc`: Cancel and return to editing\n\n### Editor Controls\n| Key | Action |\n|-----|--------|\n| `e` | Open file in read-only mode |\n| `i` | Enter insert/edit mode (when viewing) |\n| `Ctrl+S` | Save file (when editing) |\n| `Esc` | Close editor |\n\n## Requirements\n\n- Python 3.8+\n- Works on macOS, Linux, and Windows\n- Terminal with color support\n\n## Dependencies\n\n- `textual` - Modern TUI framework\n- `rich` - Terminal formatting and colors\n- `click` - Command-line interface\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\nContributions welcome! Please feel free to submit a Pull Request.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A modern, interactive terminal-based file tree viewer with file panel support",
"version": "2.2.1",
"project_urls": {
"Homepage": "https://github.com/your-username/vtree",
"Issues": "https://github.com/your-username/vtree/issues",
"Repository": "https://github.com/your-username/vtree"
},
"split_keywords": [
"terminal",
" file-tree",
" tui",
" file-browser",
" directory-viewer"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7a78e6ef9abd6ee392d59b3c270f049e2a7dac32fa74fe9f94c85595608578cb",
"md5": "d00559f81830f2d8e2033d0df6774ef6",
"sha256": "8b7953794c8d2634fbc191dfae350c60b9e2e5501ba08e3b4a3e23dafa43e28d"
},
"downloads": -1,
"filename": "vtree_tree-2.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d00559f81830f2d8e2033d0df6774ef6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 17736,
"upload_time": "2025-07-21T13:25:35",
"upload_time_iso_8601": "2025-07-21T13:25:35.005285Z",
"url": "https://files.pythonhosted.org/packages/7a/78/e6ef9abd6ee392d59b3c270f049e2a7dac32fa74fe9f94c85595608578cb/vtree_tree-2.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b6feff3e3b92c227bdeaa2e829228f0cdcb799b03a6a4c590fa94f91c3f54694",
"md5": "53ee02ef7630088ac65a96a1b3476795",
"sha256": "8e5fedc83d4017f13794e42e4ab2c41bbed511830d539617a9239a7f8ee6ff78"
},
"downloads": -1,
"filename": "vtree_tree-2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "53ee02ef7630088ac65a96a1b3476795",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 19215,
"upload_time": "2025-07-21T13:25:36",
"upload_time_iso_8601": "2025-07-21T13:25:36.217464Z",
"url": "https://files.pythonhosted.org/packages/b6/fe/ff3e3b92c227bdeaa2e829228f0cdcb799b03a6a4c590fa94f91c3f54694/vtree_tree-2.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-21 13:25:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "your-username",
"github_project": "vtree",
"github_not_found": true,
"lcname": "vtree-tree"
}