mirror of
https://github.com/neovim/neovim.git
synced 2025-10-10 11:56:30 +00:00
'inccommand': rework
- Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0)
This commit is contained in:
@@ -450,7 +450,7 @@ notation meaning equivalent decimal value(s) ~
|
||||
<k0> - <k9> keypad 0 to 9 *keypad-0* *keypad-9*
|
||||
<S-...> shift-key *shift* *<S-*
|
||||
<C-...> control-key *control* *ctrl* *<C-*
|
||||
<M-...> alt-key or meta-key *meta* *alt* *<M-*
|
||||
<M-...> alt-key or meta-key *META* *meta* *alt* *<M-*
|
||||
<A-...> same as <M-...> *<A-*
|
||||
<D-...> command-key or "super" key *<D-*
|
||||
<t_xx> key with "xx" entry in termcap
|
||||
|
@@ -3526,6 +3526,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
CTRL-R CTRL-W can be used to add the word at the end of the current
|
||||
match, excluding the characters that were already typed.
|
||||
|
||||
*'incsubstitute'* *'ics'*
|
||||
'incsubstitute' 'ics' string (default "")
|
||||
global
|
||||
|
||||
If "split" or "nosplit" then |:substitute| updates the buffer
|
||||
as-you-type. If "split", also show partial off-screen results in
|
||||
a window. Replacement text is hightlighted with |hl-IncSubstitute|.
|
||||
|
||||
*'indentexpr'* *'inde'*
|
||||
'indentexpr' 'inde' string (default "")
|
||||
local to buffer
|
||||
@@ -3992,16 +4000,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"precedes". "SpecialKey" for "nbsp", "space", "tab" and "trail".
|
||||
|hl-NonText| |hl-SpecialKey|
|
||||
|
||||
*'incsubstitute'* *'ics'*
|
||||
'incsubstitute' 'ics' string (default "")
|
||||
global
|
||||
|
||||
If set to "split" or "nosplit", substitutions (|:s|) are updated live
|
||||
while the user types the command. If set to "split", a split window
|
||||
is open which displays the lines where the search matches. The
|
||||
replacement text in the split is hightlighted using
|
||||
|hl-IncSubstitute|. Note: Only '/' is supported as a delimiter.
|
||||
|
||||
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
|
||||
'loadplugins' 'lpl' boolean (default on)
|
||||
global
|
||||
|
@@ -4852,11 +4852,11 @@ SignColumn column where |signs| are displayed
|
||||
*hl-IncSearch*
|
||||
IncSearch 'incsearch' highlighting; also used for the text replaced with
|
||||
":s///c"
|
||||
*hl-IncSubstitute*
|
||||
IncSubstitute 'incsubstitute' replacement text
|
||||
*hl-LineNr*
|
||||
LineNr Line number for ":number" and ":#" commands, and when 'number'
|
||||
or 'relativenumber' option is set.
|
||||
*hl-IncSubstitute*
|
||||
IncSubstitute The replacement text when using the |incsubstitute| functionality
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' or 'relativenumber' is set for
|
||||
the cursor line.
|
||||
|
@@ -64,7 +64,7 @@ these differences.
|
||||
3. New Features *nvim-features*
|
||||
|
||||
|
||||
MAJOR FEATURES ~
|
||||
MAJOR COMPONENTS ~
|
||||
|
||||
Embedded terminal emulator |terminal-emulator|
|
||||
RPC API |RPC|
|
||||
@@ -85,25 +85,29 @@ avoids features that cannot be provided on all platforms--instead that is
|
||||
delegated to external plugins/extensions.
|
||||
|
||||
|
||||
OTHER FEATURES ~
|
||||
ARCHITECTURE ~
|
||||
|
||||
External plugins run in separate processes. |remote-plugin| This improves
|
||||
stability and allows those plugins to perform tasks without blocking the
|
||||
editor. Even "legacy" Python and Ruby plugins which use the old Vim interfaces
|
||||
(|if_py| and |if_ruby|) run out-of-process.
|
||||
|
||||
|
||||
FEATURES ~
|
||||
|
||||
|bracketed-paste-mode| is built-in and enabled by default.
|
||||
|
||||
Meta (alt) chords are recognized (even in the terminal).
|
||||
<M-1>, <M-2>, ...
|
||||
<M-BS>, <M-Del>, <M-Ins>, ...
|
||||
<M-/>, <M-\>, ...
|
||||
<M-Space>, <M-Enter>, <M-=>, <M-->, <M-?>, <M-$>, ...
|
||||
|
||||
Note: Meta chords are case-sensitive (<M-a> is distinguished from <M-A>).
|
||||
|META| (ALT) chords are recognized, even in the terminal. Any |<M-| mapping
|
||||
will work. Some examples: <M-1>, <M-2>, <M-BS>, <M-Del>, <M-Ins>, <M-/>,
|
||||
<M-\>, <M-Space>, <M-Enter>, <M-=>, <M-->, <M-?>, <M-$>, ...
|
||||
META chords are case-sensitive: <M-a> and <M-A> are two different keycodes.
|
||||
|
||||
Some `CTRL-SHIFT-...` key chords are distinguished from `CTRL-...` variants
|
||||
(even in the terminal). Specifically, the following are known to work:
|
||||
<C-Tab>, <C-S-Tab>
|
||||
<C-BS>, <C-S-BS>
|
||||
<C-Enter>, <C-S-Enter>
|
||||
<C-Tab>, <C-S-Tab>, <C-BS>, <C-S-BS>, <C-Enter>, <C-S-Enter>
|
||||
|
||||
Options:
|
||||
'incsubstitute' shows results while typing a |:substitute| command
|
||||
'statusline' supports unlimited alignment sections
|
||||
'tabline' %@Func@foo%X can call any function on mouse-click
|
||||
|
||||
@@ -125,14 +129,14 @@ Functions:
|
||||
Events:
|
||||
|TabNew|
|
||||
|TabNewEntered|
|
||||
|TabClosed|
|
||||
|TermOpen|
|
||||
|TermClose|
|
||||
|TermOpen|
|
||||
|TextYankPost|
|
||||
|
||||
Highlight groups:
|
||||
|hl-EndOfBuffer|
|
||||
|hl-Substitute|
|
||||
|hl-QuickFixLine|
|
||||
|hl-Substitute|
|
||||
|hl-TermCursor|
|
||||
|hl-TermCursorNC|
|
||||
|
||||
@@ -298,6 +302,7 @@ Other commands:
|
||||
:mode (no longer accepts an argument)
|
||||
:open
|
||||
:shell
|
||||
:smile
|
||||
:tearoff
|
||||
|
||||
Other compile-time features:
|
||||
|
@@ -1,9 +1,4 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.4 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: March 29, 2016
|
||||
" Version: 7.4-45
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" #############################################################################
|
||||
" #############################################################################
|
||||
@@ -58,10 +53,10 @@ syn case ignore
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
|
||||
" Default highlighting groups {{{2
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch IncSubstitute LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual WarningMsg WildMenu
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual WarningMsg WildMenu
|
||||
syn match vimHLGroup contained "Conceal"
|
||||
syn keyword vimOnlyHLGroup contained VisualNOS
|
||||
syn keyword nvimHLGroup contained EndOfBuffer TermCursor TermCursorNC QuickFixLine
|
||||
syn keyword nvimHLGroup contained EndOfBuffer IncSubstitute TermCursor TermCursorNC QuickFixLine
|
||||
"}}}2
|
||||
syn case match
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
|
Reference in New Issue
Block a user