Hexpair je pokročilý HEX editor pro Vim

Dnes

Sdílet

Vim editor Autor: Bram Moolenaar

Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě.

Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom zůstane stát na stejném místě v souboru. Úpravy (byť neuložené) v jednom režimu jsou po přepnutí ihned viditelné v tom druhé.

Pokud předem víte, že potřebujete pracovat v HEX režimu, pomocí vimhex file.bin otevřete přímo HEX editor. Je úplně jedno, jestli pracujete s 8 KiB nebo 8 TiB souborem. Hexpair nenačítá do paměti celý soubor najednou, ale pracuje po stránkách (128 KiB ve výchozí konfiguraci). Pro libovolně velký soubor máte k dispozici plnou funkcionalitu Hexpair – na Linuxu, macOS, BSD a Windows ve WSL i nativně.

Hexpair je Vim plugin implementovaný v čistém VimScriptu, bez externích závislostí krom utility xxd, která je ale standardní součástí instalace Vimu (a na Windows se navíc využívá PowerShell). Na cílovém počítači nepotřebujete administrátorská práva, stačí:

curl -LO 'https://github­.com/.../vX.Y­.Z/hexpair.vX­.Y.Z.tar'; tar xvf hexpair.vX.Y.Z.tar -C ~/.vim/pack/plu­gins/start/
  • Zvýraznění kurzoru a výběru je synchronizované mezi HEX editorem i ASCII náhledem.
  • Plná editace – ne jen změna hodnoty existujících bajtů, ale i mazání a přidávání do libovolného místa souboru libovolné velikosti.
  • Zvýraznění změn – změněné, ale dosud neuložené bajty jsou v editoru zvýrazněny.
  • Vyhledávání v celém souboru – textem nebo HEX řetězcem, včetně podpory ? jako zástupného znaku pro libovolnou HEX číslici.
  • Vyhledávání a nahrazování.
  • Vložení bajtů dle zadaného řetězce a cílového kódování – zadám Škola, vloží se c5 a0 6b 6f 6c 61, UTF-8 je výchozí kódování; zadám ++enc=cp1250 Škola, vloží se 8a 6b 6f 6c 61.
  • HEX diff režim, který zvýrazní rozdíly proti jinému souboru, včetně možnosti zobrazení obsahu vybraných bajtů proti porovnávanému souboru, přímých skoků mezi změnami, synchronizovaného dvoupanelového zobrazení pomocí vimhexdiff apod.
  • Datový inspektor – co bajty pod kurzorem znamenají jako čísla (8 až 64 bitů, se znaménkem i bez, obě endianity, IEEE 754) či jako UTF sekvence, včetně textového popisu znaků.
  • Rychlé skoky na libovolnou část souboru po stránkách či ofsetech, absolutně či relativně, včetně systému pro pojmenované značky. Skoky po neuložených změnách, vyhledávaných řetězcích, rozdílech v diff režimu.
  • Na Windows volitelná integrace gvimhex a gvimhexdiff příkazů do kontextového menu pod pravým myšítkem v Průzkumníku souborů.

Hexpair je open source Vim plugin dostupný na GitHubu, demo zde. Reprodukovatelná a digitálně podepsaná vydání jsou k přímému použití k dispozici v sekci releases.

Hexpair se instaluje defenzivně – sám od sebe neprovádí žádná mapování příkazů na klávesy, *vimhex* shell funkce nejsou definovány, nic se nepřidává do $PATH. Vše máte ale snadno k dispozici, pokud chcete:

  • echo 'runtime pack/*/start/hex­pair/hexpair.vim­rc' >> ~/.vimrc
  • echo 'source ~/.vim/pack/plu­gins/start/hex­pair/hexpair.bashrc' >> ~/.bashrc

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?

Autor zprávičky