The two main highlights of this release are:
Vim documentation out-of-the-box via the :help
command
You can now lookup vim help via :help {subject}
. For Vim and Neovintageous differences see :help neovintageous
Jumptags also work (tags are indicated via |bars|). To jump to a tag, position the cursor on the tag and hit CTRL-]
.
Jump backward and jump forward work too via CTRL-O
and CTRL-I
.
I recommended taking a few minutes reading the main help file: :help
. It explains things like how to find commands e.g. to look up what the gc
command does in visual mode, prefix it with v_
i.e. :help v_gc
. Also the format of commands is consistent e.g. ctrl-w_c
. i.e. ctrl-[a-z]_[a-z]
. Options are wrapped in quotes e.g. :help 'vintageous_use_ctrl_keys'
.
Keep in mind that feature-parity with Vim is an ongoing effort. The Vim docs are provided in full without modifications, :help neovintageous
documents Neovintageous specific features.
Mapping to Command-line mode and Sublime Text commands
The other big feature is ability to map to Sublime Text and custom commands aswell as the Command-line mode commands.
Note that currently mapping to commands only works in basic form.
Mapping to Command-line mode commands is supported for basic use-cases: :command<CR>
Mapping to Sublime Text commands is supported for basic use-cases. The command
must start an Uppercase letter to avoid confusion with built-in Command-line
mode commands. The command is converted to snake_case. For example to map to
the Sublime Text command “toggle_side_bar”: :ToggleSideBar<CR>
Example vintageousrc file:
let mapleader=,
" map mm to ex command :w
nnoremap mm :w<CR>
" map ,d to the built-in Sublime Text "toggle_side_bar" command
nnoremap <leader>d :ToggleSideBar<CR>
" map ,op to custom command
nnoremap <leader>op :OpenPreferences<CR>
To create the custom “OpenPreferences” command, create a user plugin with:
import os
import sublime
import sublime_plugin
class OpenPreferencesCommand(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command('open_file', {
'file': os.path.join(
sublime.packages_path(),
'User',
'Preferences.sublime-settings'
)
})
Full Changelog
Added
- Added:
ds(
,ds{
,ds[
, andds<
now also trims contained whitespace (Surround plugin) - Added:
dsb
alias fords)
delete surrounding()
(Surround plugin) - Added:
dsB
alias fords}
delete surrounding{}
(Surround plugin) - Added:
dsr
alias fords]
delete surrounding[]
(Surround plugin) - Added:
dsa
alias fords>
delete surrounding<>
(Surround plugin) - Added:
ds<
delete surrounding<>
(Surround plugin) - Added:
ds>
delete surrounding<>
(Surround plugin) - Added:
dst
delete surrounding pair of HTML or XML tags (Surround plugin) - Added:
ds
followed by a target that is not one of the punctuation pairs,()[]{}<>
, are now only searched for on the current line (Surround plugin) - Added:
ds{target}
cursor position is now moves to the start of first target (Surround plugin) - Added:
cs{target}
followed by one of])}
now inserts an inner whitespace character (Surround plugin) - Added:
cs>{replacement}
now replaces surround tag characters<>
with replacement (Surround plugin) - Added:
cs{target}
folowed by>
now replaces target with replacement surroundings<>
(Surround plugin) - Added:
cs{target}{replacement}
cursor position is now moves to the start of first target (Surround plugin) - Added:
:h[elp] {subject}
like “:help”, additionally jump to the tag{subject}
- Added:
:h[elp]
open a view and display the help file - Added:
gx
open url under cursor in browser - Added: Support for
:UserCommand<CR>
.vintageousrc
mappings - Added: Support for
:excommand<CR>
.vintageousrc
mappings - Added:
:snoremap
command - Added:
:smap
command - Added:
cot
toggle sidebar command (Unimpaired plugin) - Added:
[ot
toggle sidebar on command (Unimpaired plugin) - Added:
]ot
toggle sidebar off command (Unimpaired plugin) - Added:
com
toggle minimap command (Unimpaired plugin) - Added:
[om
toggle minimap on command (Unimpaired plugin) - Added:
]om
toggle minimap off command (Unimpaired plugin) - Added: Documentation command
- Added: Edit Settings command
- Added: How to map
jk
toEsc
(documentation)
Changed
- Changed:
ds<
no longer deletes surrounding tag; usedst
instead (Surround plugin) - Changed:
ds>
no longer deletes surrounding tag; usedst
instead (Surround plugin) - Changed: Modeline
vintageous_modeline
is disabled by default - Changed: “Open Changelog” command caption changed to “Changelog”
Removed
- Removed:
vintageous_surround_spaces
setting - Removed: Unimplemented
tabopen
ex command - Removed: Deprecated
neovintageous_toggle_use_ctrl_keys
command - Removed: Deprecated
neovintageous_reset
command - Removed: Deprecated
neovintageous_exit_from_command_mode
command - Removed: Deprecated
toggle_mode
command
Fixed
- Fixed #213: No command accepts characters in a keybinding
- Fixed #167: Allow .vintageousrc to map any keybinds
- Fixed #152:
f<key>
doesn’t jump to<key>
if there is a mapping for<key>
- Fixed #97: Mapping commands
- Fixed #81:
ct<leader>
orcf<leader>
doesn’t work; needct<leader><leader>
- Fixed #282: Surround doesn’t work as expected on first symbol
- Fixed: Several
.vintageousrc
syntax highlighting bugs - Fixed: Lots of Command-line mode syntax highlighting bugs