NeoVintageous 1.5.0 is now available (also see the 1.4.0 release announcement).
The main highlights of this release are:
Support for super-keys
You can now map super-keys via <D-...>
, also known as command-keys on OSX, and window-keys on Windows.
Suppose, for example, you wanted to map <D-i>
to Goto Symbol in Project. That command is available out-of-the-box in Sublime Text via goto_symbol_in_project
, and in NeoVintageous we can map to any command by camel casing it, upper-casing the first letter, and appending <CR>
. We can create the map in our vintageousrc
file:
nnoremap <D-i> :GotoSymbolInProject<CR>
For more details on the vintageousrc
file, see the help docs via the help command :h vintageousrc
.
Remember to enable the super-keys when you want use them. Menu > Preferences > Settings
:
{
"vintageous_use_super_keys": true
}
Note: currently only a-zA-Z
super keys are implemented e.g. <D-i>
, <D-I>
, <D-o>
, etc.
Note: operating systems make extensive use of the super-keys for desktop commands. If you find a super-key is not working in Sublime Text, then it’s probably bound to a desktop command, and if that’s the case then ST won’t receive the key event. You can check if ST is receiving the key event by running sublime.log_input(True)
in the console (Menu > View > Show Console
). If it’s not receiving the key, then you need to clear whatever desktop command the key is bound to. If you use Ubuntu here is some help on managing Ubuntu keymaps.
Command-line editing and search history
Search history for /
and ?
has been added (currently only supports current session). Use the arrow keys <Up>
and <Down>
to recall recent and older history.
Various Command-line editing commands have been added, including <C-b>
, <C-e>
, <C-h>
, <C-n>
, <C-p>
, <C-u>
, and <C-w>
. Also a popular request: CTRL-c
and CTRL-[
now exit Command-line mode.
Toggle Side Bar
A toggle side bar command is now provided out-of-the-box (NeovintageousToggleSideBar
). When you use a toggle side bar mapping it’s recommended to use this command, because it will receive fixes and tweaks tuned for NeoVintageous.
Suppose, for example, you wanted to map ,d
to toggle the sidebar when you’re in normal mode (where we’ll use a comma leader key). Create the mapping in your vintageousrc
file:
let mapleader=,
" Toggle the side bar.
nnoremap <leader>d :NeovintageousToggleSideBar<CR>
Next, you’ll need to create a keybinding in Sublime Text to enable the ability to toggle the side bar with ,d
when the side bar has focus. Menu > Preferences > Key Bindings
:
{
{
"keys": [",", "d"],
"command": "neovintageous_toggle_side_bar",
"context": [
{ "key": "control", "operand": "sidebar_tree" }
]
}
}
Done! Now you can toggle the side bar open and closed with ,d
.
For more details on the vintageousrc
file, see the help docs via the help command :h vintageousrc
.
Full Changelog
Added
- Added:
:edit {file}
command - Added #288: Command-line editing commands:
<C-b>
,<C-e>
,<C-h>
,<C-n>
,<C-p>
,<C-u>
, and<C-w>
- Added #279:
CTRL-c
andCTRL-[
should exit Command-line mode - Added #12: Command-line search history with
/
and?
(current session only) - Added: Selections are now cleared when leaving a the current view (UX)
- Added:
NeovintageousToggleSideBar
command - Added #286: Support for super-keys
<D-...>
(known as command-keys on OSX, and window-keys on Windows) (disabled by default) - Added:
highlighted.yank
scope to highlighted yank regions to allow color scheme customisation - Added: Switching windows using windowing commands no longer suddenly scrolls view (UX)
- Added:
:sunm[ap]
command - Added:
:help {subject}
command now uses basic heuristics to find a relevant help topic if a subject is not found - Added: Support for
'vintageous_modelines'
option (defaults to5
) - Added #254:
:sp[lit] [file]
command - Added: Unimpaired status bar toggle
coe
(also toggle on[oe
, and toggle off]oe
) - Added: Unimpaired menu toggle
coa
(also toggle on[oa
, and toggle off]oa
) - Added: Support for the new SublimeLinter API using the Unimpaired goto to error commands
]l
and[l
- Added: Support for the new GitGutter API using the Unimpaired goto change commands
]c
and[c
- Added:
vintageousrc
(documentation) - Added: Default vim options (documentation)
Removed
-
Removed: Recursive mappings commands
:map
,:nmap
,:omap
,:smap
,:vmap
. Use the non recursive commands instead.The recursive mappings were removed because they were not implemented as recursive mappings, and removing them now in preference of the non-recursive may prevent some potential problems in the future if the recursive mapping commands are ever implemented.
Here is a table of the recursive, which have been removed, and the non recursive mapping commands that you can use instead:
Recursive command Non recursive command map
[no]remap
nmap
[nn]oremap
omap
[ono]remap
smap
[snor]emap
vmap
[vn]oremap
-
Removed: Unused
vintageous_enable_cmdline_mode
setting
Fixed
- Fixed: Visual ex mode commands should enter normal mode after operation
- Fixed: Ex mode shell command error (Windows)
- Fixed: Unmap commands don’t unmap visual mappings
- Fixed: Can’t unmap mappings with special keys e.g.
<leader>
- Fixed: Running tests shouldn’t resets user vintageousrc mappings
- Fixed #156:
SHIFT-v
thenCTRL-b
doesn’t work - Fixed: Help views should be read only
- Fixed: Unknown registers raise an exception
- Fixed:
gc{motion}
leaves cursor at wrong place - Fixed:
gcc
leaves cursor at wrong place - Fixed: Repeat searches (
n
/N
) should scroll and show surrounds - Fixed: Goto next/prev change cursor position after motion (Unimpaired)
- Fixed #285: Page down
CTRL-f
does not work correctly in Visual Line mode - Fixed #296:
de
leaves cursor at wrong place - Fixed #295:
df{char}
leaves cursor at wrong place - Fixed:
df$
leaves cursor at wrong place - Fixed:
gq
cursor position after operation - Fixed: Mapping command status messages
- Fixed: Error message typos and grammar
- Fixed #254:
:vs[plit] [file]
raises a TypeError