Skip to content

DifferencesFromPureVim

t9md edited this page Apr 9, 2017 · 8 revisions

How can I make vmp behave as closer 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":
    keymapUnderscoreToReplaceWithRegister: false
    keymapCCToChangeSmartWord: false
    keymapSemicolonToInnerAnyPairInOperatorPendingMode: false
    keymapSemicolonToInnerAnyPairInVisualMode: false
    useClipboardAsDefaultRegister: false
    updateRegisterOnChangeOrSubstitute: true
    clearMultipleCursorsOnEscapeInsertMode: true
    stayOnTransformString: false
    stayOnDelete: false
    stayOnYank: false
    keepColumnOnSelectTextObject: false
    moveToFirstCharacterOnVerticalMotion: true
    incrementalSearch: false
    highlightSearch: false

Config: vim: startofline, vmp: moveToFirstCharacterOnVerticalMotion

  • 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: moveToFirstCharacterOnVerticalMotion affect motion command only.
    • 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.

Clone this wiki locally