-*channel.txt* For Vim version 8.0. Last change: 2017 Jun 11
+*channel.txt* For Vim version 8.0. Last change: 2017 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
"close_cb": handler Callback for when the channel is closed. Same as
"close_cb" on |ch_open()|, see |close_cb|.
*job-drop*
-"drop" Specifies when to drop messages. Same as "drop" on
+"drop": when Specifies when to drop messages. Same as "drop" on
|ch_open()|, see |channel-drop|. For "auto" the
exit_cb is not considered.
*job-exit_cb*
Note that data can be buffered, callbacks may still be
called after the process ends.
*job-timeout*
-"timeout" The time to wait for a request when blocking, E.g.
+"timeout": time The time to wait for a request when blocking, E.g.
when using ch_evalexpr(). In milliseconds. The
default is 2000 (2 seconds).
*out_timeout* *err_timeout*
-"out_timeout" Timeout for stdout. Only when using pipes.
-"err_timeout" Timeout for stderr. Only when using pipes.
+"out_timeout": time Timeout for stdout. Only when using pipes.
+"err_timeout": time Timeout for stderr. Only when using pipes.
Note: when setting "timeout" the part specific mode is
overwritten. Therefore set "timeout" first and the
part specific mode later.
The default is "term".
*job-term*
-"term": "open" Start a terminal and connect the job
- stdin/stdout/stderr to it.
+"term": "open" Start a terminal in a new window and connect the job
+ stdin/stdout/stderr to it. Similar to using
+ `:terminal`.
NOTE: Not implemented yet!
"channel": {channel} Use an existing channel instead of creating a new one.
cause I/O errors.
Existing callbacks and other settings remain.
+"pty": 1 Use a pty (pseudo-tty) instead of a pipe when
+ possible. This is most useful in combination with a
+ terminal window, see |terminal|.
+ {only on Unix and Unix-like systems}
+
*job-in_io* *in_top* *in_bot* *in_name* *in_buf*
"in_io": "null" disconnect stdin (read from /dev/null)
"in_io": "pipe" stdin is connected to the channel (default)
-*eval.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*eval.txt* For Vim version 8.0. Last change: 2017 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
Number index in {list} where {expr} appears
input({prompt} [, {text} [, {completion}]])
String get input from the user
-inputdialog({prompt} [, {text} [, {completion}]]])
+inputdialog({prompt} [, {text} [, {completion}]])
String like input() but in a GUI dialog
inputlist({textlist}) Number let the user pick from a choice list
inputrestore() Number restore typeahead
-*gui.txt* For Vim version 8.0. Last change: 2014 Mar 08
+*gui.txt* For Vim version 8.0. Last change: 2017 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
and DOS/Win32 "_gvimrc" is tried first.
NOTE: All but the first one are not carried out if Vim was started with
-"-u NONE" and no "-U" argument was given, or when started with "-U NONE".
+"-u NONE" or "-u DEFAULTS" and no "-U" argument was given, or when started
+with "-U NONE".
All this happens AFTER the normal Vim initializations, like reading your
.vimrc file. See |initialization|.
-*index.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*index.txt* For Vim version 8.0. Last change: 2017 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
+|CTRL-W_:| CTRL-W : same as |:|, edit a command line
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height & width
|CTRL-W_>| CTRL-W > increase current window width N columns
-*intro.txt* For Vim version 8.0. Last change: 2016 Sep 24
+*intro.txt* For Vim version 8.0. Last change: 2017 Jul 17
VIM REFERENCE MANUAL by Bram Moolenaar
Please be brief; all the time that is spent on answering mail is subtracted
from the time that is spent on improving Vim! Always give a reproducible
-example and try to find out which settings or other things influence the
-appearance of the bug. Try different machines, if possible. Send me patches
-if you can!
+example and try to find out which settings or other things trigger the bug.
+
+Preferably start Vim with: >
+ vim --clean -u reproduce.vim
+Where reproduce.vim is a script that reproduces the problem. Try different
+machines, if relevant (is this an MS-Windows specific bug perhaps?).
+
+Send me patches if you can!
It will help to include information about the version of Vim you are using and
your setup. You can get the information with this command: >
'termbidi' options.txt /*'termbidi'*
'termencoding' options.txt /*'termencoding'*
'termguicolors' options.txt /*'termguicolors'*
+'termkey' options.txt /*'termkey'*
+'termsize' options.txt /*'termsize'*
'terse' options.txt /*'terse'*
'textauto' options.txt /*'textauto'*
'textmode' options.txt /*'textmode'*
'titlelen' options.txt /*'titlelen'*
'titleold' options.txt /*'titleold'*
'titlestring' options.txt /*'titlestring'*
+'tk' options.txt /*'tk'*
'tl' options.txt /*'tl'*
'tm' options.txt /*'tm'*
+'tms' options.txt /*'tms'*
'to' options.txt /*'to'*
'toolbar' options.txt /*'toolbar'*
'toolbariconsize' options.txt /*'toolbariconsize'*
'vi' options.txt /*'vi'*
'viewdir' options.txt /*'viewdir'*
'viewoptions' options.txt /*'viewoptions'*
+'vif' options.txt /*'vif'*
'viminfo' options.txt /*'viminfo'*
+'viminfofile' options.txt /*'viminfofile'*
'virtualedit' options.txt /*'virtualedit'*
'visualbell' options.txt /*'visualbell'*
'vop' options.txt /*'vop'*
-+rv gui_x11.txt /*-+rv*
-- starting.txt /*--*
--- starting.txt /*---*
+--clean starting.txt /*--clean*
--cmd starting.txt /*--cmd*
--echo-wid starting.txt /*--echo-wid*
--help starting.txt /*--help*
CTRL-W index.txt /*CTRL-W*
CTRL-W_+ windows.txt /*CTRL-W_+*
CTRL-W_- windows.txt /*CTRL-W_-*
+CTRL-W_: windows.txt /*CTRL-W_:*
CTRL-W_< windows.txt /*CTRL-W_<*
CTRL-W_<BS> windows.txt /*CTRL-W_<BS>*
CTRL-W_<CR> quickfix.txt /*CTRL-W_<CR>*
-*term.txt* For Vim version 8.0. Last change: 2017 Apr 11
+*term.txt* For Vim version 8.0. Last change: 2017 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
t_IE set icon text end *t_IE* *'t_IE'*
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
t_GP get window position (Y, X) in pixels *t_GP* *'t_GP'*
- t_WS set window size (height, width) in characters *t_WS* *'t_WS'*
+ t_WS set window size (height, width in cells) *t_WS* *'t_WS'*
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
-*terminal.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*terminal.txt* For Vim version 8.0. Last change: 2017 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
+The terminal feature is optional, use this to check if your Vim has it: >
+ echo has('terminal')
+If the result is "1" you have it.
+
1. Basic use |terminal-use|
2. Remote testing |terminal-testing|
Navigate between windows with CTRL-W commands (and mouse).
E.g. CTRL-W CTRL-W moves focus to the next window.
+Use "CTRL-W :" to edit an Ex command.
See option 'termkey' for specifying the key that precedes a Vim command.
Default is CTRL-W.
buffer. If there are unsaved changes this fails, use
! to force, as usual.
+When the buffer associated with the terminal is wiped out the job is killed,
+similar to calling `job_stop(job, "kill")`
+
+
Resizing ~
The size of the terminal can be in one of three modes:
terminal. |term_setsize()| can be used only when in the first or second mode,
not when 'termsize' is "rowsXcols".
+
+Unix ~
+
+On Unix a pty is used to make it possible to run all kinds of commands. You
+can even run Vim in the terminal! That's used for debugging, see below.
+
+
+MS-Windows ~
+
+On MS-Windows a hidden console is used to run the command in. This should
+work well for all kind of commands. Obviously, they must be commands that run
+in a terminal, not open their own window.
+
==============================================================================
2. Remote testing *terminal-testing*
-*todo.txt* For Vim version 8.0. Last change: 2017 Jul 15
+*todo.txt* For Vim version 8.0. Last change: 2017 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
*known-bugs*
-------------------- Known bugs and current work -----------------------
-When redrawing for the channel buffer, command line completion is cleared.
- (Ramel Eshed, 2017 May 4)
-When a timer triggers the command completion disappears. (Dominique Pelle,
-2017 Jun 13, #1768)
-Caused by 8.0.0592.
-Check if anything was output? Don't redraw when scrolled. (#1820)
-When redrawing the command line a pending CTRL-R shows ", which is removed.
-
-No maintainer for German translations.
No maintainer for Vietnamese translations.
No maintainer for Simplified Chinese translations.
Terminal emulator window:
- Lots of stuff to implement, see src/terminal.c
-- Windows implementation (WiP): https://github.com/mattn/vim/tree/terminal
- Using winpty ?
-- Running a shell command from the GUI still has limitations. Look into how
- the terminal emulator of the Vim shell project can help:
+- Running a shell command from the GUI still has limitations. Look into how
+ the terminal emulator of the Vim shell project can help:
http://vimshell.wana.at
-- Add debugger interface. Implementation for gdb by Xavier de Gaye.
- Should work like an IDE. Try to keep it generic. Now found here:
+- Add debugger interface. Implementation for gdb by Xavier de Gaye. Should
+ work like an IDE. Try to keep it generic. Now found here:
http://clewn.sf.net.
-- Look into the idevim plugin/script.
-- Related wishes for NetBeans commands:
+- Look into the idevim plugin/script.
+- Related wishes for NetBeans commands:
- make it possible to have 'defineAnnoType' also handle terminal colors.
- send 'balloonText' events for the cursor position (using CursorHold ?)
in terminal mode.
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
(2017 May 15, #1252)
-Patch to update b:changedtick in the quickfix window. (Yegappan Lakshmanan,
-2017 Jul 13)
+Patch for quickfix: parse lines for any quickfix list. (Yegappan Lakshmanan,
+2017 Jul 20)
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
(Marcin Szewczyk, 2017 Apr 26)
Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)
-To reproduce problems "vim -u NONE -N" is often used, but this still uses
-'viminfo'. Add "-I" to not use 'viminfo'?
-Or use "vim -B" for "bug reproduction"?
-
Bug with conceal mode: 3rd element returned by synconcealed() differs for
every call. (Dominique Pelle, 2017 Jun 18)
defaults for a plugin. Comments from Zyx, 2017 May 10.
Perhaps use a vimcontext / endvimcontext command block.
-Patch to trigger OptionSet when entering diff mode. (Christian Brabandt, 2017
-Jul 7)
-
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
Still happens (2017 Jul 9)
Memory leak in test_arabic.
+Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
+It can replace the BeOS code, which is likely not used anymore.
+Now on github: #1856. Is not up-to-date.
+
Refactored HTML indent file. (Michael Lee, #1821)
Using uninitialzed value in test_crypt.
+All functions are global, which makes functions like get() and len() awkward.
+For the future use the ~get() and ~len() syntax, e.g.:
+ mylist~get(idx)
+ mydict~get(idx)
+ mystring~len()
+Alternatives for ~:
+ ^ list^get() could also be used
+ . list.get() already means concatenate
+ $ list$get() harder to read
+ @ list@get() harder to read
+ -> list->get() two characters, used for lambda
+
X11: Putting more than about 262040 characters of text on the clipboard and
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
clip_x11_request_selection_cb() is called with zero value and length.
When checking if a bufref is valid, also check the buffer number, to catch the
case of :bwipe followed by :new.
+Patch to skip writing a temp file for diffing if the buffer is equal to the
+existing file. (Akria Sheng, 2017 Jul 22)
+Could also skip writing lines that are the same.
+
Files for Latvian language. (Vitolins, 2017 May 3, #1675)
MS-Windows: Opening same file in a second gvim hangs. (Sven Bruggemann, 2017
Patch to add ":undorecover", get as much text out of the undo file as
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
-Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
-It can replace the BeOS code, which is likely not used anymore.
-
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
-*usr_03.txt* For Vim version 8.0. Last change: 2016 Jan 05
+*usr_03.txt* For Vim version 8.0. Last change: 2017 Jul 21
VIM USER MANUAL - by Bram Moolenaar
?word
The "N" command repeats the last search the opposite direction. Thus using
-"N" after a "/" command search backwards, using "N" after "?" searches
+"N" after a "/" command searches backwards, using "N" after "?" searches
forward.
The $ character matches the end of a line. Therefore, "was$" matches the
word was only if it is at the end of a line.
-Let's mark the places where "the" matches in this example line with "x"s:
+Let's mark the places where "/the" matches in this example line with "x"s:
the solder holding one of the chips melted and the ~
xxx xxx xxx
-*usr_41.txt* For Vim version 8.0. Last change: 2017 Mar 28
+*usr_41.txt* For Vim version 8.0. Last change: 2017 Jul 19
VIM USER MANUAL - by Bram Moolenaar
-*windows.txt* For Vim version 8.0. Last change: 2016 Dec 01
+*windows.txt* For Vim version 8.0. Last change: 2017 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
When a count is given, it becomes ":split #N", split window
and edit buffer N.
+ *CTRL-W_:*
+CTRL-W : Does the same as typing |:| : edit a command line. Useful in a
+ terminal window, where all Vim commands must be preceded with
+ CTRL-W or 'termkey'.
+
Note that the 'splitbelow' and 'splitright' options influence where a new
window will appear.
and can't be changed. The 'buflisted' option will be reset
for a help buffer.
+terminal A terminal window buffer, see |terminal|. The contents cannot
+ be read or changed until the job ends.
+
directory Displays directory contents. Can be used by a file explorer
plugin. The buffer is created with these settings: >
:setlocal buftype=nowrite