- What's new in v0.58.0
- Issue report
- Whats this?
- Helper packages
- Commit emoji convention
What's new in v0.58.0
- In v0.58.0, introduce
- In v0.55.0, introduce
These features are very powerful, especially for the power user. Read the following documents to learn how to use them.
- vim-mode-plus is replacement for vim-mode, you must disable vim-mode first to use vim-mode-plus.
- You don't need the following packages since they're built-in to vim-mode-plus:
- Scope for CSS selector and keymap is different from vim-mode, not compatible.
- Internal code base is very different. Thus, issues and PRs should be directly sent to vim-mode-plus. DON'T report vim-mode-plus's issues or PRs to the official vim-mode.
My work is greatly owing to former achievements of the original vim-mode developers and many of its contributors.
As you can see in the commit history, this project was originally started by forking official vim-mode.
The great design to achieve Vim operation by composing operator with target (motion, text-object) on top of operationStack still lives in vim-mode-plus now.
I don't think I can find this idea by myself from nothing.
Sincerely, I feel I couldn't do anything without the original vim-mode.
- Read ISSUE_TEMPLATE
Fork of vim-mode. Started on 2015.8.1.
- Many bug fixes.
- Refactoring: Rewritten almost every line of code.
- Highlight search
- visual-blockwise built-in
- Incremental search by
incrementalSearchsetting (disabled by default).
- Cursor visible in all visual-mode (characterwise, blockwise, linewise).
- Maintain the same cursor position after operations (e.g
stayOnOperatesetting. (disabled by default)
- Lots of new motions like
move-down-to-edge. (Mapped to
], Aggressive decision.)
- Surround built-in. Powerful AnyPair family (
inner-any-pairtext-object) to detect pair automatically.
- Set cursor position to start of change on undo or redo by enabling
setCursorToStartOfChangeOnUndoRedo(enabled by default. Atom's default is end of change).
- Allow super granular keymap which is only effective when specific operation is pending like
- And more...
Search Q&A label on issues.
Why fork? why not directly contribute to official vim-mode?
- Changes are too big.
- I felt many features are too experimental to merge to the official vim-mode.
In visual-block mode, some motions make the editor slow, freeze.
Not freezing, it's just VERY slow.
You can workaround by disabling some keymap. See #214.
Want to suppress autocomplete-plus's auto suggestion except insert-mode.
suppressActivationForEditorClasses autocomplete-plus's config to following value.
vim-mode-plus.normal-mode, vim-mode-plus.visual-mode, vim-mode-plus.operator-pending-mode, vim-mode-plus.insert-mode.replace
If you want to directly edit
config.cson, here it is.
"autocomplete-plus": suppressActivationForEditorClasses: [ "vim-mode-plus.normal-mode" "vim-mode-plus.visual-mode" "vim-mode-plus.operator-pending-mode" "vim-mode-plus.insert-mode.replace" ]
Surround not work
No default keymaps are provided. If you want, install vim-mode-plus-keymaps-for-surround
How can I insert single white space when surround?
Characters To Add Space On Surround. from vim-mode-plus's setting.
vim-mode-plus has many advanced, experimental features but most of them have no default keymap.
If you want to use the full power of vim-mode-plus, see and experiment with each keymap, command in following links.
Below is list of my packages which provide more vim-like experience.
Why I don't build in these features? Because it takes more time and some features are useful for non-vim user.
- cursor-history provides c-i, c-o to go/back in the cursor position history.
- open-this provides gf to open file under cursor.
- clip-history Does not exist in pure Vim, provides clip-board history you can pop yanked text until you get result you want.
- choose-pane Does not exist in pure Vim, provides keyboard navigation between panes/panels by choosing it by label.
- paner provides ctrl-w H, J, K, L, x to move pane.
operator, the true power of Vim by kana.
True power of Vim is Operator and TextOjbect.
List of text-object as vim plugin
vim-mode-plus builtin textobj for function, fold, entire, comment, indent, line, and any-pair(super set of many pair text-obj)
Commit emoji convention
📝Add comment or doc 🎁New feature. 🐛Bug fix 💣Breaking compatibility. ✅Write test. 🔥Remove something. 🍺I'm happy like reduced code complexity.