https://github.com/xor-bits/text-editor
VIM-like CLI text editor with remote edit capabilities
https://github.com/xor-bits/text-editor
cli docker file-explorer file-manager file-viewer rust ssh text-editing text-editor tui vim
Last synced: 6 days ago
JSON representation
VIM-like CLI text editor with remote edit capabilities
- Host: GitHub
- URL: https://github.com/xor-bits/text-editor
- Owner: xor-bits
- Created: 2024-03-14T00:29:35.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-05-22T16:59:35.000Z (about 1 year ago)
- Last Synced: 2025-05-22T18:13:06.475Z (about 1 year ago)
- Topics: cli, docker, file-explorer, file-manager, file-viewer, rust, ssh, text-editing, text-editor, tui, vim
- Language: Rust
- Homepage:
- Size: 211 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# text-editor
VIM/NeoVIM/Emacs Evil Mode/Helix/Kakoune -like cross-platform terminal based text editor
The plan is to create a text editor that can edit (almost) anything and (almost) anywhere.
Like a local config file, or a level.dat NBT file in a remote server over both SSH and Docker.
Remote editing should work like TRAMP in Emacs.
Buffers have a mode for the content type, like text, hex, NBT, or other binary formats.
## Example usage
```
# just a normal local file
text-editor src/main.rs
# use sudo to edit /etc/fstab
text-editor sudo:/etc/fstab
# connect to user1@host1 using ssh, then connect to user2@host2 from host1 and open 'file'
text-editor ssh:user1@host1|ssh:user2@host2:file
```
## Screenshots
### normal file editing and which-key

### NBT file editing over SSH

### file explorer and editor over ssh

### command suggestions

## TODOs
- [x] file editing
- [x] remote (ssh/sudo/docker/..) file editing
- [x] SSH/sudo askpass somehow
- [x] multiple buffers
- [x] file picker
- [x] buffer picker
- [x] welcome message
- [ ] selections
- [x] hex editor
- [x] NBT editor
- [ ] text-editor configuration
- [x] syntax highlighting
- [ ] LSP
- [ ] search