- Added
- ✨ config cache to speed up loading (more relevant for older slow pykdl parsers)
- Added
- ✨ much faster KDL config parser
- Changed
- config parsers to be lib-independent (can use pykdl1/2 or ckdl)
- Fixed
- wrong node var name in config parsing
- Fixed
- hardcoded mode used for key help instead of an actual one
- Added
- Fixed
move_left_on_insert_exit
having no effect on some operations due tofix_eol
function ignoring it
- Fixed
- flatten_kdl ignored kdl 1/2 version
- Changed
- refactor cfg parsing: move out of
rc.py
and split into KDL v1 and v2
- refactor cfg parsing: move out of
- Added
- ✨ support KDL v2 (set as default)
- support for shorter variable types
$
forvar
and$→
forvarpass
- Fixed
- logging conflict with other plugins when setting
SET
as a logging property
- logging conflict with other plugins when setting
- Fixed
- fix missing import
- Changed
- Updated to upstream release 1.35.2
- Added
- ✨ use of user data (e.g., icons) set in the new KDL config to be used for showing status icons as well as Help (not implemented yet)
z "Indent" icon="⇛🄼"
would display⇛🄼
icon in the status bar to indicate that it's expecting a motion for a command that will indent the motioned-over text - ✨ allow ⇧⎇KEY to be bound in user config
- ✨
MoveByWordEndsNoSep
,MoveByWordEndsBackwardNoSep
command to move to word's end ignoring punctuation old:wordA, wordB
would stop atA
,
B
new:wordA, wordB
would stop atA
B
- ✨ ⎈,/\ to bindable commands
- ✨ support for sending a notification to AutoHotkey on Windows on mode changes
- requires manual installation of the Pywin32 dependency after adding this repo to the Package Control (couldn't get the new Package Control Libraries channel with dependencies work for Pywin32)
- ✨ use of user data (e.g., icons) set in the new KDL config to be used for showing status icons as well as Help (not implemented yet)
- Added
- support for rebinding Ctrl/Win/Alt key combos in Insert mode (they're still ignored by default unless explicitly enabled via the
handle_keys
config to not break all of the default Sublime Text's combos with these modifiers, also AltF1... function key combos are ignored by default) - support for text object pairs as targets for the goto command
- support for user configuration of marks' back aliases: ' `
- support for user configuration of UnImpaired option aliases
GotoTargetPrev
/GotoTargetNext
commands to allow using the brackets as arguments instead of as names
(Ⓝ)gdd" "GotoTargetPrev" "‹"
(Ⓝ)gdd" "GotoTargetPrevWhateverThatBracketIsNamed"
- surround: option to customize function prefix (
f
F
) - support for count to the screen top/bottom movement commands, e.g., can move to line 5 from the visible top
- support for user config of the macros recording indicator, e.g., short visible
🔴w
instead of the long grayrecording @w
- search command for an unbounded string under cursor matches g#/* vim commands
- support for rebinding Ctrl/Win/Alt key combos in Insert mode (they're still ignored by default unless explicitly enabled via the
- Fixed
- 🪲 falsy user settings treated as missing instead of being saved as value false values
- 🪲
ViGotoSymbolInFile
using deprecated APIs to get symbol position - 🪲 avoid dumping settings loaded from KDL to Preferences file: stop saving settings in the Preferences.sublime-settings unless they already exist there
- 🪲 error running search command with mode/count arg. Happens when e.g.
map m /
and pressdm
the/
search command receivesmotion_args
dictionary withmode
/count
keys, which its function signature lacks - 🪲 unknown 65001 encoding error
- 🪲
ViOpenMacrosForRepeating
default key typo - 🪲 jumps to ` and
'
marks being identical instead of'
jumping to the first non-blank char a the previous position
- Changed
- text object labels are removed with an explicit no value (
l=null
orl=""
instead of the old"l"
), while that syntax is repurposed: a pair as an argument is parsed using self ("‘’"
is the same as‘="‘’"
and’="‘’"
)
- text object labels are removed with an explicit no value (
- Added
- support setting general plugin values currently set in
Preferences.sublime-settings
in the new KDL config format (but without the needlessneovintageous_
prefix) - ✨ support setting
text object
options in the new KDL config - ✨
seek_forward
support fortext object
option — to not seek the next set of brackets/quotes if the current text@cursor position isn't enclosed in one —⎀a(B)
with alowercase within ()
comand will result in:
⎀a(B)
ifseek_forward
isfalse
(default)⎀a(b)
ifseek_forward
istrue
- ✨ abolish: allow users to configure case coercion aliases
- ✨ abolish: option to maintain cursor position on case changes, e.g., converting
se⎀View⎀Sel_⎀Reverse
to upper case (⎀ denotes cursor position) will leave cursor at the same spot in the newSE_⎀VIEW_⎀SEL_⎀REVERSE
while previously it moved it to the beginning of the wordSE_VIEW_SEL_REVERSE
- support for passing variables through to subsequent imports via the
varpass
tag, e.g.:
- @
NeoVintageous.kdl
:#import "cfgA.kd" m=(var)"Ⓝ"
defines variablem
as a normal mode - @
cfgA.kdl
:#import "cfgB.kd" m=(varpass)""
passes the value ofm
further - @
cfgB.kdl
:(‘m’)a MoveToEol
will getⓃ
as the value ofm
- support setting general plugin values currently set in
- Fixed
- 🪲 key sequences with text commands (
(Ⓝ)bb "MoveToEol"
) not being resolved as a sequence
- 🪲 key sequences with text commands (
- Changed
- command repeat count in keybinds to include
×
⋅
prefixes
- command repeat count in keybinds to include
- Added
- ✨ template variable in the new config to allow importing the same keybinds with minor variations per mode (e.g., add an extra modifier in Insert mode to otherwise mimic Normal mode commands)
- allow running raw nvimrc initialization commands within
NeoVintageous.kdl
'src
config group
- Changed
- allow concatenation of multiple
keybind
config groups (helpful to combine keybinds from multiple files)
- allow concatenation of multiple
- Added
- ✨ show a popup with a count indicator
general
group to the new KDL config formatNeoVintageous.kdl
with support forset
andlet
options- support for
set
andlet
options in thekeybind
group
- Added
- ✨ nowrap alternative to tab switch Ex commands (
tabnextnowrap
/tabpreviousnowrap
) - ✨ allow user to set values various indicators:
- for
ls
command, e.g., replace+
modified file mark with🖉
similar to how a modified tab is marked - for
registers
command, e.g., replacel
for linewise with━
- ✨ option to maintain cursor position on surround plugin's text edits, e.g., adding
'
tomy_⎀word
(⎀ denotes cursor position) will leave cursor at the same spot in the new'my_⎀word'
while previously it moved it to the first inserted punctuation⎀'my_word'
- ✨ option to not seek the next set brackets if current text isn't enclosed in one —
⎀a(b)
with surround delete will result in:
⎀a(b)
ifseek_forward
isfalse
(default)⎀ab
ifseek_forward
istrue
- ✨ new KDL config format
NeoVintageous.kdl
with - Fewer quotes (and in the future v2 version with even fewer quotes):
plugin { surround { punctuation_marks ‘="‘’" “="“”" ‹="‹›" «="«»" ;};} "plugin" : { "surround" : { "punctuation_marks":{"‘":"‘’", "“":"“”", "‹":"‹›","«":"«»"}} },
- Inline comments:
punctuation-alias "clear"/*clear defaults d=")" B="}" r="]" a=">" }*/\ d="(" f="[" g="‘" h="“"
- Support for raw strings so you don't need to escape anything:
upper r#"l;'\" "upper" : "l;'\\",
- ✨ support for importing other config files
#import (keybind)"NeoVintageous.key.kdl" /*↑ or ‘import’ to import ↑ file name relative to this main config file group values↑ in ‘keybind{}’, so the file itself can include only top-level ‘key command’ lines */
- ✨ human-readable format for setting keyboard shortcuts
(nv)d "MoveByWordsBackward" // understandable command name
instead of.neovintageousrc
'snnoremap d b
why do you need to remember thatb
moves by words backwards if you never use it?vnoremap d b
oh, can you can't even add a comment on the same line to clarify it And the wholenoremap
doesn't need to be repeated on every single line - command repeat count in keybinds:
(Ⓝ)d (#4)"MoveByBigWordsBackward"
(or№
#
⌗
c
n
prefix) will move by 4 Words - list of commands is executed as a single chain without the need to specify
chain
command ((Ⓝ)q "MoveByBigWords" "MoveByBigWords"
) chain
argument to add node children as a sequence of commands for the same keybind (in case they need to set their own properties)(Ⓝ)q "MoveByBigWords" "chain" { ↓/*node names are ignored*/ "MoveByBigWords" - r#":"command":"move","args":{"by":"words","forward":true,"extend":true}<CR>"# }
- group keybinds under a single mode without having to repeat mode's name in each keybind
(Ⓝ)my_normal_group { d "MoveByBigWordsBackward" f "MoveByBigWords" }
- execute Sublime Text commands by writing arguments in a
prop=value
format(Ⓝ)r (subl)"move" by="words" forward=true extend=false //- r#":"command":"move","args":{"by":"words","forward":true,"extend":false}<CR>"# // ! but this is NOT suitable for chains since prop=val in KDL do not maintain position vs. arguments, so to execute multiple Sublime Text commands with arguments you'd still need to "chain them" (Ⓝ)t "chain" { - (#5subl)"move" by="words" forward=true extend=false - (#5subl)"move" by="words" forward=true extend=true } // ! also, this doesn't work for nested arguments, those still require pasting the full json snippet
- ✨ nowrap alternative to tab switch Ex commands (
- Added
- ✨ allow users to call cli commands on entering/leaving a mode
- ✨ non-QWERTY/non-Latin layouts based on custom user
keymap
dictionary inUser/NeoVintageous.sublime-settings
(requires manually runningNeoVintageous: Generate non-QWERTY keymap
command) - ✨ support of non-Latin maps in
.neovintageous
, e.g.,noremap ц b
to move back by word when a Cyrillic layout is on (does not work with modifier keys since Sublime Text doesn't report non-Latin keys) - ✨ rudimentary foundations to support custom key symbols in user config, e.g.,
noremap ⇟ w
to move by word with a PageDown key - ✨ support for raw sublime text commands in user config
" w moves to line's first non-whitespace char " q does the same twice, but with selection noremap w :"command":"move_to","args":{"to":"bol","extend":false}<CR> noremap q :"command":"move_to","args":{"to":"bol","extend":true}<Bar>:"command":"move_to","args":{"to":"bol","extend":true}<CR> " or use the old syntax with an extra :colon instead of UpperCamelCase (convenient for no-argument commands) noremap q ::move_to<CR>
- ✨ surround: allow users to configure marks, mark aliases, when to append an extra space
- ✨ preliminary support for configuring keybinds without having to learn a foreign vim language by calling the command(s) by name, e.g.,
l MoveLeftByChars
instead ofl h
. Also allows rebinding plugin commands without using environment variables, e.g.,b Sneak
instead of setting$NEOVINTAGEOUS_SNEAK_MAP_S
) - ✨ Allow user configuration of status bar Mode indicators, including suffix, indicator, prefix, and indicator position relative to other indicators. Also updates defaults to be more terse and symbolic (e.g., ⓘ instead of INSERT and Ⓥ▋ instead of VISUAL BLOCK)
- Changed
- commands: add key symbols like
⎈
to command name for easier visual differentiation and 1-symbol-search
- commands: add key symbols like
- Fixed
- 🪲 literal tabs in .neovintageous config breaking some remaps by removing all literal tabs during parsing
- 🪲 invalid register error for non-latin macros
- 🪲 keypad numbers not working as count prefix
- 🪲 1-symbol keys like
⇟
in named key aliases not recognized
+
should move cursor to first non blank-
should move cursor to first non blank- Output panel syntax fixes
- Close pane/view commands don't need Origami
- Close other views leaves empty pane in some cases
- Some
:registers
display incorrect trailing newline - Pasting multiple lines inserts them within the current line #1027
- Modeline large file performance (now only considers 256 chars per line) #1028
- Modeline at the end of file are processed bottom-up
- New documentation site, to check it out, visit neovintageous.github.io.
- Edit the alternate buffer
:b#
(aliasCTRL-^
orCTRL-6
) #993 - Add alternate buffer indicator (
#
) for:ls
- z scroll commands do not accept count #1007
gx
should work on localhost and with ports
- status indicators show a visible file as hidden when multiple tabs are visible #998
- f9/f12 keys do not work in normal mode #1002
- Fix TypeError updating ignored packages on upgrade
- Support for In Pair targets
i( i) ib i{ i} iB i[ i] i< i> it
(Targets) - Support for A Pair targets
a( a) ab a{ a} aB a[ a] a< a> at
(Targets) - Add
vintageous_enable_targets
setting, default true, to control plugin (Targets) - Support for default visual mode via
vintageous_default_mode
setting - Support for
[count]
inai
andaI
commands (Indent Object) - Support for
block_caret
in insert mode - Add
zO
, alias ofzo
, open fold - Add
zC
, alias ofzC
, close fold
- Package Control 4 fix for updating orphaned conflicting packages
- CTRL-n/CTRL-p and CTRL-j/CTRL-k don't work for some overlays in some cases
- Closing folds, e.g.,
zc
, when the fold is at the EOL doesn't work
- Add reverse sorting support for sort command by appending
!
e.g.,:sort!
- Add support for
<Left>
and<Right>
in insert mode, allowing you to move the cursor one character to the left and right. - Add
[count]
support forCTRL-i
andCTRL-o
: navigate to newer and older cursor positions in the jump list. #981 #980 - Add
CTRL-n
andCTRL-p
for next and previous item navigation in the Command Palette, Goto File, Goto Symbol, and Goto Symbol in Project. #979 - Add
:ascii
to display the ASCII value of the character under the cursor in decimal, hexadecimal, and octal formats. The mnemonic is "Get Ascii value," and it functions similarly toga
. #975 - Add support for customizing sneak key bindings. #738
- Add
\\A
(same as<M-A>
) select all in multiple cursor mode #977 - Add
O
in visual mode: Go to Other end of highlighted text. This is like "o", but in Visual block mode the cursor moves to the other corner in the same line. #976 - Add
tabprevious [N]
go to the[N]
th previous tab, defaulting to one. #973 - Add
tabnext [N]
go to[N]
th next tab, defaulting to one. #972 - Add
bprevious [N]
go to the[N]
th previous buffer in the buffer list, defaulting to one. #971 - Add
bnext [N]
go to the[N]
th next buffer in the buffer list, defaulting to one. #970 - Add
CTRL-w w
andCTRL-w W
to move cursor forward and back through neighbouring groups. #839 - Add
CTRL-n
in insert mode to open auto-complete. #965 - Add
N
(same asQ
,k
, andCTRL-p
) remove cursor in multiple cursor mode. #964 - Add
TAB
(same asEsc
andJ
) quit multiple cursor mode. #942 :ls
now displays line numbers. #967:registers
now displays type, linewise or characterwise #961- Buffer commands like
:bnext
and:bprevious
now cycle through all views, instead of just cycling through views within a group. #968
- Bracket text object, e.g.,
vi{
,vi}
,viB
, should not include trailing whitespace on last line - Special keys like
<Esc>
don't work in complex mappings in some cases e.g.,<Esc>li
- Session history is not saved in some cases
v_o
should update the cursor x position. #974- Don't populate small delete when a register is specified. #963
zt
,zb
, andzz
should maintain cursor column. #962z<CR>
,z-
, andz.
should position the cursor on the first non-blank. #962zt
,zb
,zz
,z<CR>
,z-
, andz.
scroll command inconsistencies. #962- Commands like
:tabfirst
,:tabonly
,:tabnext
, should not be forceable. #966 - Disable line highlighting in Cmdline output. #960
- #957: Fix issue with deleting a range of uppercase marks when one doesn't exist
- #945: Introduces the "unless_sidebar_visible" option for
vintageous_exit_when_quitting_last_window
setting. - #956: Adds new command for quick exit, similar to
:wq!
::exi[t]!
- #956: Adds new command for quick exit, similar to
:wq!
::exit[!] [file]
- #956: Adds new command for quick exit, similar to
:wq!
::x[it]!
- #956: Adds new command for quick exit, similar to
:wq!
::xit[!] [file]
- #373: Implements an Input Method plugin for automatic IM switch when entering/exiting Insert Mode.
- #948: Introduces new mark deletion commands:
:delm[arks] {marks}
- Delete specified marks (A-Z, 0-9). - #948: Introduces new mark deletion commands:
:delm[arks]!
- Delete all marks for the buffer except A-Z, 0-9. - #919: Adds support for Dvorak mappings via NeoVintageousDvorak.
- #918: Adds support for Colemak mappings via NeoVintageousColemak.
- #944: Enables mapping of any character, e.g.,
nnoremap ø :marks<CR>
. - #106: Introduces new navigation commands:
g,
Go to[count]
newer position in change list. - #106: Introduces new navigation commands:
g;
Go to[count]
older position in change list. - #942: Adds
CTRL-M
alias forEnter
. - #943: Introduces
zuw
alias forzug
. - #841: Adds
vintageous_auto_nohlsearch_on_normal_enter
setting to maintain highlighting after searches. - #936: Implements the "Preferences: NeoVintageous Settings" command for editing settings.
- #924: Enables super keys (Windows key or Command key) by default.
- #915: Adds gutter display for marks (configurable via
vintageous_show_marks_in_gutter
). - #921: Introduces the
'equalalways'
option to equalize view sizes after splitting.
- #955:
ZZ
now same as:wq
- #956:
:exi[t]
now same as:wq
- #956:
:x[it]
now same as:wq
- #947:
:vnoremap
andvunmap
now include Select mode - #946:
:noremap
andunmap
now include Select mode
- #819: The deprecated setting
vintageous_exit_when_quiting_last_window
should be replaced withvintageous_exit_when_quitting_last_window
. - #952: The deprecated setting
highlightedyank
should be replaced withvintageous_highlighted_yank
- #952: The deprecated setting
highlightedyank_style
should be replaced withvintageous_highlighted_yank_style
- #952: The deprecated setting
highlightedyank_duration
should be replaced withvintageous_highlighted_yank_duration
- #952: The deprecated setting
neovintageous_search_cur_style
should be replaced withvintageous_search_cur_style
- #952: The deprecated setting
neovintageous_search_inc_style
should be replaced withvintageous_search_inc_style
- #952: The deprecated setting
neovintageous_search_occ_style
should be replaced withvintageous_search_occ_style
- #929: No syntax highlighting for
<LocalLeader>
- #879: neovintageousrc options only set on active view at startup
- #922: neovintageousrc reloading does not refresh options
- #916: Set mark
m{a-zA-Z}
at cursor position now persist on restart - #880: Set global mark
m{A-Z}
at cursor position - #881:
:marks
List all the current marks - #906:
:tabnew
and:tabe[dit]
open a new tab page with an empty view (requires Origami) - #902:
:vs[plit] [file]
like:sp[lit] [file]
, but split vertically (requires Origami) - #903:
:sp[lit] [file]
split current view in two and if given, edit[file]
in new window (requires Origami) - #911:
CTRL-w ^
andCTRL-w CTRL-^
split the current view in two and edit the alternate file (requires Origami) - #909:
new [file]
create a new split and if given, start editing file[file]
in it (requires Origami) - #910:
:vne[w] [file]
like:new [file]
, but split vertically (requires Origami) - #901:
CTRL-W gT
same asgT
- #901:
CTRL-W gt
same asgt
- #897:
CTRL-W gF
same asgF
- #897:
CTRL-W gf
same asgf
- #896:
gF
same asgf
, except the cursor is positioned on row:col - #897:
gf
the '~' character is expanded, like in "~user/file" - #897:
gf
environment variables are expanded. - #897:
gf
in visual modes - #893: Reveal Side Bar command to make side bar visible, if not already, and put focus on it
- #904: Start visual mode linewise,
V
, is now countable - #888:
gg
in visual block mode - #888:
G
is now countable in visual block mode - #888:
G
in visual block mode
- #881: Invalid and unknown marks should emit a bell
- #914:
{backtick}{a-z}
jump to mark should center screen if cursor off screen - #913: No animated smooth scrolling with
<C-d>
or<C-u>
- #908:
:new
should split like:split
- #905:
:close!
should close last view - #900: Command-line output should not show white-space characters
- #899: I in multiple cursor mode should glue undo operations
- #892: Change surrounding HTML tags breaks with multiple tags with attributes
- #897:
gf
doesn't work in some cases - #889:
{visual}G
should extend to first non-blank character - #890:
G
should jump to first non-blank character
- #887: Using arrow doesn't scroll the view in visual block mode
- #886: Support visual modes in unimpaired goto conflict commands
]n
and[n
- #854: Add support for keys
à
,è
,ò
,ù
- #867: Support keypad numbers as count prefix
- #878: Allow leading whitespace for commands in neovintageousrc file
- #877: Add
unmap
,nunmap
,ounmap
,sunmap
,vunmap
,xunmap
support in neovintageousrc file - #876: Add
:xnoremap
and:xunmap
- #874: Toggle highlight gutter aswell as highlight line On/Off/Toggle
[oc
/]oc
/yoc
- #870:
n
(next),q
(skip),Q
(remove) keys in multiple cursor mode - #863: Persist last search pattern on restarts
- #885:
'expandtabs'
should be'expandtab'
- #866: Count doesn't work when remapping
<C-e>
and<C-y>
- #871: Should be able to paste into multiple cursor
- #855:
crp
PascalCase coercion, alias tocrm
(Abolish plugin) - #790: Asynchronous file saving setting
vintageous_save_async
, false by default - #643: Mapping by file type e.g.
nnoremap FileType go gd :LspSymbolDefinition<CR>
- #861:
[count]
forD
- #860:
[count]
forC
- #805:
<k0>
alias for0
- #858:
[count]
forS
- #790: Asynchronous file saving is now disabled by default
- #804: Change syntax highlighting when writing to a new file
- #859:
ZZ
doesn't save and close a new file
- #796: Registers are now persisted on restarts
- #833: Sessions are now saved on exit instead of at runtime (builds >= 4081)
- #74: Add
#
alternate file register - #74: Add
<C-^>
(<C-6>
) go to most recent used file - #833: Macros on now persisted on restarts
- #833: Macros are now persisted globally
- #787: Add
vintageous_lsp_save
setting to fix lsp format on save doesn't seem to work - #822:
Esc
shouldn't close autocomplete-suggester and insert mode at the same time
- #848: Ex print with
#
flag adds incorrect line numbers - #847: Allow numbers in mapped user commands
- #788: Make
:g/pattern/p
include last line even if it doesn't end with\n
- #826:
%
doesn't work correctly on html tags
- #768: surround change tag with
>
remove attributes e.g.cst<div>
(Surround) - #768: surround change tag with
\n
(newline) to keep attributes e.g.cst<div<CR>
(Surround) - #768: surround change tag with
<C-t>
to put tag on lines by themselves e.g.cst<C-t>div>
,cst<C-t>div<CR>
(Surround) - #768: surround yank
<C-t>
to put tags on lines by themselves e.g.ysiW<C-t>div>
(Surround) - #768: surround change
<C-t>
to put tags on lines by themselves e.g.cs"<C-t>div>
(Surround) - #768: surround yank tag with
t
(same as<
) e.g.ysiwtdiv>
,ysiw<div>
(Surround) - #768: surround tag close with
>
e.g.ysiwtdiv>
,cs"tdiv>
(Surround) - #768: surround tag close with
\n
e.g.ysiwtdiv<CR>
,cs"tdiv<CR>
(Surround) - #768: surround change tag close with newline e.g.
ysiwtdiv<CR>
(Surround) - #830: Add surround
f
(function): pressysWfprint<cr>
in"hello"
to getprint("hello")
(Surround) - #830: Add surround
F
(function): pressysWFprint<cr>
in"hello"
to getprint( "hello" )
(Surround) - #830: Add surround
<C-f>
(function): pressysW<C-f>print<cr>
in"hello"
to get(print "hello")
(Surround) - #828: Add
S{char}
in visual line mode (Surround) - #838: Add
<S-tab>
- #711: Add
[count]
for*
- #711: Add
[count]
for#
- #826: Add jumps like
%
inside comments
- #807: Delete register no longer working on selection made by other plugins
- #615: Support for chaining ex commands with
<Bar>
(vertical bar) - #759: Support for mapping multiple ex commands
- #786: Paste is now more flexible for multi cursors
- #781: New text objects
i,
,i.
,i;
,i:
,i+
,i-
,i=
,i~
,i_
,i*
,i#
,i/
,i|
,i\
,i&
,i$
(port of https://github.com/wellle/targets.vim) - #781: New text objects
a,
,a.
,a;
,a:
,a+
,a-
,a=
,a~
,a_
,a*
,a#
,a/
,a|
,a\
,a&
,a$
(port of https://github.com/wellle/targets.vim)
- #800: scroll_context_lines setting for H and L
- #806: Quote-Quote and Quote-Backtick commands don't work
- #786: Pasting with p or P does not work when multiple cursors are enabled
- #734: Change In Tag deletes empty HTML tag instead of placing caret inside it
- #740: Change inside parentheses not working as expected?
- #739: Wrong behaviour for nested motions
- #744: Delete-surround not deleting the right pair
- #644: Surround plugin deletes non-matching parentheses
- #745:
ds
sometimes doesn't work when the cursor is on first target - #791: Reset mode setting is ignored when mode is already normal
- #790: Various file saving edge-case issues
- #790: Asynchronous file saving with
:w
,:wq
- #789: Support inverse global-command
:g!/pattern/cmd
- #797:
:cd
not working as expected
- #782: Toggle-able option to keep sublime open when quitting out of last file
- #780: Navigating in the command palette not working in (ST4)
- #767: Support window splitting for latest version of Origami
- #755: New ex command
:inoremap
(note only a few keys are currently mappable in insert mode)
- #772: Backwards sneak special characters
- #760:
ci"
with space at the end of a string doesn't remove the space - #771:
cit
leaves newline - #762:
P
andp
aren't supposed to paste lines starting from the current cursor position - #748:
viw
,vaw
behaviour does not copy Vim behaviour - #765:
viw
wrong selection last character in()
- #770:
:q
(quit) on empty panes or non-existent files fails with "E32: No file name"
- #750: New setting
vintageous_sneak_use_ic_scs
support sneak'smartcase'
- #109: Implement
i_ctrl-u
delete all entered characters before the cursor in the current line - #754: Implement
ctrl-w_ctrl-]
split view and and jump to definition (ST4) - #470: New setting
vintageous_handle_keys
for granular control of enabled keys
- #711: Ctrl keys are now enabled by default, to disable set
vintageous_use_ctrl_keys
to false or use the newvintageous_handle_keys
setting to disable specific keys
- #749: Support for Python 3.8 (ST4)
- #205:
'scrolloff'
option (ST4) - #733:
[or
,]or
,yor
, enable, disable, and toggle'relativenumber'
(Unimpaired) (ST4) - #732: new option
'relativenumber'
'rnu'
'norelativenumber'
'nornu'
(ST4)
-
#751: All commands that started with an underscore have been renamed with prefix "nv_". You don't need to do anything unless you have customisations that use those commands. The reason for the change is in ST4 Python 3.8 leading underscored commands are ignored.
Here are some some examples of changed commands:
old new _enter_normal_mode
nv_enter_normal_mode
_enter_insert_mode
nv_enter_insert_mode
_nv_feed_key
nv_feed_key
_vi_w
nv_vi_w
_vi_w
nv_vi_w
- #747: Key mapping doesn't work with foreign character č
- #742: Escaping from ST's own multi-cursor selection removes all selections
- #742: Escaping from ST's own multi-cursor selection removes all selections
- #741: Latest version of Sublime Text (4082 and up) has breaking changes
- #457: Port of vim-sneak; includes most features except label-modes
- #718: Settings to more easily enable mapping
jj
andjk
to escape from insert mode - #727: Display "h" indicator for hidden views in
:ls
output - #720:
<C-w>W [N]
go to view by id - #721: Alias
<bslash>
to,
- #722:
:set inv{option}
alias of:set{option}!
- #726:
f
,F
,t
,T
,;
, and,
noop now emits a visual bell - #724: Ex mode noop operations now emit a visual bell
- #725:
ZZ
andZQ
are now only mapped for normal mode
- #715:
neovintageous_open_my_rc_file
(cmd); useneovintageous {action=open_rc_file}
instead - #715:
neovintageous_reload_my_rc_file
(cmd); useneovintageous {action=reload_rc_file}
instead - #715:
neovintageous_toggle_side_bar
(cmd); useneovintageous {action=toggle_side_bar}
instead
- #723: Command-line completions should ignore
no{option}
unless prefix "no" - #717: Ex command ranges should ignore whitespace
- #712:
:help {subject}
is very slow (performance) - #716:
yol
toggle list sometimes doesn't work (Unimpaired) - #714:
^V
is not syntax highlighted like^J
in command-line output bug (UI) - #709: General performance improvements (performance)
- #705:
/{pattern}\c
(\c
ignore case, do not use the'ignorecase'
option) - #705:
/{pattern}\C
(\C
match case, do not use the'ignorecase'
option) - #707:
[count]gT
Go{count}
tab pages back - #631:
i/
,i_
,a/
, anda_
text objects e.g.ci/
,ca/
- #697:
'smartcase'
option - #700: "=" readonly buffer indicator for
:(ls|buffers|files)
- #701: "+" modified buffer indicator for
(ls|buffers|files)
- #702:
:(ls|buffers|files)
now uses view id as the unique number (this number will not change) - #294:
:(ls|buffers|files)
improvements - #703: Command-line output use the same panel and executed commands overwrite previous output
- #703: Command-line output panels now gain focus when a command is executed
- #703: Command-line output panels are now closable by pressing enter
- #703: Command-line output syntax improvements
- #703: Improved syntax for
:(ls|buffers|files)
command-line output - #703: Improved syntax for
:reg[isters]
command-line output - #703: Improved syntax for
:his[tory]
command-line output - #404: keypad keys
<k0>
,<k1>
,<k2>
,<k3>
,<k4>
,<k5>
,<k6>
,<k7>
,<k8>
,<k9>
,<kdivide>
,<kenter>
,<kminus>
,<kmultiply>
,<kperiod>
,<kplus>
- #706:
gf
should emit visual bell when there is no file under cursor - #704:
[n
and]n
should not jump to invalid conflict markers - #699:
N
after?
(reverse search) followed byn
moves in wrong direction (regression) - #612: Searches bound to a keys in neovintageousrc are not repeatable by
n
orN
- #698:
:help {subject}
doesn't work for subjects > 35 chars - #691: Undo should ring bell when already at oldest change
- #694:
<F2>
and<S-F2>
next and previous bookmark keys wrong way around - #693:
<C-S-b>
should show build with overlay - #10: Repeating text changing doesn't work.
- #670: Marks locations are updated on view changes
- #689:
<Return>
key alias for<CR>
- #688:
<Enter>
key alias for<CR>
- #684:
:shell
start a shell (usevintageous_terminal
setting to set the terminal name) - #685:
'shell'
option e.g.:set shell=/bin/bash
(used for:!{cmd}
commands) - #687:
[range]:read !{cmd}
execute{cmd}
and insert below cursor - #674: Implement Vim modelines
- #678:
'textwidth'
option e.g.:set textwidth
,:set notextwidth
- #677:
'tabstop'
option e.g.:set tabstop
,:set notabstop
- #679:
'expandtabs'
option e.g.:set expandtabs
,:set noexpandtabs
- #404:
<D-bs>
,<D-cr>
,<D-del>
,<D-down>
,<D-home>
,<D-left>
,<D-pagedown>
,<D-pageup>
,<D-right>
,<D-space>
,<D-up>
,<D-.>
,<D-S-.>
- #404:
<M-left>
alias toh
- #404:
<M-right>
alias tol
- #404:
<C-space>
- #404:
<C-bs>
alias toh
- #404:
<C-pageup>
alias togT
- #404:
<C-pagedown>
alias togt
- #404:
<C-home>
alias togg
- #404:
<insert>
alias toi
- #404:
<S-down>
alias toCTRL-f
- #404:
<S-up>
alias toCTRL-b
- #404:
<C-left>
alias toB
- #404:
<S-left>
alias tob
- #404:
<C-right>
alias toW
- #404:
<S-right>
alias tow
- #671: Emit visual bell when ex command not found or invalid
- #404:
'winaltkeys'
option is now "menu" by default - #404:
'ignorecase'
option is now false by default - #674:
sublime:
specific modelines have been superseded by vim modelines - #675: Modelines are no longer applied on save, only once on load
- #685:
VintageousEx_linux_shell
setting; use:set shell={value}
instead - #685:
VintageousEx_osx_shell
setting; use:set shell={value}
instead - #685:
linux_shell
setting; use:set shell={value}
instead - #686:
VintageousEx_linux_terminal
setting; usevintageous_terminal
instead - #686:
VintageousEx_osx_terminal
setting; usevintageous_terminal
instead
- #690: RC file syntax should only scope known valid keys
- #687: Various
:!{cmd}
inconsistencies - #683:
'{a-z}
in visual line mode is inconsistent - #682: Visual mode
m{a-z}
off-by-one - #681:
m{a-z}
should not change mode - #680:
{backtick}{a-z}
should position cursor at the specified location - #676: Uppercase alt keys don't work when
winaltkeys=menu
- #672: Status messages not displayed when
:set belloff=all
- #630: Visual block pasting
- #668:
[n
and]n
to navigate between conflicts (Unimpaired) - #4: Remember last search and ex command history on restarts (sessions)
- #570: Repeated text objects e.g.
vitit
to visually select inner tags - #75: Add
:buffer [N]
command - #664: Add visual line
CTRL-v
enter visual block - #666: Add visual line
CTRL-n
add next multiple cursor match - #665: Add visual block
CTRL-n
enter multiple cursor - #663: Add
I
flag to:substitute
command - #662: Add
'ignorecase'
option support to:substitute
command - #660: Ex mode
<S-tab>
now cycles through completions in reverse - #657: Auto complete in empty Command-line mode now triggers all completions
- #641: Support search modifiers
\v
,\V
,\m
, and\M
- #655:
*
and#
searches are noop unless all cursor words match - #656:
*
and#
multiple cursor searches
- #404:
vintageous_multi_cursor_exit_from_visual_mode
is now disabled by default
- #404:
__vi_external_disable_keys
setting was removed (use__vi_external_disable
) - #404:
is_vintageous_widget
setting was removed (unused internal setting)
- #669: Shell cmds should default to
sh
if$SHELL
is not set - #667: Pasting line breaks newline at the end of file
- #654:
cit
deletes inside the wrong tag - #404: Various multiple cursor mode issues
- #658:
gU
andgu
should never emit visual bell - #661: Visual block yank should move cursor to beginning of selection
- #659: Ex mode auto complete is broken (ST4)
- #653: One char searches highlights two chars for current cursor
- #652: Command-line output should all use the same output panel
- #651: Command-line output should be read-only
- #650:
C-g
(print cursor position) is incorrect - #649: Enter visual block from visual selection is broken (ST4)
- #647: Replace character bug (ST4)
- #639:
C-d
andC-u
is broken
- #636:
cs"<div class="x">
should strip class from closing tag - #636:
ys{motion}<div class="x">
should strip class from closing tag - #636:
ys{motion}tdiv>
alias "t" (<
) does not work - #635: Visual block mode resets to visual when switching view
- #633:
ds|
doesn't work
- #629: Surround quote marks should only operate within the line
- #628: Surround commands should work with cursor on target
- #627: Yank and paste line to/from register doesn't work as expected
- #625: visual block mode delete doesn't work
- #623:
:[count]
doesn't move screen to keep cursor in view
- #621: rc file loading encoding issue
- #620:
Alt+{hotkeys}
not working
- #585:
yoi
,[oi
, and]oi
, toggle, switch on, and switch off'ignorecase'
(Unimpaired plugin) - #585:
yoh
,[oh
, and]oh
, toggle, switch on, and switch off'hlsearch'
(Unimpaired plugin) - #599:
yo{char}
(previouslyco[char}
) toggle option (Unimpaired plugin) - #585: Support for
set {option}
in neovintageousrc file - #596:
:set {option}!
toggle option - #611:
:set {option}?
show option - #611:
:set no{option}
switch option off - #585:
:set belloff
- #585:
:set menu
- #585:
:set minimap
- #585:
:set number
- #585:
:set sidebar
- #585:
:set spell
- #585:
:set statusbar
- #585:
:set wrap
- #585:
:set wrapscan
- #607:
vai
(text-object) an indentation level and line above (indent object plugin) - #607:
vii
(text-object) inner indentation level (no line above) (indent object plugin) - #607:
vaI
(text-object) an indentation level and lines above/below (indent object plugin) - #607:
viI
(text-object) inner indentation level (no lines above/below) (indent object plugin) - #607: Allow plugins to be fully disabled by boolean setting
enable_{plugin_name}
- #599:
[s
move to prev misspelled word after the cursor ('wrapscan'
applies) - #599:
]s
move to next misspelled word after the cursor ('wrapscan'
applies) - #599:
:spellundo {word}
remove{word}
from good word spell checking - #599:
:spellgood {word}
add{word}
as a good word to spell checking - #599:
z=
for the word under/after the cursor suggest correctly spelled words - #599:
zug
undozg
, remove the word from the entry in spell checking dictionary - #599:
zg
add word under the cursor as a good word to spell checking dictionary - #604:
:set wrapscan
to disable wrapping on*
,#
,n
,N
(searches) - #604:
:set wrapscan
to disable wrapping on]c
and[c
(jump to diffs) - #404:
<Del>
delete[count]
characters under and after the cursor (alias ofx
) - #404: Support for function keys 13-20 in mappings e.g.
<f13>
,<C-f16>
,<C-S-f20>
- #593: Highlight all occurrences on incremental searches
- #589:
:set incsearch
to highlight the pattern matches as it was typed so far - #589:
:set winaltkeys
to enable<A-...>
mappings - #579:
<A-...>
ALT keys (alias of<M-...>
) - #580:
[count]gqgq
(alias ofgqq
) - #580:
[count]gqq
format the current line with a count format that many lines
- #404:
vintageous_belloff
setting; useset belloff
in neovintageousrc file - #404:
vintageous_hlsearch
setting; useset hlsearch
in neovintageousrc file - #404:
vintageous_ignorecase
setting; useset ignorecase
in neovintageousrc file - #404:
vintageous_incsearch
setting; useset incsearch
in neovintageousrc file - #404:
vintageous_magic
setting; useset magic
in neovintageousrc file - #404:
vintageous_modeline
setting; useset modeline
in neovintageousrc file - #404:
vintageous_modelines
setting; useset modelines
in neovintageousrc file - #404:
vintageous_winaltkeys
setting; useset winaltkeys
in neovintageousrc file - #404:
vintageous_wrapscan
setting; useset wrapscan
in neovintageousrc file
- #617: Some magic mode searches should be literal
- #613: Goto matching bracket
%
inherits strange behaviour from vim - #243: Braces in strings mess up brace matching with
%
- #612: Mapped searches are not repeatable by
n
orN
- #373:
vii
does not select the whole indented line - #606:
]<Space>
and[<Space>
cursor position on blank lines - #605:
]c
and[c
are off-by-one for blank lines - #598: Text object registers should be linewise
- #597:
di(
and other text objects ignore indention - #591:
?
(search forward) in visual modes is inconsistent - #590:
/
(search backward) in visual modes is inconsistent - #588: Visual mode incremental search highlighting is inconsistent
- #618: Character
,
(comma) not supported as string in ex command
- #616: Can't use characters like : and # in ex commands
- #581: Pasting complete line is invading new line
- #582:
u
(undo) after:sort u
command needs to be pressed twice to fully undo
- #48:
gp
just likep
, but leave the cursor just after the new text - #48:
gP
just likeP
, but leave the cursor just after the new text - #339:
[p
and[P
likeP
, but adjust the indent to current line - #339:
]p
and]P
likep
, but adjust the indent to current line - #578: Support trailing sequences in command mappings
- #577:
<C-Down>
(alias ofj
and<down>
) can now be mapped - #576:
<C-Up>
(alias ofk
and<up>
) can now be mapped - #574:
J
go to last child (sidebar) - #574:
p
go to parent (sidebar) - #574:
p
go to root (sidebar) - #574:
q
close (sidebar) - #575:
x
delete characters under cursor in multi cursor mode
- #93:
p
is inconsistent - #93: multi line paste works badly
- #573:
P
in visual line mode characterwise should preserve trailing newline - #572:
P
in visual line mode should leave cursor at start of selection
- #440: Use setting
'vintageous_clear_auto_indent_on_esc'
to preserve leading whitespace on<Esc>
- #569: Repeated object select in visual mode doesn't work consistently
- #277: Configure Insert Mode by default
- #49:
<S-Tab>
in ex mode go to previous match auto-complete (alias of<C-p>
) - #73:
<PageUp>
scroll window[count]
pages Backwards (upwards) (alias of<C-b>
) - #73:
<PageDown>
scroll window[count]
pages Forwards (downwards) (alias of<C-f>
) - #565:
P
put multiple cursor text before the cursor - #222:
P
put text before cursor in visual line mode - #552:
y
yank selection in multiple cursor mode - #553:
[count]P
put the text before the cursor[count]
times - #559:
i
text object selection in visual line mode e.g.ip
,iw
,i'
- #562:
a
text object selection in visual line mode e.g.ap
,aw
,a'
- #560:
i
text object selection in visual block mode e.g.ip
,iw
,i'
- #561:
a
text object selection in visual block mode e.g.ap
,aw
,a'
- #563:
ga
print the ASCII value in visual modes - #551:
<C-h>
[count]
characters to the left (alias ofh
,<left>
, and<BS>
) - #551:
g<up>
display lines upward (alias ofgk
) - #551:
g<down>
display lines downward (alias ofgj
) - #551:
<tab>
go to newer cursor position in jump list (alias of<C-i>
)
- #567: some
ctrl
keys are not controlled by'vintageous_use_ctrl_keys'
- #554:
dl
should not advance to first non-blank - #555:
cl
should include trailing whitespace - #556:
d$
on a blank line should not delete the line - #557:
c$
should include whitespace - #558:
d|
should not move to first non-blank - #528: Command-line input has dark background in adaptive light theme
- #550: backslash is converted to
<bslash>
when sent to command line by a mapping - #549: Upward paragraph motion in visual mode not working
- #548: Visual selection should not be cleared when Sublime loses focus
- #547:
vnoremap
doesn't work for super keys in visual mode
- #534:
gn
search forward for the last used search pattern - #535:
gN
likegn
but searches backward, like withN
- #382:
cgn
changegn
search forward for the last used search pattern - #536:
cgN
changegN
likegn
but searches backward, like withN
- #251: option
vintageous_multi_cursor_exit_from_visual_mode
(quit or enter normal mode) - #251:
<C-n>
andgh
from Visual mode now includes the next match - #251:
<C-n>
start multiple cursor - #543:
d
delete text in multiple cursor mode - #542:
Esc
in Visual block mode now leaves cursor on first non-blank - #540:
=
in Visual block mode - #541:
<
in Visual block mode - #539:
=
now leaves cursor on first non-blank - #538:
>>
in multiple cursor mode - #537:
==
in multiple cursor mode - #533:
==
now leaves cursor on first non-blank
- #544:
I
command has been broken in the last update (regression) - #251:
i
in multiple cursor mode should clear visual selection
- #251:
<C-n>
in multiple cursor mode (add next match) - #251:
<C-p>
in multiple cursor mode (remove current match) - #251:
<C-x>
in multiple cursor mode (skip next match) - #251:
c
in multiple cursor mode - #251:
I
in multiple cursor mode - #251:
s
in multiple cursor mode - #251:
v
in multiple cursor mode (go to Normal mode) - #493:
:sil[ent] {command}
command - #513:
:g[lobal]/{pattern}/d[elete]
command - #518:
:his[tory]
command - #519:
:noh[lsearch]
command - #527:
[count]g_
- #527:
cge
change backward to the end of word[count]
- #527:
cgE
change backward to the end of WORD[count]
- #527:
dge
delete backward to the end of word[count]
- #527:
dgE
delete backward to the end of WORD[count]
- #512:
v
in Visual block mode (converts to Visual mode) - #511:
V
in Visual block mode (converts to Visual line mode) - #510:
$
in Visual block mode - #510:
0
in Visual block mode - #510:
^
in Visual block mode - #510:
_
in Visual block mode - #510:
b
in Visual block mode - #510:
B
in Visual block mode - #510:
e
in Visual block mode - #510:
E
in Visual block mode - #510:
g_
in Visual block mode - #510:
ge
in Visual block mode - #510:
gE
in Visual block mode - #510:
w
in Visual block mode - #510:
W
in Visual block mode - #510:
|
in Visual block mode - #490:
[(
in Visual line mode - #490:
[{
in Visual line mode - #490:
])
in Visual line mode - #490:
]}
in Visual line mode - #491:
$
in Visual line mode - #492:
(
in Visual line mode - #492:
)
in Visual line mode - #499:
<CR>
in Visual line mode - #500:
-
in Visual line mode - #527:
_
in Visual line mode - #527:
e
in Visual line mode - #527:
g_
in Visual line mode - #502: Visual bells are now configurable including styles "view", "views", and "blink"
- #502: Visual bells color scheme is now configurable including "light" and "dark" schemes
- #284: Support
%
(current file name) in!
shell commands
- Changed #531:
q{a-zA-Z}
now records macros per window - Changed #516: Search occurrences default style is now set to "fill"
- Changed #510: Visual block mode now works closer to the way Vim block mode works
- #530:
c
does not work with multiple selections - #526: Status line should show current register when recording
- #532: Window commands don't execute in macros
@{a-z}
- #527:
_
inconsistencies in Visual mode - #527:
_
inconsistencies for c operator - #527:
_
inconsistencies for d operator - #527:
M
operations should be linewise - #527:
L
operations should be linewise - #527:
H
operations should be linewise - #525:
I
in reverse Visual mode should enter Insert mode at start of line - #524:
g_
should not include trailing white-space - #523:
g_
in Visual mode is off-by-one - #522:
B
in Visual mode is off-by-one - #521:
[count]d|
off-by-one - #453:
:%g/^$/d
doesn't work - #520: Entering Visual block from Visual doesn't update status line
- #517:
gq
in reverse Visual line mode includes too many lines - #515:
0
in Visual mode off-by-one - #18: Visual block do no span across empty lines
- #509:
:global
should allow various separators and disallow others - #506:
gqip
should leave cursor on first non blank - #505:
dE
should only delete to end of big word - #504:
e
in Visual mode doesn't work - #508:
zH
,zL
,zM
,zR
, and some otherz{a-z}
commands don't work - #234:
<C-e>
and<C-y>
in Normal mode cursor in wrapped lines - #498:
<CR>
in Visual mode should include first character of line - #497:
d(
should include first character of paragraph - #496:
(
in Visual mode is inconsistent - #495:
#
in Visual mode doesn't work after first jump - #494:
*
in Visual line mode should include first character of match
- #488:
gx
doesn't work on some markdown links - #487:
{
in Visual mode is off-by-one - #486:
}
in Visual mode is off-by-one - #485:
'{a-z}
should jump to the first non-blank character in the line - #484:
]}
in Visual mode is off-by-one - #483:
'{a-z}
in Visual mode is inconsistent - #482:
|
at start of line moves to previous line
- #481:
M
in Visual mode is inconsistent - #480:
L
in Visual mode is inconsistent - #479:
H
in Visual mode is inconsistent - #478:
:sort
should scroll cursor into view
- #379:
[{
and]}
VISUAL mode - #379:
[(
and])
VISUAL mode - #434: Support mapping digits e.g.
<leader>0
- #196:
z.
Redraw, line at center of window and put cursor at first non-blank - #454: Support advanced ex command mapping
- #99: Support marks in line ranges
- #464: Support
:[sp]lit [file]
completions - #265: Support
<S-Space>
(shift+space) key - #433: Support case-insensitive key mappings
- #460: Add toggle SUPER keys (enable/disable) command
- #459: Add toggle CTRL keys (enable/disable) command
- #475:
neovintageous_toggle_side_bar
command; use theneovintageous {'action': 'toggle_side_bar'}
instead - #475:
neovintageous_reload_my_rc_file
command; use theneovintageous {'action': 'reload_rc_file'}
instead - #475:
neovintageous_open_my_rc_file
command; use theneovintageous {'action': 'open_rc_file'}
instead
- #477:
}
VISUAL line off-by-one - #476:
de
should delete leading whitespace - #134:
(
and)
not jumping correctly - #364: Loss of clipboard copy and paste functionality in insert mode
- #98: Unable to map double quotes
- #474:
]}
,])
,[{
, and[(
are inconsistent in NORMAL mode - #473:
gq
on reverse selection is off-by-one - #469: Unable to set mapleader to
<Space>
- #468:
d{backtick}{a-z}
should work the same asd{singlequote}{a-z}
- #467: VISUAL mode operator pending command should stay in VISUAL mode
- #465: Repeating (
.
) when nothing to repeat, should invoke bell - #223: Search does not work when cursor is on the word that is being searched
- #466: x, y, and z registers
- #462:
[count]G
and[count]gg
EOF off-by-one - #458:
d}
at EOL causes visual bell
- #448: User command mappings should allow float arguments e.g.
nnoremap <leader>. :ToggleZoomPane fraction=0.98<CR>
- #445:
:sort [i][u]
sort lines with case-insensitive and unique options - #71:
gf
edit the file under cursor (mnemonic: "goto file") - #31:
zl
,zL
,zh
,zH
scroll horizontally - #442:
:s/{search}/{replacement}/c
can now be cancelled
- Removed #441: Non-standard
:cdd
command (use:cd %:h
instead)
- #452: Jump to diff commands,
]c
and[c
, gets stuck on lines with multiple changes - #451:
{Visual}e
in reverse selection should move to end of word - #450:
k
in SELECT mode should enter NORMAL mode if last selection - #449:
v_W
causes error when end of selection is at BOF - #447:
:h ctrl-w_o
should open help forCTRL-W_o
- #446: Many ex commands incorrectly accept an invalid trailing character
- #443:
:cd %:h
displays incorrect status message - #20:
:e#
edits literal file - #444:
vi[
andvi]
should not select empty target line
- #437: Builtin support for jump to diff
]c
and[c
in>=3189
(GitGutter is required for older versions) - #430: Folding commands
zc
,zo
,zM
, andzR
- #432:
cs{target}{replacement}
target aliasesb
,B
,r
, anda
- #431:
ys{motion}{replacement}
replacement aliasesb
,B
,r
, anda
- #418: Surround Line
yss{replacement}
- #429: Support
<bslash>
in vintageousrc - #428: Support
<bar>
in vintageousrc - #424:
[count]o
and[count]O
- #439: Repeat last
:substitute
doesn't work - #438:
{Visual}[count]G
and{Visual}[count]gg
should extend to first non blank - #366: Folding with
zc
enters VISUAL mode - #380:
<Esc>
directly afterO
oro
should erase leading whitespace - #247: Unable to map
<C-w>>
in vintageousrc - #427:
{Visual}gv
should select previous selection - #423:
:w
cannot find file and save, but:Save
and<Ctrl-s>
work - #425: Reloading vintageousrc should unload existing mappings
- #422:
{Visual}y
should highlight the selection (HighlightedYank)
- #242:
CTRL-d
andCTRL-u
should keep horizontal position when scrolling
- Setting
vintageous_visualbell
; usevintageous_belloff
set toall
to disable visual bells
- #421: Direct shell command exec in project
- #416:
H
andL
should move to highest/lowest line without scrolling (UX) - #417:
CTRL-d
andCTRL-u
count should be used as the number of lines to scroll - #362:
SHIFT+H
SHIFT+M
SHIFT+L
in VISUAL LINE mode does not work - #413:
CTRL-d
andCTRL-u
should put cursor on first non blank - #414:
H
,M
, andL
, should put cursor on first non blank - #415:
CTRL-d
andCTRL-u
VISUAL mode bugs - #363: Searching for regex characters like
(
and[
doesn't work - #420:
:help {subject}
should scroll subject into view - #410:
J
should strip leading comment tokens from joined lines enhancement - #412:
j
andk
VISUAL in mode causes window to scroll two lines when next line is empty (UX) - #411:
j
andk
in VISUAL mode causes a jump to other end of visual selection (UX)
- #406:
V_d
should put cursor on first non blank - #407:
yi{motion}
should put cursor on first non blank at start of motion - #403:
yi(
and other block-like motions should create linewise registers - #409:
ga
doesn't work properly when cursor is on a NEWLINE, or TAB, or at EOF - #405:
v_J
should enter NORMAL mode
- #402:
>G
should not include line above cursor - #401:
gcG
should not include line above cursor - #400:
@@
no longer works (regression) - #399:
>
VISUAL BLOCK indent should put cursor on first non blank - #398:
gUU
should put cursor on first non blank - #397:
v_g~
should put cursor at start of selection - #394:
V
at EOF causes error bell - #396:
gg
should move to first non blank character - #395:
G
should move to first non blank character - #395:
G
should reset xpos to 0 - #393:
v_gg
should reset xpos to 0
- Lots of yank, paste, register issues
- #292: Visual mode block insert and append partially working
- #358:
Y
should copy all complete lines touched by the VISUAL selection - #392:
V_gg
start and end cursor is backwards - #224:
P
Pasting text ending with newline pastes to wrong line - #2:
YP
not working correctly - #391:
c{motion}
should fill the numbered registers - #390:
cc
should fill the numbered registers - #389:
dd
on last line leaves cursor at EOF
- #23:
:set autoindent
- #35:
:set ic
and:set noic
has no effect - #368: Disabling
vintageous_hlsearch
appears to have no effect - #388: Executing register while recording causes recursion error
- #94: Executing a register with a count,
[count]@q{register}
doesn't work
- #377: Add backtick mark jumps to jumplist
- #360: Add search highlighting configuration; see
:h nv-search-highlighting
- #359: Add HighlightedYank plugin; see
:h highlightedyank
- Renamed scope
nv_search_inc
toneovintageous_search_inc
- Renamed scope
nv_search_cur
toneovintageous_search_cur
- Renamed scope
nv_search_occ
toneovintageous_search_occ
vintageous_visualyank
setting, use the new HighlightedYank plugin instead; see:h highlightedyank
highlighted.yank
scope, use the new HighlightedYank plugin instead; see:h highlightedyank
- #367:
gx
doesn't work for urls containing dashes
- #340:
[{
,[(
,]}
, and])
don't work - #260: Black hole register
"_
doesn't work for some commands - #199:
D
does not behave correctly in VISUAL mode
- #47: Inserts text behind cursor when plugin is accessed via the command palette
- #355: Fix a typo in the name of a Wrap Plus setting used to detect it
- #291: Append multi line is off by one char
- #64:
0
selects incorrect regions in visual mode
- #353: Color scheme support for current match highlighting in
/
,?
,*
, and#
- #312: Map commands with arguments e.g.
nnoremap ,f :ShowOverlay overlay=goto text=@<CR>
- #345: Map commands without executing immediately (no trailing
<CR>
) e.gnnoremap ,r :reg
- #346: Map commands with ranges and counts
- #344: Add buffer commands
:bf[irst]
,:br[ewind]
,:bp[revious]
,:bN[ex]t
,:bn[ext]
, and:bl[ast]
- #343: Add Unimpaired commands
[b
,]b
,[B
,]B
,]t
,[t
,]T
, and[T
- #327: Redo command (
<C-r>
) should invoke a UI bell if there are no more redo commands - #70: Add show whitespace command
:set list
- #334: Add tab command
:tabN[ext]
- #330: Add tab command
:tabc[lose]
- #173:
vi{
selects extra blank chars - #161:
vit
vat
work incorrect inside self closing tags - #180:
%
doesn't work in VISUAL LINE mode - #354:
:help ctrl-w
opens wrong help file section - #352:
%
should jump to the next item in this line after the cursor - #263:
x
should not delete empty lines - #350: Multi-select
k
doesn't work with a count - #314:
gj
andgk
do not work in visual line mode - #341: Multi-select should scroll viewport to end of selection
- #273: Sort Lines command sorts whole file
- #338:
gv
after visual line should be linewise - #349:
>
and<
should leave cursor on first non whitespace character - #348:
gv
doesn't remember which visual mode was last used - #347:
gv
doesn't work in visual mode - #336:
*
and#
should center match on screen if not visible - #328: Entering normal mode should not put cursor on EOL character
- #324: Entering Normal mode from Visual Block mode creates multiple selection
- #329: Redo command should not leave cursor on EOL character
- #209: Jumping to mark in visual mode does not work
- #335: Help subjects should be case sensitive e.g.
help L
should open help for L not l - #333:
:ou
(:ounmap
alias) doesn't work - #332:
:no
(:noremap
alias) doesn't work - #331:
:files
doesn't work - #325:
:sunmap
doesn't work, prints message E492: Not an editor command - #324: Entering Normal mode from Visual Block mode creates multiple selection
- #323:
:g!/222/p
is bailing out with error: 'str' object has no attribute 'consume' - #153: Cursor gets stuck after a few edit operations
- #322:
:print
doesn't work - #320:
:move
KeyError: 'next_sel'
when address is the same as current line - #321: Entering cmdline-mode from Visual Block mode doesn't work
- #319:
:cd
should change the current directory to the home directory - #150: Remove lines with regular expression
- #148:
:$
does not go to last line - #87: Double front slash doesn't escape properly
- SublimeLinter APIs
- #36
*
and#
jump history doesn't work - #51: Can't map umlauts
- #144: Can't repeat macros
- #170:
<
text object not finding the opening bracket correctly
:registers
should display^J
to indicate newlines:registers
should truncate long lines- Add missing delete surround punctuation marks
;:@#~*\\/
e.g.ds@
,ds*
, etc. - #307: Change surround tag
cst<{tagname}>
- #307: Change surround tag
cstt{tagname}>
("t" an alias for "<") - #307: Change surround tag
cst{replacement}
- #307: Change surround tag
cs{target}<{tagname}>
- #307: Change surround tag
cs{target}t{tagname}>
("t" is alias for "<") - #136: Saving to named register with
D
doesn't work - #306: Triple-clicking doesn't select a line
- #305: Surround multiple selections leave cursor in wrong position
- Edge-case infinite loop when special key is set with no default value
- #304:
:s/$/foo/gc
causes infinite loop - #210:
:%s/$/,/
not working as expected :shell
error
:edit {file}
command- #288: Command-line editing commands:
<C-b>
,<C-e>
,<C-h>
,<C-n>
,<C-p>
,<C-u>
, and<C-w>
- #279:
CTRL-c
andCTRL-[
should exit Command-line mode - #12: Command-line search history with
/
and?
(current session only) - Selections are now cleared when leaving a the current view (UX)
NeovintageousToggleSideBar
command- #286: Support for super-keys
<D-...>
(known as command-keys on OSX, and window-keys on Windows) (disabled by default) highlighted.yank
scope to highlighted yank regions to allow color scheme customisation- Switching windows using windowing commands no longer suddenly scrolls view (UX)
:sunm[ap]
command:help {subject}
command now uses basic heuristics to find a relevant help topic if a subject is not found- Support for
'vintageous_modelines'
option (defaults to5
) - #254:
:sp[lit] [file]
command - Unimpaired status bar toggle
coe
(also toggle on[oe
, and toggle off]oe
) - Unimpaired menu toggle
coa
(also toggle on[oa
, and toggle off]oa
) - Support for the new SublimeLinter API using the Unimpaired goto to error commands
]l
and[l
- Support for the new GitGutter API using the Unimpaired goto change commands
]c
and[c
vintageousrc
(documentation)- Default vim options (documentation)
-
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
noremap
nmap
nnoremap
omap
onoremap
smap
snoremap
vmap
vnoremap
-
Unused
vintageous_enable_cmdline_mode
setting
- Visual ex mode commands should enter normal mode after operation
- Ex mode shell command error (Windows)
- Unmap commands don't unmap visual mappings
- Can't unmap mappings with special keys e.g.
<leader>
- Running tests shouldn't resets user vintageousrc mappings
- #156:
SHIFT-v
thenCTRL-b
doesn't work - Help views should be read only
- Unknown registers raise an exception
gc{motion}
leaves cursor at wrong placegcc
leaves cursor at wrong place- Repeat searches (
n
/N
) should scroll and show surrounds - Goto next/prev change cursor position after motion (Unimpaired)
- #285: Page down
CTRL-f
does not work correctly in Visual Line mode - #296:
de
leaves cursor at wrong place - #295:
df{char}
leaves cursor at wrong place df$
leaves cursor at wrong placegq
cursor position after operation- Mapping command status messages
- Error message typos and grammar
- #254:
:vs[plit] [file]
raises a TypeError
- Error trying to Open My Rc File first time
- Help files shouldn't display rulers or indent guides
CTRL-a
andCTRL-x
doesn't work in column one or between lines- Update to latest vimdocs
:map
doesn't work in visual block or visual line mode- Remove unused setting
- Settings should be erased when cleaning up views
gx
in quoted urlsgg
andG
jump history forwardsCTRL-i
and backwardsCTRL-o
- #298:
gd
can't jump back withCTRL-o
- #241: Leaving Insert mode still shows as being in Insert mode
- #129: Failing tests when ST hasn't got focus
- #297: An occurred trying load NeoVintageous
- #238: Simply search & replace not working for me
- #111: Bad command
- "Traling characters" Status message typo
:s[ubstitute]
No previous substitute error message is incorrect- #226: Mouse does not reset cursor column
C-w _
(set current group height as high as possible) doesn't always work correctlyC-w |
(set current group width as wide as possible) doesn't always work correctlyC-w =
(resize all groups equally) doesn't always work correctlygJ
gx
should ignore trailing full stopsgx
doesn't work on markdown linksvintageousrc
mapping should not accept unescaped pipe characters- Help syntax fixes
- Unimpaired toggles (documentation)
- #245:
ZZ
andZQ
are broken again - #290: Commands that start with underscore should not be mappable
- #289:
:help {subject}
should goto:{subject}
if{subject}
not found
ds(
,ds{
,ds[
, andds<
now also trims contained whitespace (Surround plugin)dsb
alias fords)
delete surrounding()
(Surround plugin)dsB
alias fords}
delete surrounding{}
(Surround plugin)dsr
alias fords]
delete surrounding[]
(Surround plugin)dsa
alias fords>
delete surrounding<>
(Surround plugin)ds<
delete surrounding<>
(Surround plugin)ds>
delete surrounding<>
(Surround plugin)dst
delete surrounding pair of HTML or XML tags (Surround plugin)ds
followed by a target that is not one of the punctuation pairs,()[]{}<>
, are now only searched for on the current line (Surround plugin)ds{target}
cursor position is now moves to the start of first target (Surround plugin)cs{target}
followed by one of])}
now inserts an inner whitespace character (Surround plugin)cs>{replacement}
now replaces surround tag characters<>
with replacement (Surround plugin)cs{target}
folowed by>
now replaces target with replacement surroundings<>
(Surround plugin)cs{target}{replacement}
cursor position is now moves to the start of first target (Surround plugin):h[elp] {subject}
like ":help", additionally jump to the tag{subject}
:h[elp]
open a view and display the help filegx
open url under cursor in browser- Support for
:UserCommand<CR>
.vintageousrc
mappings - Support for
:excommand<CR>
.vintageousrc
mappings :snoremap
command:smap
commandcot
toggle sidebar command (Unimpaired plugin)[ot
toggle sidebar on command (Unimpaired plugin)]ot
toggle sidebar off command (Unimpaired plugin)com
toggle minimap command (Unimpaired plugin)[om
toggle minimap on command (Unimpaired plugin)]om
toggle minimap off command (Unimpaired plugin)- Documentation command
- Edit Settings command
- How to map
jk
toEsc
(documentation)
ds<
no longer deletes surrounding tag; usedst
instead (Surround plugin)ds>
no longer deletes surrounding tag; usedst
instead (Surround plugin)- Modeline
vintageous_modeline
is disabled by default - "Open Changelog" command caption changed to "Changelog"
vintageous_surround_spaces
setting- Unimplemented
tabopen
ex command
neovintageous_toggle_use_ctrl_keys
commandneovintageous_reset
commandneovintageous_exit_from_command_mode
commandtoggle_mode
command
- #213: No command accepts characters in a keybinding
- #167: Allow .vintageousrc to map any keybinds
- #152:
f<key>
doesn't jump to<key>
if there is a mapping for<key>
- #97: Mapping commands
- #81:
ct<leader>
orcf<leader>
doesn't work; needct<leader><leader>
- #282: Surround doesn't work as expected on first symbol
- Several
.vintageousrc
syntax highlighting bugs - Lots of Command-line mode syntax highlighting bugs
- #281:
aW
text objects error if cursor starts at whitespace - #123: text object
a<
ori<
doesn't work! - #280:
daW
/ etc sometimes hang forever in LaTeX syntax - Handle upgrades and loading errors gracefully
-
#271:
ctrl+w q
should close window if closing the last view -
#269:
:close
ex command -
.vintageousrc
<leader>
special string can be used more than once in a mapping e.g.nnoremap <leader><leader> ggvG
-
.vintageousrc
<leader>
special string can be used anywhere in mapping e.g.nnoremap g<leader> ggvG
-
.vintageousrc
noremap
,nnoremap
,vnoremap
, andonoremap
commands -
.vintageousrc
syntax highlighting -
ctrl+n
andctrl+p
auto-complete navigationCommand Description ctrl+n
orctrl+j
down ctrl+p
orctrl+k
up -
ctrl+n
andctrl+p
overlay navigationCommand Description Notes ctrl+n
down e.g. ctrl+p
andctrl+shift+p
invoke overlaysctrl+p
up e.g. ctrl+p
andctrl+shift+p
invoke overlays -
Port of unimpaired.vim go to error commands
Command Description Documentation Dependencies [l
Jump to [count]
next error.unimpaired.vim Linter ]l
Jump to [count]
previous error..unimpaired.vim Linter -
Port of unimpaired.vim option toggling commands
On Off Toggle Description Documentation [oc
]oc
coc
'cursorline' unimpaired.vim [ol
]ol
col
'list' unimpaired.vim [on
]on
con
'number' unimpaired.vim [os
]os
cos
'spell' unimpaired.vim [ow
]ow
cow
'wrap' unimpaired.vim -
Port of abolish.vim coercion commands
Command Description Documentation crm
Coerce word under cursor to MixedCase. abolish.vim crc
Coerce word under cursor to camelCase. abolish.vim crs
Coerce word under cursor to snake_case. abolish.vim cr_
Coerce word under cursor to snake_case. abolish.vim cru
Coerce word under cursor to SNAKE_UPPERCASE. abolish.vim crU
Coerce word under cursor to SNAKE_UPPERCASE. abolish.vim cr-
Coerce word under cursor to dash-case. abolish.vim crk
Coerce word under cursor to kebab-case. abolish.vim cr.
Coerce word under cursor to dot.case. abolish.vim cr<Space>
Coerce word under cursor to space case. abolish.vim crt
Coerce word under cursor to Title Case. abolish.vim -
How to map
jj
toEsc
(documentation) -
How to disable arrow keys (documentation)
-
Commentary plugin usage (documentation)
-
Surround plugin usage (documentation)
- Command-line syntax
:quit
highlighting - Edge-case plugin conflict issues
- Edge-case Unimpaired plugin issue adding blanks
- Edge-case issue invalidating ex mode completions
-
#252: The package is now available in Package Control
-
Git diff commands
Command Description Documentation Dependencies Notes [c
Jump backwards to the previous start of a change. diff Git Gutter Disable wrapping: set git_gutter_next_prev_change_wrap
tofalse
(Preferences > Settings)]c
Jump forwards to the next start of a change. diff Git Gutter Disable wrapping: set git_gutter_next_prev_change_wrap
tofalse
(Preferences > Settings) -
Port of unimpaired.vim is provided by default. The implementation may not be complete. Please open issues about missing features. Below is a table of what is currently available.
Command Description Documentation Dependencies Notes [<Space>
Add [count]
blank lines before the cursor.unimpaired.vim ]<Space>
Add [count]
blank lines after the cursor.unimpaired.vim [e
Exchange the current line with [count]
lines above it.unimpaired.vim ]e
Exchange the current line with [count]
lines below it.unimpaired.vim -
#275: Commands in the
.vintageousrc
file don't need to be prefixed with:
(colon) -
#187: Switching to specific tab with
[count]
gt
-
[count]
toctrl+e
andctrl+y
(scroll lines) -
Coveralls code coverage reporting
-
Surround plugin usage (documentation)
-
.vintageousrc
usage (documentation) -
Modeline usage (documentation)
-
Multiple cursor usage (documentation)
-
Sidebar and Overlay navigation usage (documentation)
gt
command should wrap around from the last tab to the first tab- Command-line mode history edge-case error when no history available
- Command-line mode history not working (regression)
- #192: Closing last tab shouldn’t close sublime window with project (documentation)
- #122:
Tab
doesn't work in visual mode (Shift+Tab
does) (documentation)
- #266
:nmap
doesn't work in.vintageousrc
file :omap
doesn't work in.vintageousrc
file:vmap
doesn't work in.vintageousrc
file:set
prints debug messages to console even when debugging is disabled- #268:
:set
doesn't work in some cases e.g.:set hlsearch
:file
(ctrl+g
) file name should be quoted- Readme link to Linux and OSX cleaner script is broken
- #267: Settings – User
.vintageousrc
menu item is broken - #169: How to map this using Vintageous? (documentation)
-
ToggleNeoVintageous; A command to toggle NeoVintageous
-
Reload My
.vintageousrc
File command -
#63:
/
search does not highlight well -
New commands
Key Context Description j
Sidebar down k
Sidebar up h
Sidebar close node / go to parent node l
Sidebar open node ctrl+j
Overlay down ctrl+k
Overlay up ctrl+[
Normal Same as Esc
(#249)
- Error when reloading and upgrading NeoVintageous and NeoVintageous plugins
- #119: Loosing user settings when toggling ctrl keys
- #84: More detail or examples for mapping
- #34: Small note regarding wiki OSX note
- #162: Use
sublime.packages_path()
- #246: Error when toggling vintageous
:!{cmd}
error (Windows):!!
error (Windows):new
error:edit
error:exit
error:wq!
error:wq
error
gq
error- error using registers
- error when searching
- running last ex command
!!
not working
-
New commands
Command Description Documentation Dependencies Notes ctrl+]
Jump to the definition of the keyword under the cursor tagsearch ctrl-w h
Move cursor to view left of current one windows ctrl-w j
Move cursor to view below current one windows ctrl-w k
Move cursor to view above current one windows ctrl-w l
Move cursor to view right of current one windows ctrl-w b
Move cursor to bottom-right view windows ctrl-w t
Move cursor to top-left view windows ctrl-w H
Move the current window to be at the very top windows Only works in 2-col or 2-row layouts ctrl-w =
Make all views (almost) equally high and wide windows ctrl-w _
Set current view height as high as possible windows ctrl-w |
Set current view width as wide as possible windows ctrl-w o
Make the current view the only one on the screen windows ctrl-w c
Close current view windows ctrl-w x
Exchange current view with next one windows ctrl-w s
Split current window in two windows Origami ctrl-w v
Split current window in two (vertically) windows Origami ctrl-w J
Move the current window to be at the very bottom windows Only works in 2-col or 2-row layouts ctrl-w K
Move the current view to be at the far left windows Only works in 2-col or 2-row layouts ctrl-w L
Move the current window to be at the far right windows Only works in 2-col or 2-row layouts ctrl-w n
Create new view below current one windows ga
Print the ascii value of the character under the cursor in dec, hex and oct various ctrl+c
Exit select mode ctrl+[
Exit select mode -
Port of surround.vim is provided by default. It is based on the Vintageous_Plugin_Surround plugin by @guillermooo
-
vi_search.comment
scope on search matches for better control of highlighting -
vintageous_visualyank
setting to disable visual bells when yanking text -
#1077: Support for Sublime Wrap Plus
-
Command-line mode syntax uses new syntax format
-
Open README and Open CHANGELOG command palette commands
-
Package Control menus for opening README, CHANGELOG, and LICENSE
-
Settings
Setting Description Notes vintageous_test_runner_keymaps
Enable test runner keymaps Tests are now run using UnitTesting vintageous_log_level
No longer used for logging vintageous_verbose
No longer used for logging
- Double loading and unnecessary loading, unloading, and loading of modules on start
- Logging messages printed multiple times
CTRL-W_H
andCTRL-W-L
windowing commands- Error raised trying to scroll in a transient view
Esc
closes console even if already in normal mode and have a multiple selection- Console automatically closes on start
- Wrong file permissions
c_
andd_
cause errors- #1042: Interactive commands not working after mapped commands
- #1074: New text objects
- Command-line mode syntax should not be listed in syntax menus