When you're too lazy to open a full IDE, but too productive for Notepad.
Code editing shouldn't be hard work. Be lazy. Be efficient.
LazyEdit is a lightweight, terminal-based code editor with an integrated PowerShell terminal designed for developers who want a streamlined editing experience without leaving the command line.
- All-in-One Interface: File browser, text editor, and PowerShell terminal in a single window
- Keyboard-Driven: Navigate and edit efficiently with intuitive keyboard shortcuts
- Syntax Highlighting: Makes your code more readable and easier to understand
- Integrated Terminal: Run commands without switching applications
- Lightweight: Minimal resource usage compared to full IDEs
- Windows-Optimized: Built specifically for Windows with PowerShell integration
requirements
- Chocolatey
- pip
pip install lazyeditThat's it! No complex setup or configuration required.
If it fails to run your Python Scripts folder might not be in the system PATH.
Run Temporary:
$env:Path += ";C:\Users\YourUserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts"Run Permanent:
[System.Environment]::GetEnvironmentVariable("Path", "User") -split ";" | Out-File -FilePath "$env:TEMP\PathBackup.txt"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")
$newPath = [System.Environment]::GetEnvironmentVariable("Path", "User") + ";C:\Users\YourUserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts"
Optional lazyGit when u want to use git feature and didn't download
choco install lazygitOptional lazyDocker when u want to use docker feature and didn't download
choco install lazydockerIf you donβt see the "default" context, set it manually:
docker context use defaultAfter installation, simply run:
lazyeditYou'll be greeted with a three-panel interface:
- Left panel: File browser
- Main panel: Text editor
- Bottom panel: PowerShell terminal
- Use Directory Mode (
Ctrl+2) to browse files - Navigate with arrow keys to select a file
- Press Space to open the selected file in the editor
- Press Enter to create a new file
- Press Backspace to delete a file
- Switch to File Editing Mode (
Ctrl+3) to edit the opened file - Use standard keyboard navigation (arrows, Home, End) to move around
- Save your changes with
Ctrl+S
- Switch to Terminal Mode (
Ctrl+5) to use the PowerShell terminal - Execute commands as you would in a normal PowerShell window
- The terminal shows your current directory relative to where LazyEdit was launched
lazyedit by Jesse Duffield : lazygit LazyEdit includes LazyGit for effortless repository management.
- Switch to Git Mode using
Ctrl+g. - This opens LazyGit in a separate floating window.
- You can manage branches, commits, merges, and pull requests from LazyGit without leaving LazyEdit.
| Action | Command in LazyGit |
|---|---|
| Stage changes | Select file + Press <Space> |
| Unstage changes | Select file + Press <U> |
| Commit changes | Press <C> and enter message |
| Push to remote | Press <P> |
| Pull from remote | Press <Shift+P> |
| Switch branches | Press <B> |
| Create new branch | Press <N> |
| Merge branches | Press <M> |
| Stash changes | Press <S> |
| View logs & history | Press <L> |
| Quit LazyGit | Press <Q> |
lazydocker by Jesse Duffield : lazydocker LazyDocker includes LazyDocker for effortless docker management.
- Switch to Docker Mode using
Ctrl+d. - This opens LazyDocker in a separate floating window.
- You can manage containers, images, volumes, merges, and networks from LazyDocker without leaving LazyEdit.
| Action | Command in LazyDocker |
|---|---|
| Navigate panels | Press <Tab> or arrow keys |
| Select item | Press <Enter> |
| View container logs | Select container + Press <l> |
| Start container | Select container + Press <s> |
| Stop container | Select container + Press <S> |
| Restart container | Select container + Press <r> |
| Remove container | Select container + Press <d> |
| View container stats | Select container + Press <e> |
| Attach to container | Select container + Press <a> |
| Execute command in container | Select container + Press <E> |
| View image details | Select image + Press <i> |
| Remove image | Select image + Press <d> |
| Pull image | Select image + Press <p> |
| View volume details | Select volume + Press <v> |
| Remove volume | Select volume + Press <d> |
| Filter items | Press <f> |
| Toggle view mode | Press <m> |
| Quit LazyDocker | Press <q> |
| Shortcut | Action |
|---|---|
| Ctrl + Q | Quit LazyEdit |
| Ctrl + 2 | Switch to Directory Mode |
| Ctrl + 3 | Switch to File Editing Mode |
| Ctrl + 5 | Switch to Terminal Mode |
| Ctrl + g | Switch to Git Mode |
| Shortcut | Action |
|---|---|
| Enter | Create a new file in the current directory |
| Backspace | Delete the selected file |
| Space | Open the selected file in the text editor |
| β / β | Navigate the file list |
| Shortcut | Action |
|---|---|
| Ctrl + S | Save the currently open file |
| β / β | Move cursor line up/down |
| Home / End | Move to start/end of the current line |
| Ctrl + A | Select all text |
| Ctrl + X | Cut selected text |
| Ctrl + C | Copy selected text |
| Ctrl + V | Paste copied text |
| Ctrl + Z | Undo last action |
| Ctrl + Y | Redo last undone action |
| Ctrl + β | Move cursor one word left |
| Ctrl + β | Move cursor one word right |
| Shift + β | Select text left |
| Shift + β | Select text right |
| Ctrl + Backspace | Delete word left |
| Ctrl + Delete | Delete word right |
| Ctrl + Shift + K | Delete current line |
| f6 | Select the current line |
| f7 | Select all text in the document |
| Shortcut | Action |
|---|---|
| Ctrl + C | Send interrupt signal (in Terminal) |
| Ctrl + L | Clear terminal screen |
Want to contribute or run from source? Follow these steps:
# Clone the repository
git clone https://github.com/Robbevanherpe1/lazyedit.git
cd lazyedit
# Create and activate development environment
hatch env create
hatch shell
# Install in development mode
pip install -e .
# Run LazyEdit
lazyeditlazyedit/
βββ src/
β βββ lazyedit/
β βββ __init__.py
β βββ __about__.py
| βββ lazydocker_screen.py # Lazydocker screen integration
| βββ lazygit_screen.py # Lazygit screen integration
β βββ directory.py # File browser functionality
β βββ fileEditor.py # Text editing functionality
β βββ gui.py # Main application interface
β βββ terminal.py # PowerShell terminal integration
βββ tests/
β βββ directory/
β βββ fileEdit/
β βββ terminal/
β βββ __init__.py
β βββ test_basic.py
βββ pyproject.toml
βββ README.md
βββ LICENSE.txt
LazyEdit is distributed under the terms of the EPL license.
Made with β€οΈ by *Robbe
Inspiration by Jesse Duffield's lazygit and lazydocker
