Problem: When a session file has more than one tabpage and 'showtabline' is
one the positions may be slightly off.
Solution: Set 'showtabline' to two while positioning windows.
Problem: When using a session file the relative position of the cursor is
not restored if there is another tab. (Nobuhiro Takasaki)
Solution: Update w_wrow before calculating the fraction.
Problem: globpath() returns a string, making it difficult to get a list of
matches. (Greg Novack)
Solution: Add an optional argument like with glob(). (Adnan Zafar)
Problem: Using ":sign unplace *" may leave the cursor in the wrong position
(Christian Brabandt)
Solution: Update the cursor position when removing all signs.
Problem: When doing ":update" just before running an external command that
changes the file, the timestamp may be unchanged and the file
is not reloaded.
Solution: Also check the file size.
Problem: "make autoconf" and "make reconfig" may first run configure and
then remove the output.
Solution: Add these targets to the exceptions. (Ken Takata)
Problem: CTRL-U in Insert mode does not work after using a cursor key.
(Pine Wu)
Solution: Use the original insert start position. (Christian Brabandt)
Problem: Can't define a function starting with "g:". Can't assign a
funcref to a buffer-local variable.
Solution: Skip "g:" at the start of a function name. Don't check for colons
when assigning to a variable.
Problem: When updating the window involves a regexp pattern, an interactive
substitute to replace a "\n" with a line break fails. (Ingo
Karkat)
Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi().
Problem: It is possible to define a function with a colon in the name. It
is possible to define a function with a lower case character if a
"#" appears after the name.
Solution: Disallow using a colon other than with "s:". Ignore "#" after the
name.
Problem: Using systemlist() may cause a crash and does not handle NUL
characters properly.
Solution: Increase the reference count, allocate memory by length. (Yasuhiro
Matsumoto)
Problem: Crash when using cpp syntax file with pattern using external
match. (Havard Garnes)
Solution: Discard match when end column is before start column.
Problem: Crash when BufAdd autocommand wipes out the buffer.
Solution: Check for buffer to still be valid. Postpone freeing the buffer
structure. (Hirohito Higashi)
Problem: When passing input to system() there is no way to keep NUL and
NL characters separate.
Solution: Optionally use a list for the system() input. (ZyX)
Problem: getreg() does not distinguish between a NL used for a line break
and a NL used for a NUL character.
Solution: Add another argument to return a list. (ZyX)
Problem: The string returned by submatch() does not distinguish between a
NL from a line break and a NL that stands for a NUL character.
Solution: Add a second argument to return a list. (ZyX)
Problem: Escaping special characters for using "%" with a shell command is
inconsistant, parenthesis are escaped but spaces are not.
Solution: Only escape "!". (Gary Johnson)
Problem: An error in ":options" is not caught by the tests.
Solution: Add a test for ":options". Set $VIMRUNTIME for the tests so that
it uses the current runtime files instead of the installed ones.
Problem: Using ":let" for listing variables and the second one is a curly
braces expression may fail.
Solution: Check for an "=" in a better way. (ZyX)
Problem: When 'relativenumber' or 'cursorline' are set the window is
redrawn much to often. (Patrick Hemmer, Dominique Pelle)
Solution: Check the VALID_CROW flag instead of VALID_WROW.
Problem: When src/auto/configure was updated, "make clean" would run
configure pointlessly.
Solution: Do not run configure for "make clean" and "make distclean" when
the make program supports $MAKECMDGOALS. (Ken Takata)
Problem: Inconsistency: ":sp foo" does not reload "foo", unless "foo" is
the current buffer. (Liang Li)
Solution: Do not reload the current buffer on a split command.
Problem: The cursor report sequence is sometimes not recognized and results
in entering replace mode.
Solution: Also check for the cursor report when not asked for.
Problem: ":mksession" writes command to move to second argument while it
does not exist. When it does exist the order might be wrong.
Solution: Use ":argadd" for each argument instead of using ":args" with a
list of names. (Nobuhiro Takasaki)
Problem: Can't build Vim with Perl when -Dusethreads is not specified for
building Perl, and building Vim with --enable-perlinterp=dynamic.
Solution: Adjust #ifdefs. (Yasuhiro Matsumoto)
Problem: match() does not work properly with a {count} argument.
Solution: Compute the length once and update it. Quit the loop when at the
end. (Hirohito Higashi)
Problem: When using 'pastetoggle' the status lines are not updated. (Samuel
Ferencik, Jan Christoph Ebersbach)
Solution: Update the status lines. (Nobuhiro Takasaki)
Problem: Dictionary.update() thows an error when used without arguments.
Python programmers don't expect that.
Solution: Make Dictionary.update() without arguments do nothing. (ZyX)
Problem: When a wide library function fails, falling back to the non-wide
function may do the wrong thing.
Solution: Check the platform, when the wide function is supported don't fall
back to the non-wide function. (Ken Takata)
Problem: Completion hangs when scanning the current buffer after doing
keywords. (Christian Brabandt)
Solution: Set the first match position when starting to scan the current
buffer.
Problem: Get E685 error when assigning a function to an autoload variable.
(Yukihiro Nakadaira)
Solution: Instead of having a global no_autoload variable, pass an autoload
flag down to where it is used. (ZyX)
Problem: Cursor moves to wrong position when using "gj" after "$" and
virtual editing is active.
Solution: Make "gj" behave differently when virtual editing is active.
(Hirohito Higashi)
Problem: getregtype() does not return zero for unknown register.
Solution: Adjust documention: return empty string for unknown register.
Check the register name to be valid. (Yukihiro Nakadaira)
Problem: Problems when building with Borland: st_mode is signed short;
can't build with Python; temp files not ignored by Mercurial;
building with DEBUG doesn't define _DEBUG.
Solution: Fix the problems. (Ken Takata)
Problem: Crash when wiping out buffer triggers autocommand that wipes out
only other buffer.
Solution: Do not delete the last buffer, make it empty. (Hirohito Higashi)
Problem: MS-Windows: When saving a file with a UNC path the file becomes
read-only.
Solution: Don't mix up Win32 attributes and Unix attributes. (Ken Takata)
Problem: Win32: When 'encoding' is set to "utf-8" and the active codepage
is cp932 then ":grep" and other commands don't work for multi-byte
characters.
Solution: (Yasuhiro Matsumoto)
Problem: It's possible that redrawing the status lines causes
win_redr_custom() to be called recursively.
Solution: Protect against recursiveness. (Yasuhiro Matsumoto)
Problem: Can't build with Cygwin/MingW and Perl 5.18.
Solution: Add a linker argument for the Perl library. (Cesar Romani)
Adjust CFLAGS and LIB. (Cesar Romani)
Move including inline.h further down. (Ken Takata)
Problem: "gUgn" cannot be repeeated. (Dimitar Dimitrov)
Solution: Don't put "gn" in a different order in the redo buffer. Restore
'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
Problem: Python: When vim.eval() encounters a Vim error, a try/catch in the
Python code doesn't catch it. (Yggdroot Chen)
Solution: Throw exceptions on errors in vim.eval(). (ZyX)
Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little)
Solution: Only advance the match end for the matched characters in the last
line.
Problem: NFA regexp doesn't handle backreference correctly. (Ryuichi
Hayashida, Urtica Dioica)
Solution: Always add NFA_SKIP, also when it already exists at the start
position.
Problem: Append in blockwise Visual mode with "$" is wrong.
Solution: After "$" don't use the code that checks if the cursor was moved.
(Hirohito Higashi, Ken Takata)
Problem: When using ":'<,'>del" errors may be given for the visual line
numbers being out of range.
Solution: Reset Visual mode in ":del". (Lech Lorens)
Problem: Win32: When a directory name contains an exclamation mark,
completion doesn't complete the contents of the directory.
Solution: Escape the exclamation mark. (Jan Stocker)
Problem: When editing a file in a directory mounted through sshfs Vim
doesn't set the security context on a renamed file.
Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes)
Problem: When spell checking is enabled Asian characters are always marked
as error.
Solution: When 'spelllang' contains "cjk" do not mark Asian characters as
error. (Ken Takata)
Problem: Skipping over an expression when not evaluating it does not work
properly for dict members.
Solution: Skip over unrecognized expression. (ZyX)
Problem: When inserting text in Visual block mode and moving the cursor the
wrong text gets repeated in other lines.
Solution: Use the '[ mark to find the start of the actually inserted text.
(Christian Brabandt)
Problem: Using "gf" in a changed buffer suggests adding "!", which is not
possible. (Tim Chase)
Solution: Pass a flag to check_changed() wether adding ! make sense.
Problem: DOS installer creates shortcut without a path, resulting in the
current directory to be C:\Windows\system32.
Solution: Use environment variables.
Problem: When undo'ing all changes and creating a new change the undo
structure is incorrect. (Christian Brabandt)
Solution: When deleting the branch starting at the old header, delete the
whole branch, not just the first entry.
Problem: Cannot right shift lines starting with #.
Solution: Allow the right shift when 'cino' contains #N with N > 0.
(Christian Brabandt)
Refactor parsing 'cino', store the values in the buffer.
Problem: MS-Windows: When there is a colon in the file name (sub-stream
feature) the swap file name is wrong.
Solution: Change the colon to "%". (Yasuhiro Matsumoto)
Problem: When recording, the character typed at the hit-enter prompt is
recorded twice. (Urtica Dioica)
Solution: Avoid recording the character twice. (Christian Brabandt)
Problem: When replacing a character in Visual block mode, entering a CR
does not cause a repeated line break.
Solution: Recognize the situation and repeat the line break. (Christian
Brabandt)
Problem: With 'fo' set to "a2" inserting a space in the first column may
cause the cursor to jump to the previous line.
Solution: Handle the case when there is no comment leader properly. (Tor
Perkins) Also fix that cursor is in the wrong place when spaces
get replaced with a Tab.
Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston)
Solution: Copy the pim structure before calling addstate() to avoid it
becoming invalide when the state list is reallocated.
Problem: "gn" selects too much for the pattern "\d" when there are two
lines with a single digit. (Ryan Carney)
Solution: Adjust the logic of is_one_char(). (Christian Brabandt)
Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump
doesn't work. (Dimitar Dimitrov)
Solution: Copy the option variables to the new window used to show the dump.
(Christian Brabandt)
Problem: Valgrind error on exit when a script-local variable holds a
reference to the scope of another script.
Solution: First clear all variables, then free the scopes. (ZyX)
Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a
directory properly.
Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
Problem: Using "zw" and "zg" when 'spell' is off give a confusing error
message. (Gary Johnson)
Solution: Ignore the error when locating the word. Explicitly mention what
word was added. (Christian Brabandt)
Problem: Using "\ze" in a sub-pattern does not result in the end of the
match to be set. (Axel Bender)
Solution: Copy the end of match position when a recursive match was
successful.
Problem: When the terminal has only 20 lines test 92 and 93 overwrite the
input file.
Solution: Explicitly write test.out. Check that the terminal is large enough
to run the tests. (Hirohito Higashi)
Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles
Cooper)
Solution: Only resets related options in a window where 'diff' is set.
Problem: Equivalence classes are not working for multi-byte characters.
Solution: Copy the rules from the old to the new regexp engine. Add a test
to check both engines.
Problem: Another valgrind error when using CTRL-X CTRL-F at the start of
the line. (Dominique Pelle)
Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
Problem: When root edits a file the undo file is owned by root while the
edited file may be owned by another user, which is not allowed.
(cac2s)
Solution: Accept an undo file owned by the current user.
Problem: NFA regexp: Using \ze in one branch which doesn't match may cause
end of another branch to be wrong. (William Fugh)
Solution: Set end position if it wasn't set yet.
Problem: MS-Windows: File name completion doesn't work properly with
Chinese characters. (Yue Wu)
Solution: Take care of multi-byte characters when looking for the start of
the file name. (Ken Takata)
Problem: ":help !!" does not find the "!!" tag in the help file. (Ben
Fritz)
Solution: When reading the start of the tags file do parse lines that are
not header lines.
Problem: When a file was not decrypted (yet), writing it may destroy the
contents.
Solution: Mark the file as readonly until decryption was done. (Christian
Brabandt)
Problem: Creating a preview window on startup leaves the screen layout in a
messed up state. (Marius Gedminas)
Solution: Don't change firstwin. (Christian Brabandt)
Problem: Pattern with two alternative look-behind matches does not match.
(Amadeus Demarzi)
Solution: When comparing PIMs also compare their state ID to see if they are
different.
Problem: Character classes such as [a-z] to not react to 'ignorecase'.
Breaks man page highlighting. (Mario Grgic)
Solution: Add separate items for classes that react to 'ignorecase'. Clean
up logic handling character classes. Add more tests.
Problem: Pressing "u" after an external command results in multiple
press-enter messages. (glts)
Solution: Don't call hit_return_msg() when we have K_IGNORE. (Christian
Brabandt)
Problem: When setting the Visual area manually and 'selection' is
exclusive, a yank includes one character too much. (Ingo Karkat)
Solution: Default the Visual operation to "v". (Christian Brabandt)
Problem: 'autochdir' causes setbufvar() to change the current directory.
(Ben Fritz)
Solution: When disabling autocommands also reset 'acd' temporarily.
(Christian Brabandt)
Problem: Using \{n,m} in an autocommand pattern no longer works.
Specifically, mutt temp files are not recognized. (Gary Johnson)
Solution: Make \\\{n,m\} work.
Problem: Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin
Szamotulski) Also for \(\)*.
Solution: Do add a state for opening parenthesis, so that we can check if it
was added before at the same position.
Problem: Configure does not always find the right library for Lua. Missing
support for LuaJit.
Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats'
then 'ff' is set to "dos" instead of "unix". (Ingo Karkat)
Solution: Create set_file_options() and invoke it from do_ecmd().
Problem: New regexp engine doesn't match pattern. (Ingo Karkat)
Solution: When adding a state also check for different PIM if the list of
states has any state with a PIM.
Problem: Win32: When mouse is hidden and in the toolbar, moving it won't
make it appear. (Sami Salonen)
Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata)
Problem: When Python adds lines to another buffer the cursor position is
wrong, it might be below the last line causing ml_get errors.
(Vlad Irnov)
Solution: Temporarily change the current window, so that marks are corrected
properly.
Problem: When 'foldmethod' is "indent", using ">>" on a line just above a
fold makes the cursor line folded. (Evan Laforge)
Solution: Call foldOpenCursor(). (Christian Brabandt)
Problem: Setting/resetting 'lbr' in the main help file changes alignment
after a Tab. (Dimitar Dimitrov)
Solution: Also use the code for conceal mode where n_extra is computed for
'lbr'.
Problem: Test 86 and 97 fail when building with Python or Python 3 and
using a static library.
Solution: Add configure check to add -fPIE compiler flag.
Problem: Python 3 doesn't handle multibyte characters prooperly when
'encoding' is not utf-8.
Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken
Takata)
Problem: When a script defines a function the flag to wait for the user to
hit enter is reset.
Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was
typing the function.
Problem: Test 17 fails on MS-Windows. Includes line break in file name
everywhere.
Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included
file.
Problem: Some tests fail on MS-Windows.
Solution: Fix path separators in test 89 and 96. Omit test 97, escaping
works differently. Make findfile() work on MS-Windows.
Problem: findfile() directory matching does not work when a star follows
text. (Markus Braun)
Solution: Make a wildcard work properly. (Christian Brabandt)
Problem: The first ":echo 'hello'" command output doesn't show. Mapping
for <S-F3> gets triggered during startup.
Solution: Add debugging code for the termresponse. When receiving the "Co"
entry and when setting 'ambiwidth' redraw right away if possible.
Add redraw_asap(). Don't set 'ambiwidth' if it already had the
right value. Do the 'ambiwidth' check in the second row to avoid
confusion with <S-F3>.
Problem: No tests for picking a window when selecting an entry in a
location list. Not picking the right window sometimes.
Solution: Add test 96. Set usable_win appropriately. (Lech Lorens)
Problem: Reading memory already freed since patch 7.3.1247. (Simon
Ruderich, Dominique Pelle)
Solution: Copy submatches before reallocating the state list.
Problem: When someone sets the screen size to a huge value with "stty" Vim
runs out of memory before reducing the size.
Solution: Limit Rows and Columns in more places.
Problem: In diff mode 'cursorline' also draws in the non-active window.
When 'nu' and 'sbr' are set the 'sbr' string is not underlined.
Solution: Only draw the cursor line in the current window. Combine the
'cursorline' and other highlighting attributes. (Christian
Brabandt)
Problem: When using a cscope connection resizing the window may send
SIGWINCH to cscope and it quits.
Solution: Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan)
Problem: When selecting an entry from a location list it may pick an
arbitrary window or open a new one.
Solution: Prefer using a window related to the location list. (Lech Lorens)
Problem: Insert completion keeps entry selected even though the list has
changed. (Olivier Teuliere)
Solution: Reset compl_shown_match and compl_curr_match. (Christian Brabandt)
Problem: Crash and compilation warnings with Cygwin.
Solution: Check return value of XmbTextListToTextProperty(). Add type casts.
Adjust #ifdefs. (Lech Lorens)
Problem: A buffer-local language mapping from a keymap stops a global
insert mode mapping from working. (Ron Aaron)
Solution: Do not wait for more characters to be typed only when the mapping
was defined with <nowait>.
Problem: Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
if the corresponding menu command contains additional characters
like the shortcut marker '&' or if you use a non-english locale.
Solution: Use menu->en_dname or menu->dname. (Martin Gieseking)
Problem: Still have old hacking code for Input Method.
Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to
Input Method activation. (Yukihiro Nakadaira)
Problem: New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match.
Solution: When there is a PIM add a duplicate state that starts at another
position.
Problem: When setting 'winfixheight' and resizing the window causes the
window layout to be wrong.
Solution: Add frame_check_height() and frame_check_width() (Yukihiro
Nakadaira)
Problem: MS-Windows: confirm() dialog text may still not fit.
Solution: Use GetTextWidthEnc() instead of GetTextWidth() in two more
places. (Yasuhiro Matsumoto)
Problem: No failure when trying to use a number as a string.
Solution: Give an error when StringToLine() is called with an instance of
the wrong type. (Jun Takimoto)
Problem: Various Python problems.
Solution: Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory
leaks in StringToLine(), BufferMark() and convert_dl. (ZyX)
Problem: Python: not so easy to delete/restore translating.
Solution: Make macros do translation of exception messages. (ZyX)
Note: this breaks translations!
Problem: Python: various inconsistencies and problems.
Solution: StringToLine now supports both bytes() and unicode() objects.
Make function names consistant. Fix memory leak fixed in
StringToLine. (ZyX)
Problem: When build flags change "make distclean" run into a configure
error.
Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding
duplicate text to flags.
Problem: MS-Windows: When using wide font italic and bold are not included.
Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata,
Taro Muraoka)
Problem: "make test" on MS-Windows does not clean all temporary files and
gives some unneccessary message.
Solution: Clean the right files. Create .failed files. (Ken Takata)
Problem: MS-Windows: When 'encoding' differs from the current codepage
":hardcopy" does not work properly.
Solution: Use TextOutW() and SetDlgItemTextW(). (Ken Takata)
Problem: Matches from matchadd() might be highlighted incorrectly when they
are at a fixed position and inserting lines. (John Szakmeister)
Solution: Redraw all lines below a change if there are highlighted matches.
(idea by Christian Brabandt)
Problem: Tags are not found in case-folded tags file. (Darren cole, Issue
90)
Solution: Take into account that when case folding was used for the tags
file "!rm" sorts before the "!_TAG" header lines.
Problem: When a startup script creates a preview window, it probably
becomes the current window.
Solution: Make another window the current one. (Christian Brabandt)
Problem: When calling setline() from Insert mode, using CTRL-R =, undo does
not work properly. (Israel Chauca)
Solution: Sync undo after evaluating the expression. (Christian Brabandt)
Problem: When evaluating 'foldexpr' causes an error this is silently
ignored and evaluation is retried every time.
Solution: Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is
it is causing errors. (Christian Brabandt)
Problem: ":wviminfo!" does not write history previously read from a viminfo
file. (Roland Eggner)
Solution: When not merging history write all entries.
Problem: Old regexp engine does not match pattern with backref correctly.
(Dominique Pelle)
Solution: Fix setting status. Test multi-line patterns better.
Problem: When current directory changes, path from cscope may no longer be
valid. (AS Budden)
Solution: Always store the absolute path. (Christian Brabandt)
Problem: When a global mapping starts with the same characters as a
buffer-local mapping Vim waits for a character to be typed to find
out whether the global mapping is to be used. (Andy Wokula)
Solution: Use the local mapping without waiting. (Michael Henry)
Problem: Patch 7.3.1058 breaks backwards compatibility, not possible to use
a function reference as a string. (lilydjwg)
Solution: Instead of translating the function name only translate "s:".
Problem: New regexp engine: some work is done while executing a pattern,
even though the result is predictable.
Solution: Do the work while compiling the pattern.
Problem: Python configure check doesn't reject Python 2 when requesting
Python 3. Some systems need -pthreads instead of -pthread.
Solution: Adjust configure accordingly. (Andrei Olsen)
Problem: New regexp engine fails on "\(\<command\)\@<=.*"
Solution: Fix rule for postponing match. Further tune estimating whether
postponing works better. Add test.
Problem: New regexp engine: look-behind match not checked when followed by
zero-width match.
Solution: Do the look-behind match before adding the zero-width state.
Problem: New regexp engine: trying expensive match while the result is not
going to be used.
Solution: Check for output state already being in the state list.
Problem: Many users don't like the cursor line number when 'relativenumber'
is set.
Solution: Have four combinations with 'number' and 'relativenumber'.
(Christian Brabandt)
Problem: New regexp matching: Using \@= and the like can be slow.
Solution: Decide whether to first try matching the zero-wdith part or what
follows, whatever is more likely to fail.
Problem: New regexp engine: saving and restoring lastlist in the states
takes a lot of time.
Solution: Use a second lastlist value for the first recursive call.
Problem: New regexp engine: too much code in one function. Dead code.
Solution: Move the recursive nfa_regmatch call to a separate function.
Remove the dead code.
Problem: New regexp engine: overhead in saving and restoring.
Solution: Make saving and restoring list IDs faster. Don't copy or check \z
subexpressions when they are not used.
Problem: Can't build with regexp debugging. NFA debug output shows wrong
pattern.
Solution: Fix debugging code for recent changes. Add the pattern to the
program.
@@ -4588,7 +4629,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'lispwords'* *'lw'*
'lispwords' 'lw' string (default is very long)
global
global or local to buffer |global-local|
{not in Vi}
{not available when compiled without the |+lispindent|
feature}
@@ -4605,7 +4646,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The cursor is displayed at the start of the space a Tab character
occupies, not at the end as usual in Normal mode. To get this cursor
position while displaying Tabs with spaces, use: >
:set list lcs=tab\ \
:set list lcs=tab:\ \
<
Note that list mode will also affect formatting (set with 'textwidth'
or 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
@@ -4716,8 +4757,9 @@ A jump table for the options with a short description can be found at |Q_op|.
global or local to buffer |global-local|
{not in Vi}
Program to use for the ":make" command. See |:make_makeprg|.
This option may contain '%' and '#' characters, which are expanded to
the current and alternate file name. |:_%| |:_#|
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
which are expanded to the current and alternate file name. Use |::S|
to escape file names in case they contain special characters.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
Note that a '|' must be escaped twice: once for ":set" and once for
@@ -5132,7 +5174,18 @@ A jump table for the options with a short description can be found at |Q_op|.
characters are put before the number.
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
the number.
When setting this option, 'relativenumber' is reset.
*number_relativenumber*
The 'relativenumber' option changes the displayed number to be
relative to the cursor. Together with 'number' there are these
four combinations (cursor in line 3):
'nonu' 'nu' 'nonu' 'nu'
'nornu' 'nornu' 'rnu' 'rnu'
|apple | 1 apple | 2 apple | 2 apple
|pear | 2 pear | 1 pear | 1 pear
|nobody | 3 nobody | 0 nobody |3 nobody
|there | 4 there | 1 there | 1 there
*'numberwidth'* *'nuw'*
'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8)
@@ -5516,7 +5569,7 @@ A jump table for the options with a short description can be found at |Q_op|.
matches will be highlighted. This is used to avoid that Vim hangs
when using a very complicated pattern.
*'regexpengine''* *'re'*
*'regexpengine'* *'re'*
'regexpengine' 're' number (default 0)
global
{not in Vi}
@@ -5547,7 +5600,10 @@ A jump table for the options with a short description can be found at |Q_op|.
characters are put before the number.
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
the number.
When setting this option, 'number' is reset.
The number in front of the cursor line also depends on the value of
'number', see |number_relativenumber| for all combinations of the two
options.
*'remap'* *'noremap'*
'remap' boolean (default on)
@@ -6500,6 +6556,9 @@ A jump table for the options with a short description can be found at |Q_op|.
region by listing them: "en_us,en_ca" supports both US and Canadian
English, but not words specific for Australia, New Zealand or Great
Britain.
If the name "cjk" is included East Asian characters are excluded from
spell checking. This is useful when editing text that also has Asian
words.
*E757*
As a special case the name of a .spl file can be given as-is. The
first "_xx" in the name is removed and used as the region name
@@ -6560,6 +6619,10 @@ A jump table for the options with a short description can be found at |Q_op|.
top of the suggestion list with the internal methods.
Lines without a slash are ignored, use this for
comments.
The word in the second column must be correct,
otherwise it will not be used. Add the word to an
".add" file if it is currently flagged as a spelling
mistake.
The file is used for all languages.
expr:{expr} Evaluate expression {expr}. Use a function to avoid
@@ -6699,7 +6762,8 @@ A jump table for the options with a short description can be found at |Q_op|.
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
p N Percentage through file in lines as in |CTRL-G|.
P S Percentage through file of displayed window. This is like the
percentage described for 'ruler'. Always 3 in length.
percentage described for 'ruler'. Always 3 in length, unless
translated.
a S Argument list status as in default title. ({current} of {max})
Empty if the argument file count is zero or one.
{ NF Evaluate expression between '%{' and '}' and substitute result.
@@ -6822,6 +6886,8 @@ A jump table for the options with a short description can be found at |Q_op|.
immediately deleted. When 'swapfile' is set, and 'updatecount' is
non-zero, a swap file is immediately created.
Also see |swap-file| and |'swapsync'|.
If you want to open a new buffer without creating a swap file for it,
use the |:noswapfile| modifier.
This option is used together with 'bufhidden' and 'buftype' to
specify special kinds of buffers. See |special-buffers|.
@@ -7521,7 +7587,7 @@ A jump table for the options with a short description can be found at |Q_op|.
given, no further entry is used.
See |undo-persistence|.
*'undofile'* *'udf'*
*'undofile'* *'noundofile'* *'udf'* *'noudf'*
'undofile' 'udf' boolean (default off)
local to buffer
{not in Vi}
@@ -7538,7 +7604,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'undolevels'* *'ul'*
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
Win32 and OS/2)
global
global or local to buffer |global-local|
{not in Vi}
Maximum number of changes that can be undone. Since undo information
is kept in memory, higher numbers will cause more memory to be used
@@ -7549,8 +7615,9 @@ A jump table for the options with a short description can be found at |Q_op|.
< But you can also get Vi compatibility by including the 'u' flag in
'cpoptions', and still be able to use CTRL-R to repeat undo.
Also see |undo-two-ways|.
Set to a negative number for no undo at all: >
set ul=-1
Set to -1 for no undo at all. You might want to do this only for the
current buffer: >
setlocal ul=-1
< This helps when you run out of memory for a single change.
Also see |clear-undo|.
@@ -7807,8 +7874,9 @@ A jump table for the options with a short description can be found at |Q_op|.
if the line was empty. But it is far from Vi compatible. It may also
break some plugins or Vim scripts. For example because |l| can move
the cursor after the last character. Use with care!
Using the |$| command will move to the last character in the line, not
Using the `$` command will move to the last character in the line, not
past it. This may actually move the cursor to the left!
The `g$` command will move to the end of the screen line.
It doesn't make sense to combine "all" with "onemore", but you will
not get a warning for it.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.