DifferencesFromPureVim

pbogden edited this page Sep 13, 2017 · 7 revisions

How can I make vmp behave as close to pure-vim's default as possible?

Paste following setting to your config.cson.
See flight-manual for how to open your config.cson.

  "vim-mode-plus":
    useClipboardAsDefaultRegister: false
    updateRegisterOnChangeOrSubstitute: true
    clearMultipleCursorsOnEscapeInsertMode: true
    stayOnTransformString: false
    stayOnDelete: false
    stayOnYank: false
    stayOnSelectTextObject: false
    stayOnVerticalMotion: false
    incrementalSearch: false
    highlightSearch: false

Config: vmp: stayOnTransformString, stayOnYank, stayOnDelete

These configurations are unique feature of vim-mode-plus and enabled by default.

  • vmp: Try to keep original cursor position as much as posible after operation(select, move, operate).
  • vim: Move to start position of target after operation(e.g. Cursor moved to start of paragraph after y i p)

If you don't like this incompatible behavior, set all false.

Config: vim: startofline, vmp: stayOnVerticalMotion( meaning inverted )

  • In vim startofline is true by default.
    • When true, move cursor to start of first character for specific commands.
    • When false, try to keep same column for specific commands.

The affected commands

  • vim: startofline affects following commands
    • ctrl-d, ctrl-u, ctrl-b, ctrl-f, G, H, M, L, gg, d, <<, >>
  • vmp: stayOnVerticalMotion affect motion command only.
    • Meaning inverted: !startofline === stayOnVerticalMotion stayOnVerticalMotion`
    • ctrl-d, ctrl-u, ctrl-b, ctrl-f, G, H, M, L, gg
    • So how to set for d, <<, >>?
      • For d: stayOnDelete config is available, setting false is equal to startofline=true.
      • For <<, >>: stayOnTransformString config is available, setting false is equal to startofline=true.

g ctrl-a, g ctrl-x in visual-mode (v_g_CTRL-A)

This command increment number within the selected text with count(default 1) step.

  • vmp: do not increment first number.
  • vim: increment first number.

So in the following text

1 1 1 1
  • vmp: V g ctrl-a make text to 1 2 3 4
  • vim: V g ctrl-a make text to 2 3 4 5

This difference is intentional breaking change.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.