What's New in v0.1.0
This release introduces major new features including multi-mode keybinding support and neovim/vim pager integration.
New Features
Emacs Mode & Vi Insert Mode Support (Fixes #2)
- Emacs mode: Press
Ctrl-X kto open man pages - Vi insert mode: Press
Ctrl-Kto open man pages without leaving insert mode - New configuration options:
ZVM_MAN_KEY_EMACS- Customize emacs mode keybindingZVM_MAN_KEY_INSERT- Customize vi insert mode keybindingZVM_MAN_ENABLE_EMACS- Enable/disable emacs mode bindingZVM_MAN_ENABLE_INSERT- Enable/disable vi insert mode binding
- Added
zvm_man_rebind()function for troubleshooting keybinding issues
Neovim/Vim Pager Support (Fixes #4)
- Set
ZVM_MAN_PAGER='nvim'to use neovim as your man page viewer - Uses native
:Mancommand for proper integration - Vim-compatible search patterns that correctly jump to option definitions
- Fixed terminal access issues with plugins like image.nvim
Architecture Improvements
Refactored from monolithic script to modular architecture:
lib/
βββ parser.zsh # Word and command parsing
βββ pattern.zsh # Search pattern builders (less/nvim)
βββ pager.zsh # Pager-specific logic
βββ keybinding.zsh # Keybinding management
Benefits:
- Easy to add new pagers
- Easy to extend shell environment support
- Separate pattern logic per pager type
- Still lightweight (~340 total lines)
Testing & Infrastructure
- Added comprehensive test suites for all modes
- CI/CD workflow with automated testing
- Issue templates and contributing guidelines
- 101 tests covering less and nvim pagers
Documentation
- Updated README with multi-mode usage examples
- Added troubleshooting section for keybinding issues
- Key binding notation reference
Full Changelog: v0.0.2...v0.1.0