Skip to content

FHMS-ITS/Xim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xim

Xim is useful for simple hex editing tasks. However, it will consume much memory, because the final data structure (a persistent rope) is not integrated yet. Use at your own risc.

Screenshot

Installation

Install Rustup

Arch Linux:

$ sudo pacman -S rustup

Others:

$ curl https://sh.rustup.rs -sSf | sh

Update/Install Toolchain

$ rustup install stable
$ rustup update

Build Xim

$ cargo build

Run Xim

Test with

$ cargo run -- <file>

or build in release mode

$ cargo build --release
$ ./target/release/xim <file>

Incomplete collection of implemented and missing features

  • Open/Create
  • Open/Create with :e <file>
  • Save with :w
  • Save as with :w <file>
  • Save and exit with :x or :wq
  • Exit with :q or :q!
  • Statusbar (State, Position)
  • Move
  • Absolute Jumps (0b..., 0o..., 0x..., int)
  • Jump to Start/End gg, G
  • Relative Jumps
  • Scroll
  • Insert
  • Delete
  • Replace
  • Visual mode
  • Yank/Paste
  • Copy/Paste (from clipboard)
  • Edit in ASCII mode (partially implemented)
  • Undo/Redo
  • Highlite differences
  • Portable colors
  • Optimize drawing (avoid flickering)
  • Persistent rope
  • Lazy loading/unloading of memory pages
  • Efficient saving