-*editing.txt* For Vim version 8.0. Last change: 2018 Feb 19
+*editing.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
argument, for example: >
:next `find . -name ver\\*.c -print`
:view `ls -t *.patch \| head -n1`
+Vim will run the command in backticks using the 'shell' and use the standard
+output as argument for the given Vim command (error messages from the shell
+command will be discarded).
+To see what shell command Vim is running, set the 'verbose' option to 4. When
+the shell command returns a non-zero exit code, an error message will be
+displayed and the Vim command will be aborted. To avoid this make the shell
+always return zero like so: >
+ :next `find . -name ver\\*.c -print \|\| true`
+
The backslashes before the star are required to prevent the shell from
expanding "ver*.c" prior to execution of the find program. The backslash
before the shell pipe symbol "|" prevents Vim from parsing it as command
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
when it's deleted from the argument list.
Example: >
:argdel *.obj
-< {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
LOCAL ARGUMENT LIST
{not in Vi}
-{not available when compiled without the |+windows| or |+listcmds| features}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
-*eval.txt* For Vim version 8.0. Last change: 2018 Mar 20
+*eval.txt* For Vim version 8.0. Last change: 2018 Mar 23
VIM REFERENCE MANUAL by Bram Moolenaar
This code deals with multibyte characters properly.
Examples: >
- echo trim(" \r\t\t\r RESERVE \t \t\n\x0B\x0B")."_TAIL"
+ echo trim(" some text ")
+< returns "some text" >
+ echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
< returns "RESERVE_TAIL" >
- echo trim("needrmvRESERVEnnneeedddrrmmmmvv", "ednmrv")
-< returns "RESERVE" >
- echo trim("rm<blob1><blob2><any_chars>rrmm<blob1><blob2><blob2>", "rm<blob1><blob2>")
-< returns "any_chas"
+ echo trim("rm<Xrm<>X>rrm", "rm<>")
+< returns "Xrm<>X" (characters in the middle are not removed)
trunc({expr}) *trunc()*
Return the largest integral value with magnitude less than or
-*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 04
+*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|:ldo|, |:cfdo| and |:lfdo|.
:{cmd}
etc.
< Otherwise it works the same as `:cdo`.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
*:ldo*
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
etc.
< Only valid entries in the location list are used.
Otherwise it works the same as `:cdo`.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
*:lfdo*
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
:{cmd}
etc.
< Otherwise it works the same as `:ldo`.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
=============================================================================
2. The error window *quickfix-window*
-*quotes.txt* For Vim version 8.0. Last change: 2010 Nov 03
+*quotes.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
Vi as some kind of outer space alien in human clothes. Once I tried I really
got addicted by its power and now I found myself typing Vim keypresses in the
oddest places! That's why I would like to see Vim embedded in every
-application which deals with text editing. (José Fonseca)
+application which deals with text editing. (José Fonseca)
I was a 12-year emacs user who switched to Vim about a year ago after finally
giving up on the multiple incompatible versions, flaky contributed packages,
-*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26
+*spell.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
*spell-LOW* *spell-UPP*
Three lines in the affix file are needed. Simplistic example:
- FOL áëñ ~
- LOW áëñ ~
- UPP ÁËÑ ~
+ FOL áëñ ~
+ LOW áëñ ~
+ UPP ÁËÑ ~
All three lines must have exactly the same number of characters.
is upper-case where it's different from the character at the same position in
"FOL".
-An exception is made for the German sharp s ß. The upper-case version is
+An exception is made for the German sharp s ß. The upper-case version is
"SS". In the FOL/LOW/UPP lines it should be included, so that it's recognized
-as a word character, but use the ß character in all three.
+as a word character, but use the ß character in all three.
ASCII characters should be omitted, Vim always handles these in the same way.
When the encoding is UTF-8 no word characters need to be specified.
*spell-SYLLABLE*
The SYLLABLE item defines characters or character sequences that are used to
count the number of syllables in a word. Example:
- SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
+ SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
Before the first slash is the set of characters that are counted for one
syllable, also when repeated and mixed, until the next character that is not
to prefer suggestions with these letters substituted. Example:
MAP 2 ~
- MAP eéëêè ~
- MAP uüùúû ~
+ MAP eéëêè ~
+ MAP uüùúû ~
The first line specifies the number of MAP lines following. Vim ignores the
number, but the line must be there.
-*tabpage.txt* For Vim version 8.0. Last change: 2016 Oct 20
+*tabpage.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
current tab page.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close tab pages or reorder them.
- {not in Vi} {not available when compiled without the
- |+listcmds| feature}
+ {not in Vi}
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
and |:lfdo|
termdebug_popup terminal.txt /*termdebug_popup*
termdebug_wide terminal.txt /*termdebug_wide*
terminal terminal.txt /*terminal*
+terminal-api terminal.txt /*terminal-api*
+terminal-client-server terminal.txt /*terminal-client-server*
terminal-colors os_unix.txt /*terminal-colors*
+terminal-communication terminal.txt /*terminal-communication*
terminal-cursor-style terminal.txt /*terminal-cursor-style*
terminal-debug terminal.txt /*terminal-debug*
terminal-diff terminal.txt /*terminal-diff*
terminal-size-color terminal.txt /*terminal-size-color*
terminal-special-keys terminal.txt /*terminal-special-keys*
terminal-testing terminal.txt /*terminal-testing*
+terminal-to-job terminal.txt /*terminal-to-job*
terminal-typing terminal.txt /*terminal-typing*
terminal-unix terminal.txt /*terminal-unix*
terminal-use terminal.txt /*terminal-use*
toolbar-icon gui.txt /*toolbar-icon*
toupper() eval.txt /*toupper()*
tr() eval.txt /*tr()*
+trim() eval.txt /*trim()*
trojan-horse starting.txt /*trojan-horse*
true-variable eval.txt /*true-variable*
trunc() eval.txt /*trunc()*
-*terminal.txt* For Vim version 8.0. Last change: 2018 Mar 25
+*terminal.txt* For Vim version 8.0. Last change: 2018 Mar 26
VIM REFERENCE MANUAL by Bram Moolenaar
-*todo.txt* For Vim version 8.0. Last change: 2018 Mar 16
+*todo.txt* For Vim version 8.0. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-------------------- Known bugs and current work -----------------------
Terminal emulator window:
+- dump diff sometimes creates a different way of repeating.
+ Example: https://api.travis-ci.org/v3/job/359102504/log.txt
+ unclear why this can happen.
- Still some stuff to implement and bugs to fix, see src/terminal.c
-- Crash when using popup menu while balloon is visible?
-- Test_terminal_qall_kill_func if flaky
-- Drop options argument of term_dumpdiff() / termp_dumpload() ?
Mode message isn't updated on vertical split. (Alexei Averchenko, 2018 Feb 2,
#2611)
+Patch to fix vimgrep adding to wrong quickfix list. (Yegappan, 2018 Mar 25)
+
+Problem with sudo. #2758
+
+Code refactoring, macro for message, #2729
+
+Patch to enforce c89 compliance. (James McCoy, #2735)
+With fix for Mac from Kazunobu.
+
Errors found with random data:
heap-buffer-overflow in alist_add (#2472)
-Implement option_save() and option_restore().
+Patch to avoid bad highlighting caused by #if. (ichizok, #2731)
+
+Implement option_save() and option_restore()? Or remove the help.
+
+Looks like an error for inserting register makes ":file other" not work.
+(Tom M, 2018 Mar 28)
+
+Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709)
+How to reproduce the problem?
+
+Patch to avoid job killed when I/O is disconnected. (ichizok, #2734)
+
+When opening foo/x.txt and bar/x.txt get swap file warning. Should check the
+file name. (Juergen Weigert)
Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249)
- signed integer overflow in getdecchrs() (#2254)
- undefined left shift in get_string_tv() (#2250)
+Tests failing for "make testgui" with GTK:
+- Test_setbufvar_options()
+- Test_exit_callback_interval()
+
Mouse pointer sticks to stop shape. Only on Windows GUI? #2709
+Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730)
+
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
20, #2481)
Also see #2352, want better control over balloon, perhaps set the position.
Cursor in status line after search. (#2530)
+Patch to fix that an empty buffer remains when using :argedit. (Christian,
+#2713) Updated patch.
+
+Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian
+Brabandt, #2743)
+
Cursor in wrong position when line wraps. (#2540)
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
+Patch to add more flags to :ls. (Marcin Szamotulski, #2751)
+
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
Jan 15, #2555)
+":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
+
Check argument of systemlist(). (Pavlov)
+Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
+
No maintainer for Vietnamese translations.
No maintainer for Simplified Chinese translations.
Using 'wildignore' also applies to literally entered file name. Also with
:drop (remote commands).
+Patch to use the xdiff library instead of external diff. (Christian Brabandt,
+2018 Mar 20, #2732)
+
"gvim --remote" from a directory with non-word characters changes the current
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.
Get a "No Name" buffer when 'hidden' is set and opening a new window from the
quickfix list. (bfrg, 2018 Jan 22, #2574)
+CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
+
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
Invalid range error when using BufWinLeave for closing terminal.
(Gabriel Barta, 2017 Nov 15, #2339)
+Using an external diff is inefficient. Not all systems have a good diff
+program available (esp. MS-Windows). Would be nice to have in internal diff
+implementation. Can then also use this for displaying changes within a line.
+Olaf Dabrunz is working on this. (10 Jan 2016)
+9 Instead invoking an external diff program, use builtin code. One can be
+ found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
+ It's complicated and badly documented.
+Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
+2018, #2732)
+
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
+Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work
+as expected. (Rich, 2018 March 23, #2743)
+
Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
#2478)
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
+Duplication of completion suggestions for ":!hom". Issue #539.
+Patch by Christian, 2016 Jan 29
+Another patch in #2733.
+>
Add options_default() / options_restore() to set several options to Vim
defaults for a plugin. Comments from Zyx, 2017 May 10.
Perhaps use a vimcontext / endvimcontext command block.
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
+Patch to fix increment/decrement not working properly when 'virtualedit' is
+set. (Hirohito Higashi, 2016 Aug 1, #923)
+
Memory leaks in test_channel? (or is it because of fork())
Using uninitialized value in test_crypt.
Memory leaks in test_escaped_glob
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
Apr 23, #1653)
-Using an external diff is inefficient. Not all systems have a good diff
-program available (esp. MS-Windows). Would be nice to have in internal diff
-implementation. Can then also use this for displaying changes within a line.
-Olaf Dabrunz is working on this. (10 Jan 2016)
-9 Instead invoking an external diff program, use builtin code. One can be
- found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
- It's complicated and badly documented.
-
Window resizing with 'winfixheight': With a vertical split the height changes
anyway. (Tommy allen, 2017 Feb 21, #1502)
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
-Patch to add trim() function. (Bukn, 2016 Nov 25, #1280)
-
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
Reject the value? #710.
-Patch to fix increment/decrement not working properly when 'virtualedit' is
-set. (Hirohito Higashi, 2016 Aug 1, #923)
-
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
Because of using the initial buffer? (Dun Peal, 2016 May 12)
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
result: https://ci.appveyor.com/project/k-takata/vim/history
-Duplication of completion suggestions for ":!hom". Issue 539.
-Patch by Christian, 2016 Jan 29
->
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Shared libraries:
+8 libcall() can keep the library around instead of always calling dlclose().
+ (Jason Felice, 2018 Mar 20)
6 Add support for loading shared libraries, and calling functions in it.
:libload internal-name libname
:libunload internal-name
" Header: "{{{
" Maintainer: Bram Moolenaar
" Original Author: Andy Wokula <anwoku@yahoo.de>
-" Last Change: 2018 Mar 12
+" Last Change: 2018 Mar 28
" Version: 1.0
" Description: HTML indent script with cached state for faster indenting on a
" range of lines.
" Add known tag pairs.
" Self-closing tags and tags that are sometimes {{{
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
-" the matching <p>, but not the other way around).
+" the matching <p>, but not the other way around). Known self-closing tags:
+" 'p', 'img', 'source'.
" Old HTML tags:
call s:AddITags(s:indent_tags, [
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
\ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
\ 'command', 'data', 'datalist', 'details', 'embed', 'figcaption',
\ 'figure', 'footer', 'header', 'keygen', 'main', 'mark', 'meter',
- \ 'nav', 'output', 'progress', 'rp', 'rt', 'ruby', 'section', 'source',
+ \ 'nav', 'output', 'picture', 'progress', 'rp', 'rt', 'ruby', 'section',
\ 'summary', 'svg', 'time', 'track', 'video', 'wbr'])
" Tags added for web components: