This mostly applies to things that happen when Vim is
actually doing something else. For example, a TextYankPost autocommand cannot
edit the text it is yanking.
This is not allowed when the textlock is active:
- changing the buffer text
- jumping to another buffer or window
- editing another file
- closing a window or quitting Vim
- etc.
==============================================================================
Vim script library *vim-script-library*
Vim comes bundled with a Vim script library, that can be used by runtime,
script authors. Currently, it only includes very few functions, but it may
grow over time.
*dist#vim*
The functions make use of the autoloaded prefix "dist#vim".
The following functions are available:
dist#vim#IsSafeExecutable(filetype, executable) ~
This function takes a filetype and an executable and checks whether it is safe
to execute the given executable. For security reasons users may not want to
have Vim execute random executables or may have forbidden to do so for
specific filetypes by setting the "<filetype>_exec" variable (|plugin_exec|).
It returns |TRUE| or |FALSE| to indicate whether the plugin should run the given
executable. It takes the following arguments:
argument type ~
filetype string
executable string
==============================================================================
Command-line expressions highlighting *expr-highlight*
Expressions entered by the user in |i_CTRL-R_=|, |c_CTRL-\_e|, |quote=| are
highlighted by the built-in expressions parser. It uses highlight groups
described in the table below, which may be overridden by colorschemes.
*hl-NvimInvalid*
Besides the "Nvim"-prefixed highlight groups described below, there are
"NvimInvalid"-prefixed highlight groups which have the same meaning but
indicate that the token contains an error or that an error occurred just
before it. They have mostly the same hierarchy, except that (by default) in
place of any non-Nvim-prefixed group NvimInvalid linking to `Error` is used
and some other intermediate groups are present.
Group Default link Colored expression ~
*hl-NvimInternalError* None, red/red Parser bug
*hl-NvimAssignment* Operator Generic assignment
*hl-NvimPlainAssignment* NvimAssignment `=` in |:let|
*hl-NvimAugmentedAssignment* NvimAssignment Generic, `+=`/`-=`/`.=`
*hl-NvimAssignmentWithAddition* NvimAugmentedAssignment `+=` in |:let+=|
*hl-NvimAssignmentWithSubtraction* NvimAugmentedAssignment `-=` in |:let-=|
*hl-NvimAssignmentWithConcatenation* NvimAugmentedAssignment `.=` in |:let.=|
*hl-NvimOperator* Operator Generic operator
*hl-NvimUnaryOperator* NvimOperator Generic unary op
*hl-NvimUnaryPlus* NvimUnaryOperator |expr-unary-+|
*hl-NvimUnaryMinus* NvimUnaryOperator |expr-unary--|
*hl-NvimNot* NvimUnaryOperator |expr-!|
*hl-NvimBinaryOperator* NvimOperator Generic binary op
*hl-NvimComparison* NvimBinaryOperator Any |expr4| operator
*hl-NvimComparisonModifier* NvimComparison `#`/`?` near |expr4| op
*hl-NvimBinaryPlus* NvimBinaryOperator |expr-+|
*hl-NvimBinaryMinus* NvimBinaryOperator |expr--|
*hl-NvimConcat* NvimBinaryOperator |expr-.|
*hl-NvimConcatOrSubscript* NvimConcat |expr-.| or |expr-entry|
*hl-NvimOr* NvimBinaryOperator |expr-barbar|
*hl-NvimAnd* NvimBinaryOperator |expr-&&|
*hl-NvimMultiplication* NvimBinaryOperator |expr-star|
*hl-NvimDivision* NvimBinaryOperator |expr-/|
*hl-NvimMod* NvimBinaryOperator