jeffreytse/zsh-vi-mode
💻 A better and friendly vi(vim) mode plugin for ZSH.
✨ ✨ Features
- Open under cursor: Added support for opening the URL or file path under the cursor with `gx` (557c34b)
- System clipboard integration: Added support for system clipboard (0da7e22)
🐛 🐛 Bug Fixes
- Fixed `[cdy]G` and `[cdy]gg` not working when editing multi-line commands (#106) (22a6773)
- Fixed weird behavior when pressing `Esc` after `[cdy]` (#295) (757a2fe)
- Fixed potential local variable leakage (a9377ba)
- Fixed repeat command issues:
- `3.` didn’t repeat the last change correctly (fc4f202)
- `3p` / `3P` pasted only once instead of multiple times (eb83e95)
- Fixed return code propagation issue (35fc87b)
- Fixed quoting for paths with spaces in plugin sources (1a0d203)
- + 9 more
📝 📚 Documentation
- Updated README with new features (bbfae4e)
- Added installation instructions for Zim (#278) (287efa1)
- Fixed Nix home-manager plugin usage instructions (#271, #270) (7cf6fd1, 4680766)
📦 🛠 Chores
- Added notes for system clipboard integration (9a5c424)
- Added comments and adjusted function order (d2ce966, 748c3df)
- Removed unused code blocks and variables (f3b7fce, 172a614)
- Ensured consistent behavior of repeating insertion, matching native Vim behavior (a925a34)
📦 🔑 Highlights
- This release mainly introduces:
- System clipboard support
- `gx` to open URLs and file paths under the cursor
- Numerous bug fixes improving repeat commands, cursor styles, and compatibility
- 👉 We recommend upgrading to this version for the best experience.
- Full Changelog: https://github.com/jeffreytse/zsh-vi-mode/compare/v0.11.0...v0.12.0
📋 Changes
- Added support for foot terminal (#233).
- Fixed above lines were eaten issue (#234).
- Fixed custom escape keys breaks `CTRL-r` history search (#145).
- Fixed selecting a surrounded text object doesn't work (#236).
- Fixed changing modes don't trigger an auto prompt reset (#243).
- Fixed incorrect `ZVM_MODE` value after initialization.
- Fixed session starts in normal mode (#245).
📋 Changes
- Fixed commands not found in `zvm_config` (#206).
- Fixed visual mode stuck after typing `x` (#207).
- Fixed `vioppend` mode does not exit correctly (#208).
- Fixed `d^` deletes current character (#211).
- Fixed visual replacement doesn't work normally (#212).
- Changed replace selection function name.
- Fixed unexpected behavior of `c[wWeE]` (#161).
- Fixed unexpected behavior of `[cdy]<esc>` (#215).
- + 12 more
📋 Changes
- Supported home, end and delete keys (#138).
- Updated zinit url of the document guide (#139).
- Added note about timeouts in surround guide (#140).
- Fixed escape cmd line flags of `ZVM_VI_EDITOR` (#143).
- Fixed temp dir creation was corrupted (#146).
- Updated ZSH plugin standard URL of the document guide (#147).
- Added installation instructions for Nix users (#155).
- Fixed typo in head document (#157).
- + 6 more
🎉 Hello world, I'm a new release for better work! 1. Fix stroking `ESC` and other keys rapidly not working (#111). 2. Support to configure the initialization mode (#113). 3. Support to config by a unified function (#115). 3. Fix cursor color isn't restored correctly (#121). 4. Better postponing `reset-prompt`. 5. Fix characters are hidden weirdly in IntelliJ terminal (#120). 6. Fix characters are hidden weirdly under replace mode. 7. Fix zsh completion menu was corrupted (#122). 7. Fix prompt line got eaten on certain actions (#124). 8. Fix editing command line by editor not working (#129). 9. Support to custom user default cursor (#131). This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Standardize `$0` handling (#99). 2. Fix bindkey to `^J` not working normally (#93). 3. Fix exiting the replace mode was not working (#100). 4. Remove unused code in `zvm_readkeys`. 5. Fix entering insert mode was corrupted occasionally (#94). 6. Fix entering visual mode was currupted occasionally (#103). 7. Fix `S` surround was not working (#104). 8. Support to custom highlight foreground (#108). 9. Support syntax highlighting with external editor (#109). This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Fix wrong cursor pos when entering insert mode with `A` (#83). 2. Fix the paste contains auto-suggestion suffix (#86). 3. Better repeating `[cdy]<count>[ia][wW]` (#88). 4. Support bindkey to a widget with parameters (#89). 5. Fix lazy keybindings not working (#91). 6. Fix the default value of `ZVM_TERM`. 7. Fix unexpected behavior of `[cdy][hl]` (#80). 8. Fix display doesn't be refreshed in replace mode (#92). This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Better dot command for repeating change (#77) . 2. Support replace mode to better show the vi status. 3. Fix wrong cursor position after exiting replace mode (#78). 4. Fix repeating navigation with count not working. 5. Fix `[cdy][fFtT]<char>` commands aren't repeated (#60). 6. Fix unexpected behavior of `[cdy][hl]` (#80). 7. Fix unexpected behavior of `[cdy]l` (#82). 8. Fix cursor style not changing in ST (#84). 9. Amend initialization of some options. This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Fix `W/E/B` navigation and text object not working (#58) . 2. Fix escape sequences don't be treated correctly (#59). 3. Better readkey timeout initialization. 4. Better aspect of `after_select_vi_mode` commands. 5. Fix backward range operation isn't correct (#61). 6. Fix exiting range operation will remove a letter (#62). 7. Better oppend mode cursor style in range operations. 8. Better repeating navigation (#63). 9. Refactor opening line below and above function. 10. Fix replacing characters causes some weird behaviors (#65). 11. Fix wrong selection region when changing between visual modes (#66). 12. Fix unexpected behavior of `[cdy][ia][wW]` (#67). 12. Fix unexpected behavior of `[cdy][ia][eE]` (#70). 13. Fix cursor style not supported in alacritty (#72). 14. Fix unexpected behavior of replacing by `R` (#73) . 15. Fix unexpected behavior of backspace key in `R` mode (#74) . This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Support the new readkey engine NEX . 2. Support disabling the cursor style feature (#21). 3. Support line initial mode (#22). 4. Fix surround `cs"` or `S"` not working (#8). 5. Fix weird behavior after typing `S` to substitute line (#26) 6. Fix weird behavior after typing `C` from normal mode (#27) . 7. Fix wrong paste when cursor is at an empty line (#30). 8. Fix entering insert mode triggers bell wrongly (#31) . 9. Fix `[cdy]<count>` does not work (#32). 10. Fix nested calling zvm_readkeys (#34). 11. Support to auto restore cursor to user default (#35) . 12. Fix key combo `<ESC><key>` in normal mode was stuck (#39). 13. Fix vi mode was stuck after stroking `c<key>` (#40) . 14. Fix the cursor style compatibility in the term of vim (#41). 15. Fix mktemp permission denied on MacOS (#44). 16. Fix empty EDITOR causes editing line corruption. 17. Fix the `dw` or `yw` includes the newline character (#53). 18. Fix increasing or decreasing an empty line causes an error (#54). 19. Support stroking `ctrl-v` again to exit visual mode (#55). 20. Fix binding `ctrl-<space>` does not work (#57) 21. Fix some known issues. This release provides important updates and bug fixes. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Better performance of binding key . 2. Better highlighting for visual mode. 3. Better checking if a command is existed. 4. Optimize `zvm_update_highlight` function. 5. Support editing current command line in vim. 6. Fix the reset prompt compatibility issue (#7) . 7. Avoid sourcing plugin multiple times (#9). 8. Fix deleting or changing an inner word incorrectly (#10). 9. Fix adding surrounds with space does not work. 10. Fix weird performance issue on lazy keybindings. 11. Fix some wrong highlighting issues. 12. Fix the cursor position after yanking. 13. Fix some known issues. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Better highlighting functionality. 2. Support to execute extra commands (#4). 3. Support lazy loading to improve startup speed. 4. Support custom escape key (e.g. `jj`, `jk`, etc.). 5. Support increment and decrement (e.g. `Number`, `Boolean`, `Operator`, etc.). 6. Support setting cursor style (e.g. `Block`, `Underline`, `Blinking Beam`, etc.) (#6). 7. Support cursor style in tmux over ssh. 8. Fix some known issues. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Fix prompt not redraw when changing keymap (#2). 2. Fix region highlight related issues. 3. Better `yank/delete/change` functionality . 4. Better selecting/substituting surrounded text object. 5. Optimize and improve the startup speed. 6. Fix the weird confict with the `starship` plugin. 7. Fix set `ZVM_KEYTIMEOUT` not working. 8. Fix input `^` under the insert mode was corrupted. 9. Better visual-line mode and highlighting. 10. Better exchange point(cursor) and mark. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Support adding/changing/yanking surrounds 2. Support adding/changing/yanking surrounded text objetct. 3. Support changing the case of surrounded text object. 4. Support moving around surrounds. 5. Better keybindings and key response speed. 6. Support 2 kinds of surround operating keybindings, `classic` mode (verb->s->surround) or `s-prefix` mode (s->verb->surround). 7. Fix surround of double quotes not working. 8. Fix the `grep` compatibility issue on MacOS (#1). 9. Fix wrong region highlight issue. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Support whitespace surround. 2. Fix highlights are not turned off properly. 3. Fix adding surround for selection not working. 4. Fix using `ESC` to exit to change surround not working. 5. Fix configuring plugin not working. 6. Reivse xterm cursor control characters. Welcome to update to this version!
🎉 Hello world, I'm a new release for better work! 1. Support surround objects (brackets, quotes). 2. Support paste in visual surround mode. 3. Fix cursor backward when exiting insert mode. Welcome to update to this version!
🎉 Hello world, I'm the first release for better work! From now on, you can use this plugin to input command line conveniently in Zsh.
