This commit is contained in:
Justin M. Keyes 2018-11-05 23:10:50 +01:00 committed by GitHub
commit 1347f36494
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 149 additions and 480 deletions

View File

@ -103,6 +103,10 @@ endif
helptags: | nvim helptags: | nvim
+$(BUILD_CMD) -C build helptags +$(BUILD_CMD) -C build helptags
# Builds help HTML _and_ checks for invalid help tags.
helphtml: | nvim helptags
+$(BUILD_CMD) -C build doc_html
functionaltest: | nvim functionaltest: | nvim
+$(BUILD_CMD) -C build functionaltest +$(BUILD_CMD) -C build functionaltest

View File

@ -20,10 +20,21 @@
.Sh DESCRIPTION .Sh DESCRIPTION
.Nm .Nm
is a text editor based on Vim. is a text editor based on Vim.
Commands in this program start with colon Start
.Nm
followed by any number of options and/or files:
.Pp
.Dl nvim [options] [filelist]
.Pp
Commands in
.Nm
begin with colon
.Pq Sq \&: . .Pq Sq \&: .
Use the :help command to get help, for example ":help quickref" Type ":help subject" to get help on a specific subject.
is a condensed overview of almost all commands. Use <Tab> and CTRL-D to complete subjects (":help cmdline\-completion").
.Pp
The "quickref" help section is a condensed reference of editor features:
.Dl :help quickref
.Pp .Pp
If you are new to Vim/Nvim, start with the 30-minute tutorial: If you are new to Vim/Nvim, start with the 30-minute tutorial:
.Dl :Tutor .Dl :Tutor
@ -34,28 +45,25 @@ After installing/updating Nvim, it's a good idea to run the self-check:
.Bl -tag -width Fl .Bl -tag -width Fl
.It Ar file ... .It Ar file ...
File(s) to edit. File(s) to edit.
If none are specified, open an empty buffer. Opens one buffer per file.
If multiple files are specified, open one buffer for each file.
To switch between buffers, use the To switch between buffers, use the
.Ic :next .Ic :next
and and
.Ic :previous .Ic :previous
commands. commands.
.It Fl .It Fl
Read text from standard input until Reads text from standard input until
.Dv EOF , .Dv EOF ,
then open a buffer with that text. then opens a buffer with that text.
User input is read from standard error, which should be a terminal. User input is read from standard error, which should be a terminal.
.Sh OPTIONS
.Bl -tag -width Fl
.It Fl t Ar tag .It Fl t Ar tag
The file to edit and the initial cursor position depends on a Finds
tag, a sort of goto label.
.Ar tag .Ar tag
is looked up in the tags file, the associated file becomes the current in the tags file, the associated file becomes the current
file and the associated command is executed. file and the associated command is executed.
If Cursor is positioned at the tag location in the file.
.Ar tag
is a function name, the file containing that function is opened
with the cursor positioned at the start of the function.
.Ic ":help tag-commands" .Ic ":help tag-commands"
.It Fl q Op Ar errorfile .It Fl q Op Ar errorfile
QuickFix mode. QuickFix mode.
@ -69,7 +77,6 @@ Further errors can be jumped to with the
.Ic :cnext .Ic :cnext
command. command.
.Ic ":help quickfix" .Ic ":help quickfix"
.It There are a number of other options:
.It Fl - .It Fl -
End of options. End of options.
Remaining arguments are treated as literal file names, including filenames starting with hyphen Remaining arguments are treated as literal file names, including filenames starting with hyphen

View File

@ -68,9 +68,9 @@ foreach(DF ${DOCFILES})
endforeach() endforeach()
add_custom_target(helptags add_custom_target(helptags
COMMAND ${CMAKE_COMMAND} -E remove ${GENERATED_RUNTIME_DIR}/doc/* COMMAND ${CMAKE_COMMAND} -E remove doc/*
COMMAND ${CMAKE_COMMAND} -E copy_directory COMMAND ${CMAKE_COMMAND} -E copy_directory
${PROJECT_SOURCE_DIR}/runtime/doc ${GENERATED_RUNTIME_DIR}/doc ${PROJECT_SOURCE_DIR}/runtime/doc doc
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim" COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
-u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit -u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit
DEPENDS DEPENDS
@ -87,7 +87,7 @@ add_custom_command(OUTPUT ${GENERATED_HELP_TAGS}
add_custom_target(doc_html add_custom_target(doc_html
COMMAND make html COMMAND make html
DEPENDS DEPENDS
${GENERATED_HELP_TAGS} helptags
WORKING_DIRECTORY "${GENERATED_RUNTIME_DIR}/doc" WORKING_DIRECTORY "${GENERATED_RUNTIME_DIR}/doc"
) )

View File

@ -97,7 +97,7 @@ nvim_buf_lines_event[{buf}, {changedtick}, {firstline}, {lastline}, {linedata},
When {changedtick} is |v:null| this means the screen lines (display) changed When {changedtick} is |v:null| this means the screen lines (display) changed
but not the buffer contents. {linedata} contains the changed screen lines. but not the buffer contents. {linedata} contains the changed screen lines.
This happens when |inccommand| shows a buffer preview. This happens when 'inccommand' shows a buffer preview.
Properties:~ Properties:~
{buf} API buffer handle (buffer number) {buf} API buffer handle (buffer number)
@ -138,7 +138,7 @@ nvim_buf_changedtick_event[{buf}, {changedtick}] *nvim_buf_changedtick_event*
nvim_buf_detach_event[{buf}] *nvim_buf_detach_event* nvim_buf_detach_event[{buf}] *nvim_buf_detach_event*
When buffer is detached (i.e. updates are disabled). Triggered explicitly by When buffer is detached (i.e. updates are disabled). Triggered explicitly by
|nvim_buf_detach| or implicitly in these cases: |nvim_buf_detach()| or implicitly in these cases:
- Buffer was |abandon|ed and 'hidden' is not set. - Buffer was |abandon|ed and 'hidden' is not set.
- Buffer was reloaded, e.g. with |:edit| or an external change triggered - Buffer was reloaded, e.g. with |:edit| or an external change triggered
|:checktime| or 'autoread'. |:checktime| or 'autoread'.
@ -638,7 +638,7 @@ nvim_set_client_info({name}, {version}, {type}, {methods},
Clients might define their own keys, but the Clients might define their own keys, but the
following are suggested: "website" Website following are suggested: "website" Website
of client (for instance github repository) of client (for instance github repository)
"license" Informal descripton of the "license" Informal description of the
license, such as "Apache 2", "GPLv3" or license, such as "Apache 2", "GPLv3" or
"MIT" "logo" URI or path to image, "MIT" "logo" URI or path to image,
preferably small logo or icon. .png or .svg preferably small logo or icon. .png or .svg
@ -862,8 +862,7 @@ nvim_buf_line_count({buffer}) *nvim_buf_line_count()*
{buffer} Buffer handle {buffer} Buffer handle
Return: ~ Return: ~
Line count, or `0` if the buffer has been unloaded (see Line count, or 0 for unloaded buffer. |api-buffer|
|api-buffer|).
nvim_buf_attach({buffer}, {send_buffer}, {opts}) *nvim_buf_attach()* nvim_buf_attach({buffer}, {send_buffer}, {opts}) *nvim_buf_attach()*
Activate updates from this buffer to the current channel. Activate updates from this buffer to the current channel.
@ -912,8 +911,7 @@ nvim_buf_get_lines({buffer}, {start}, {end}, {strict_indexing})
error. error.
Return: ~ Return: ~
Array of lines. If the buffer has been unloaded then an Array of lines, or empty array for unloaded buffer.
empty array will be returned instead. (See |api-buffer|.)
*nvim_buf_set_lines()* *nvim_buf_set_lines()*
nvim_buf_set_lines({buffer}, {start}, {end}, {strict_indexing}, nvim_buf_set_lines({buffer}, {start}, {end}, {strict_indexing},
@ -940,6 +938,25 @@ nvim_buf_set_lines({buffer}, {start}, {end}, {strict_indexing},
error. error.
{replacement} Array of lines to use as replacement {replacement} Array of lines to use as replacement
nvim_buf_get_offset({buffer}, {index}) *nvim_buf_get_offset()*
Returns the byte offset for a line.
Line 1 (index=0) has offset 0. UTF-8 bytes are counted. EOL is
one byte. 'fileformat' and 'fileencoding' are ignored. The
line index just after the last line gives the total byte-count
of the buffer. A final EOL byte is counted if it would be
written, see 'eol'.
Unlike |line2byte()|, throws error for out-of-bounds indexing.
Returns -1 for unloaded buffer.
Parameters: ~
{buffer} Buffer handle
{index} Line index
Return: ~
Integer byte offset, or -1 for unloaded buffer.
nvim_buf_get_var({buffer}, {name}) *nvim_buf_get_var()* nvim_buf_get_var({buffer}, {name}) *nvim_buf_get_var()*
Gets a buffer-scoped (b:) variable. Gets a buffer-scoped (b:) variable.
@ -1106,8 +1123,8 @@ nvim_buf_add_highlight({buffer}, {src_id}, {hl_group}, {line},
*nvim_buf_clear_highlight()* *nvim_buf_clear_highlight()*
nvim_buf_clear_highlight({buffer}, {src_id}, {line_start}, {line_end}) nvim_buf_clear_highlight({buffer}, {src_id}, {line_start}, {line_end})
Clears highlights from a given source group and a range of Clears highlights and virtual text from a given source id and
lines range of lines
To clear a source group in the entire buffer, pass in 0 and -1 To clear a source group in the entire buffer, pass in 0 and -1
to line_start and line_end respectively. to line_start and line_end respectively.
@ -1132,6 +1149,10 @@ nvim_buf_set_virtual_text({buffer}, {src_id}, {line}, {chunks},
the right of the ordinary text, this will contain the |lcs- the right of the ordinary text, this will contain the |lcs-
eol| char if set, otherwise just be a space. eol| char if set, otherwise just be a space.
The same src_id can be used for both virtual text and
highlights added by nvim_buf_add_highlight. Virtual text is
cleared using nvim_buf_clear_highlight.
Parameters: ~ Parameters: ~
{buffer} Buffer handle {buffer} Buffer handle
{src_id} Source group to use or 0 to use a new group, or {src_id} Source group to use or 0 to use a new group, or

View File

@ -278,7 +278,7 @@ Name triggered by ~
|VimEnter| after doing all the startup stuff |VimEnter| after doing all the startup stuff
|GUIEnter| after starting the GUI successfully |GUIEnter| after starting the GUI successfully
|GUIFailed| after starting the GUI failed |GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received |TermResponse| after the terminal response to t_RV is received
|QuitPre| when using `:quit`, before deciding whether to exit |QuitPre| when using `:quit`, before deciding whether to exit
|ExitPre| when using a command that may make Vim exit |ExitPre| when using a command that may make Vim exit
|VimLeavePre| before exiting Nvim, before writing the shada file |VimLeavePre| before exiting Nvim, before writing the shada file
@ -989,7 +989,7 @@ TermClose When a |terminal| job ends.
TermOpen When a |terminal| job is starting. Can be TermOpen When a |terminal| job is starting. Can be
used to configure the terminal buffer. used to configure the terminal buffer.
*TermResponse* *TermResponse*
TermResponse After the response to |t_RV| is received from TermResponse After the response to t_RV is received from
the terminal. The value of |v:termresponse| the terminal. The value of |v:termresponse|
can be used to do things depending on the can be used to do things depending on the
terminal version. Note that this event may be terminal version. Note that this event may be

View File

@ -212,7 +212,7 @@ CTRL-\ e {expr} *c_CTRL-\_e*
*c_CTRL-Y* *c_CTRL-Y*
CTRL-Y When there is a modeless selection, copy the selection into CTRL-Y When there is a modeless selection, copy the selection into
the clipboard. |modeless-selection| the clipboard.
If there is no selection CTRL-Y is inserted as a character. If there is no selection CTRL-Y is inserted as a character.
CTRL-M or CTRL-J *c_CTRL-M* *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR* CTRL-M or CTRL-J *c_CTRL-M* *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*

View File

@ -162,12 +162,8 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
*get-ms-debuggers* *get-ms-debuggers*
3.5 Obtaining Microsoft Debugging Tools ~ 3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from Visual Studio 2017 Community Edition can be downloaded for free from:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx https://visualstudio.microsoft.com/downloads/
This includes the WinDbg debugger.
Visual C++ 2005 Express Edition can be downloaded for free from:
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
========================================================================= =========================================================================
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -42,10 +42,11 @@ Functions ~
*last_buffer_nr()* Obsolete name for bufnr("$"). *last_buffer_nr()* Obsolete name for bufnr("$").
Modifiers ~ Modifiers ~
*cpo-<*
*:menu-<special>* *:menu-<special>*
*:menu-special* <> notation is always enabled. |cpo-<| *:menu-special* <> notation is always enabled.
*:map-<special>* *:map-<special>*
*:map-special* <> notation is always enabled. |cpo-<| *:map-special* <> notation is always enabled.
Normal commands ~ Normal commands ~
*]f* *]f*

View File

@ -2925,7 +2925,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
made. It returns the number of the choice. For the first made. It returns the number of the choice. For the first
choice this is 1. choice this is 1.
{msg} is displayed in a |dialog| with {choices} as the {msg} is displayed in a dialog with {choices} as the
alternatives. When {choices} is missing or empty, "&OK" is alternatives. When {choices} is missing or empty, "&OK" is
used (and translated). used (and translated).
{msg} is a String, use '\n' to include a newline. Only on {msg} is a String, use '\n' to include a newline. Only on
@ -8560,7 +8560,7 @@ tag_old_static Compiled with support for old static tags
|tag-old-static|. |tag-old-static|.
tag_any_white Compiled with support for any white characters in tags tag_any_white Compiled with support for any white characters in tags
files |tag-any-white|. files |tag-any-white|.
termresponse Compiled with support for |t_RV| and |v:termresponse|. termresponse Compiled with support for t_RV and |v:termresponse|.
textobjects Compiled with support for |text-objects|. textobjects Compiled with support for |text-objects|.
timers Compiled with |timer_start()| support. timers Compiled with |timer_start()| support.
title Compiled with window title support |'title'|. title Compiled with window title support |'title'|.

View File

@ -160,6 +160,9 @@ Versions ~
*standard-plugin-list* *standard-plugin-list*
Standard plugins ~ Standard plugins ~
|pi_gzip.txt| Reading and writing compressed files |pi_gzip.txt| Reading and writing compressed files
|pi_health.txt| Healthcheck framework
|pi_matchit.txt| Extended "%" matching
|pi_msgpack.txt| msgpack utilities
|pi_netrw.txt| Reading and writing files over a network |pi_netrw.txt| Reading and writing files over a network
|pi_paren.txt| Highlight matching parens |pi_paren.txt| Highlight matching parens
|pi_spec.txt| Filetype plugin to work with rpm spec files |pi_spec.txt| Filetype plugin to work with rpm spec files

View File

@ -229,8 +229,7 @@ shared between command calls. All Lua default libraries are available. In
addition, Lua "print" function has its output redirected to the Nvim message addition, Lua "print" function has its output redirected to the Nvim message
area, with arguments separated by a white space instead of a tab. area, with arguments separated by a white space instead of a tab.
Lua uses the "vim" module (see |lua-vim|) to issue commands to Nvim Lua uses the "vim" module (see |lua-vim|) to issue commands to Nvim. However,
and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
procedures that alter buffer content, open new buffers, and change cursor procedures that alter buffer content, open new buffers, and change cursor
position are restricted when the command is executed in the |sandbox|. position are restricted when the command is executed in the |sandbox|.
@ -261,7 +260,7 @@ vim.stricmp(a, b) *lua-vim.stricmp*
greater then b or a is lesser then b respectively. greater then b or a is lesser then b respectively.
vim.type_idx *lua-vim.type_idx* vim.type_idx *lua-vim.type_idx*
Type index for use in |lua-special-tables|. Specifying one of the Type index for use in |lua-special-tbl|. Specifying one of the
values from |lua-vim.types| allows typing the empty table (it is values from |lua-vim.types| allows typing the empty table (it is
unclear whether empty lua table represents empty list or empty array) unclear whether empty lua table represents empty list or empty array)
and forcing integral numbers to be |Float|. See |lua-special-tbl| for and forcing integral numbers to be |Float|. See |lua-special-tbl| for

View File

@ -1472,7 +1472,6 @@ tag command action ~
|:sfind| :sf[ind] split current window and edit file in 'path' |:sfind| :sf[ind] split current window and edit file in 'path'
|:sfirst| :sfir[st] split window and go to first file in the |:sfirst| :sfir[st] split window and go to first file in the
argument list argument list
|:simalt| :sim[alt] Win32 GUI: simulate Windows ALT key
|:sign| :sig[n] manipulate signs |:sign| :sig[n] manipulate signs
|:silent| :sil[ent] run a command silently |:silent| :sil[ent] run a command silently
|:sleep| :sl[eep] do nothing for a few seconds |:sleep| :sl[eep] do nothing for a few seconds

View File

@ -1,7 +1,7 @@
*intro.txt* Nvim *intro.txt* Nvim
VIM REFERENCE MANUAL by Bram Moolenaar NVIM REFERENCE MANUAL
Introduction to Vim *ref* *reference* Introduction to Vim *ref* *reference*
@ -9,7 +9,7 @@ Introduction to Vim *ref* *reference*
Type |gO| to see the table of contents. Type |gO| to see the table of contents.
============================================================================== ==============================================================================
1. Introduction *intro* Introduction *intro*
Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so many Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so many
improvements that a name change was appropriate. Vim is a text editor which improvements that a name change was appropriate. Vim is a text editor which
@ -28,8 +28,8 @@ is not located in the default place. You can jump to subjects like with tags:
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back. Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
*pronounce* *pronounce*
Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a Vim is pronounced as one word, like Jim. Nvim is pronounced as N-vim, or,
capital, since it's a name, again like Jim. continuing with the Jim simile, N-Jim, which sounds like Ninja.
This manual is a reference for all the Vim commands and options. This is not This manual is a reference for all the Vim commands and options. This is not
an introduction to the use of Vi or Vim, it gets a bit complicated here and an introduction to the use of Vi or Vim, it gets a bit complicated here and
@ -37,134 +37,67 @@ there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
the user manual |usr_toc.txt|. the user manual |usr_toc.txt|.
*book* *book*
There are many books on Vi that contain a section for beginners. There are There are many books on Vi and Vim. We recommend these books:
two books I can recommend:
"Practical Vim" by Drew Neil
"Modern Vim" by Drew Neil
https://vimcasts.org/publications/
"Practical Vim" is a popular because of its focus on quickly learning common
editing tasks with Vim. "Modern Vim" explores new features introduced by Nvim
and Vim 8.
"Vim - Vi Improved" by Steve Oualline "Vim - Vi Improved" by Steve Oualline
This is the very first book completely dedicated to Vim. It is very good for This is the first book dedicated to Vim. Parts of it were included in the
beginners. The most often used commands are explained with pictures and user manual. |frombook| ISBN: 0735710015
examples. The less often used commands are also explained, the more advanced
features are summarized. There is a comprehensive index and a quick
reference. Parts of this book have been included in the user manual
|frombook|.
Published by New Riders Publishing. ISBN: 0735710015
For more information try one of these: For more information try one of these:
http://iccf-holland.org/click5.html https://iccf-holland.org/click5.html
http://www.vim.org/iccf/click5.html https://www.vim.org/iccf/click5.html
"Learning the Vi editor" by Linda Lamb and Arnold Robbins
This is a book about Vi that includes a chapter on Vim (in the sixth edition).
The first steps in Vi are explained very well. The commands that Vim adds are
only briefly mentioned. There is also a German translation.
Published by O'Reilly. ISBN: 1-56592-426-6.
============================================================================== ==============================================================================
2. Vim on the internet *internet* Nvim on the interwebs *internet*
*www* *WWW* *faq* *FAQ* *distribution* *download* *www* *WWW* *faq* *FAQ* *distribution* *download*
The Vim pages contain the most recent information about Vim. They also
contain links to the most recent version of Vim. The FAQ is a list of
Frequently Asked Questions. Read this if you have problems.
Vim home page: http://www.vim.org/ Nvim home page: https://neovim.io/
Vim FAQ: http://vimdoc.sf.net/ Nvim FAQ: https://github.com/neovim/neovim/wiki/FAQ
Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS Downloads: https://github.com/neovim/neovim/releases
Vim FAQ: https://vimhelp.appspot.com/vim_faq.txt.html
Vim home page: https://www.vim.org/
Usenet News group where Vim is discussed: *news* *usenet*
comp.editors
This group is also for other editors. If you write about Vim, don't forget to
mention that.
*mail-list* *maillist*
There are several mailing lists for Vim:
<vim@vim.org> *vim-use* *vim_use*
For discussions about using existing versions of Vim: Useful mappings,
questions, answers, where to get a specific version, etc. There are
quite a few people watching this list and answering questions, also
for beginners. Don't hesitate to ask your question here.
<vim-dev@vim.org> *vim-dev* *vim_dev* *vimdev*
For discussions about changing Vim: New features, porting, patches,
beta-test versions, etc.
<vim-announce@vim.org> *vim-announce* *vim_announce*
Announcements about new versions of Vim; also for beta-test versions
and ports to different systems. This is a read-only list.
<vim-mac@vim.org> *vim-mac* *vim_mac*
For discussions about using and improving the Macintosh version of
Vim.
See http://www.vim.org/maillist.php for the latest information.
NOTE:
- You can only send messages to these lists if you have subscribed!
- You need to send the messages from the same location as where you subscribed
from (to avoid spam mail).
- Maximum message size is 40000 characters.
*subscribe-maillist*
If you want to join, send a message to
<vim-subscribe@vim.org>
Make sure that your "From:" address is correct. Then the list server will
give you help on how to subscribe.
*maillist-archive*
For more information and archives look on the Vim maillist page:
http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim* Bug reports: *bugs* *bug-reports* *bugreport.vim*
Report bugs on GitHub: https://github.com/neovim/neovim/issues Report bugs on GitHub: https://github.com/neovim/neovim/issues
Please be brief; all the time that is spent on answering mail is subtracted Be brief, yet complete. Always give a reproducible example and try to find
from the time that is spent on improving Vim! Always give a reproducible out which settings or other things trigger the bug.
example and try to find out which settings or other things trigger the bug.
Preferably start Vim with: > If Nvim crashes, try to get a backtrace. See |debug.txt|.
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: >
:so $VIMRUNTIME/bugreport.vim
This will create a file "bugreport.txt" in the current directory, with a lot
of information of your environment. Before sending this out, check if it
doesn't contain any confidential information!
If Vim crashes, please try to find out where. You can find help on this here:
|debug.txt|.
In case of doubt or when you wonder if the problem has already been fixed but
you can't find a fix for it, become a member of the vim-dev maillist and ask
your question there. |maillist|
*year-2000* *Y2K*
Since Vim internally doesn't use dates for editing, there is no year 2000
problem to worry about. Vim does use the time in the form of seconds since
January 1st 1970. It is used for a time-stamp check of the edited file and
the swap file, which is not critical and should only cause warning messages.
There might be a year 2038 problem, when the seconds don't fit in a 32 bit int
anymore. This depends on the compiler, libraries and operating system.
Specifically, time_t and the ctime() function are used. And the time_t is
stored in four bytes in the swap file. But that's only used for printing a
file date/time for recovery, it will never affect normal editing.
The Vim strftime() function directly uses the strftime() system function.
localtime() uses the time() system function. getftime() uses the time
returned by the stat() system function. If your system libraries are year
2000 compliant, Vim is too.
The user may create scripts for Vim that use external commands. These might
introduce Y2K problems, but those are not really part of Vim itself.
============================================================================== ==============================================================================
3. Credits *credits* *author* *Bram* *Moolenaar* Sponsor Vim/Nvim development *sponsor* *register*
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See |uganda|. But at the same time donations increase Bram's
motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
https://www.vim.org/sponsor/
Neovim development is funded separately from Vim:
https://neovim.io/sponsors/
==============================================================================
Credits *credits* *author* *Bram* *Moolenaar*
Most of Vim was written by Bram Moolenaar <Bram@vim.org>. Most of Vim was written by Bram Moolenaar <Bram@vim.org>.
@ -273,7 +206,7 @@ Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
freely available. freely available.
============================================================================== ==============================================================================
4. Notation *notation* Notation *notation*
When syntax highlighting is used to read this, text that is not typed When syntax highlighting is used to read this, text that is not typed
literally is often highlighted with the Special group. These are items in [], literally is often highlighted with the Special group. These are items in [],
@ -494,7 +427,7 @@ examples and use them directly. Or type them literally, including the '<' and
":autocmd"! ":autocmd"!
============================================================================== ==============================================================================
5. Modes, introduction *vim-modes-intro* *vim-modes* Modes, introduction *vim-modes-intro* *vim-modes*
Vim has seven BASIC modes: Vim has seven BASIC modes:
@ -579,7 +512,7 @@ Insert Select mode Entered when starting Select mode from Insert mode.
is shown at the bottom of the window. is shown at the bottom of the window.
============================================================================== ==============================================================================
6. Switching from mode to mode *mode-switching* Switching from mode to mode *mode-switching*
If for any reason you do not know which mode you are in, you can always get If for any reason you do not know which mode you are in, you can always get
back to Normal mode by typing <Esc> twice. This doesn't work for Ex mode back to Normal mode by typing <Esc> twice. This doesn't work for Ex mode
@ -650,7 +583,7 @@ Q or gQ Switch to Ex mode. This is like typing ":" commands
Use the ":vi" command |:visual| to exit this mode. Use the ":vi" command |:visual| to exit this mode.
============================================================================== ==============================================================================
7. The window contents *window-contents* The window contents *window-contents*
In Normal mode and Insert/Replace mode the screen window will show the current In Normal mode and Insert/Replace mode the screen window will show the current
contents of the buffer: What You See Is What You Get. There are two contents of the buffer: What You See Is What You Get. There are two
@ -773,7 +706,7 @@ On most Unix systems, resizing the window is recognized and handled correctly
by Vim. by Vim.
============================================================================== ==============================================================================
8. Definitions *definitions* Definitions *definitions*
buffer Contains lines of text, usually read from a file. buffer Contains lines of text, usually read from a file.
screen The whole area that Vim uses to work in. This can be screen The whole area that Vim uses to work in. This can be

View File

@ -1485,7 +1485,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
When 'confirm' is on, certain operations that would normally When 'confirm' is on, certain operations that would normally
fail because of unsaved changes to a buffer, e.g. ":q" and ":e", fail because of unsaved changes to a buffer, e.g. ":q" and ":e",
instead raise a |dialog| asking if you wish to save the current instead raise a dialog asking if you wish to save the current
file(s). You can still use a ! to unconditionally |abandon| a buffer. file(s). You can still use a ! to unconditionally |abandon| a buffer.
If 'confirm' is off you can still activate confirmation for one If 'confirm' is off you can still activate confirmation for one
command only (this is most useful in mappings) with the |:confirm| command only (this is most useful in mappings) with the |:confirm|
@ -2803,8 +2803,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:set guifont=* :set guifont=*
< will bring up a font requester, where you can pick the font you want. < will bring up a font requester, where you can pick the font you want.
The font name depends on the GUI used. See |setting-guifont| for a The font name depends on the GUI used.
way to set 'guifont' for various systems.
For Mac OSX you can use something like this: > For Mac OSX you can use something like this: >
:set guifont=Monaco:h10 :set guifont=Monaco:h10
@ -6586,8 +6585,7 @@ A jump table for the options with a short description can be found at |Q_op|.
menu. This conflicts with the use of the ALT key for mappings and menu. This conflicts with the use of the ALT key for mappings and
entering special characters. This option tells what to do: entering special characters. This option tells what to do:
no Don't use ALT keys for menus. ALT key combinations can be no Don't use ALT keys for menus. ALT key combinations can be
mapped, but there is no automatic handling. This can then be mapped, but there is no automatic handling.
done with the |:simalt| command.
yes ALT key handling is done by the windowing system. ALT key yes ALT key handling is done by the windowing system. ALT key
combinations cannot be mapped. combinations cannot be mapped.
menu Using ALT in combination with a character that is a menu menu Using ALT in combination with a character that is a menu

View File

@ -1,4 +1,4 @@
*pi_msgpack.txt* Nvim *pi_msgpack.txt* msgpack utilities
Author: Nikolay Pavlov <kp-pav@yandex.ru> Author: Nikolay Pavlov <kp-pav@yandex.ru>
Copyright: (c) 2015 by Nikolay Pavlov Copyright: (c) 2015 by Nikolay Pavlov

View File

@ -167,11 +167,6 @@ a client and send strings to other instances of Vim on the same X11 display.
When an X11 GUI Vim (gvim) is started, it will try to register a send-server When an X11 GUI Vim (gvim) is started, it will try to register a send-server
name on the 'VimRegistry' property on the root window. name on the 'VimRegistry' property on the root window.
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
also act as a command server if a server name is explicitly given with the
--servername argument, or when Vim was build with the |+autoservername|
feature.
An empty --servername argument will cause the command server to be disabled. An empty --servername argument will cause the command server to be disabled.
To send commands to a Vim server from another application, read the source To send commands to a Vim server from another application, read the source

View File

@ -79,7 +79,6 @@ DEFINING A SIGN. *:sign-define* *E255* *E160* *E612*
will cause redraw problems. will cause redraw problems.
toolkit supports ~ toolkit supports ~
Win32 .bmp, .ico, .cur Win32 .bmp, .ico, .cur
pixmap (.xpm) |+xpm_w32|
linehl={group} linehl={group}
Highlighting group used for the whole line the sign is placed Highlighting group used for the whole line the sign is placed

View File

@ -1,216 +0,0 @@
*sponsor.txt* Nvim
VIM REFERENCE MANUAL by Bram Moolenaar
SPONSOR VIM DEVELOPMENT *sponsor*
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See |uganda|. But at the same time donations increase Bram's
motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
More explanations can be found in the |sponsor-faq|.
REGISTERED VIM USER *register*
You can become a registered Vim user by sending at least 10 euro. This works
similar to sponsoring Vim, see |sponsor| above. Registration was made
possible for the situation where your boss or bookkeeper may be willing to
register software, but does not like the terms "sponsoring" and "donation".
More explanations can be found in the |register-faq|.
VOTE FOR FEATURES *vote-for-features*
To give registered Vim users and sponsors an advantage over lurkers they can
vote for the items Bram should work on. How does this voting work?
1. You send at least 10 euro. See below for ways to transfer money
|send-money|.
2. You will be e-mailed a registration key. Enter this key on your account
page on the Vim website. You can easily create an account if you don't
have one yet.
3. You can enter your votes on the voting page. There is a link to that page
on your account page after entering a registration key. Your votes will
be counted for two years.
4. The voting results appear on the results page, which is visible for
everybody: http://www.vim.org/sponsor/vote_results.php
Additionally, once you have sent 100 euro or more in total, your name appears
in the "Vim hall of honour": http://www.vim.org/sponsor/hall_of_honour.php
But only if you enable this on your account page.
HOW TO SEND MONEY *send-money*
Credit card Through PayPal, see the PayPal site for information:
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
The e-mail address for sending sponsorship money is:
donate@vim.org
The e-mail address for Vim registration is:
register@vim.org
Using Euro is preferred, other currencies are also accepted.
In Euro countries a bank transfer is preferred, this has lower
costs.
Other methods See |iccf-donations|.
Include "Vim sponsor" or "Vim registration" in the comment of
your money transfer. Send me an e-mail that mentions the
amount you transferred if you want to vote for features and
show others you are a registered Vim user or sponsor.
Cash Small amounts can be sent with ordinary mail. Put something
around the money, so that it's not noticeable from the
outside. Mention your e-mail address if you want to vote for
features and show others you are a registered Vim user or
sponsor.
You can use this permanent address:
Bram Moolenaar
Finsterruetihof 1
8134 Adliswil
Switzerland
QUESTIONS AND ANSWERS *sponsor-faq* *register-faq*
Why should I give money?
If you do not show your appreciation for Vim then Bram will be less motivated
to fix bugs and add new features. He will do something else instead.
How much money should I send?
That is up to you. The more you give, the more children will be helped.
An indication for individuals that use Vim at home: 10 Euro per year. For
professional use: 30 Euro per year per person. Send at least 10 euro to be
able to vote for features.
What do I get in return?
Each registered Vim user and sponsor who donates at least 10 euro will be able
to vote for new features. These votes will give priority to the work on Vim.
The votes are valid for two years. The more money you send the more your
votes count |votes-counted|.
If you send 100 Euro or more in total you will be mentioned on the "Vim hall
of honour" page on the Vim web site. But only if you enable this on your
account page. You can also select whether the amount will be visible.
How do I become a Vim sponsor or registered Vim user?
Send money, as explained above |send-money| and include your e-mail address.
When the money has been received you will receive a unique registration key.
This key can be used on the Vim website to activate voting on your Vim
account. You will then get an extra page where you can vote for features and
choose whether others will be able to see that you donated. There is a link
to this page on your "My Account" page.
What is the difference between sponsoring and registering?
It has a different name. Use the term "registration" if your boss doesn't
like "sponsoring" or "donation". The benefits are the same.
How can I send money?
See |send-money|. Check the web site for the most recent information:
http://www.vim.org/sponsor/
Why don't you use the SourceForge donation system?
SourceForge takes 5% of the donations for themselves. If you want to support
SourceForge you can send money to them directly.
I cannot afford to send money, may I still use Vim?
Yes.
I did not register Vim, can I use all available features?
Yes.
I noticed a bug, do I need to register before I can report it?
No, suggestions for improving Vim can always be given. For improvements use
the developer |maillist|, for reporting bugs see |bugs|.
How are my votes counted? *votes-counted*
You may vote when you send 10 euro or more. You can enter up to ten votes.
You can select the same item several times to give it more points. You can
also enter three counter votes, these count as negative points.
When you send 30 euro or more the points are doubled. Above 100 euro they
count four times, above 300 euro they count six times, above 1000 euro ten
times.
Can I change my votes?
You can change your votes any time you like, up to two years after you
sent money. The points will be counted right away.
Can I add an item to vote on?
Not directly. You can suggest items to vote on to Bram. He will consider
fitting your item into the list.
How about Charityware?
Currently the Vim donations go to |uganda| anyway. Thus it doesn't matter if
you sponsor Vim or ICCF. Except that Vim sponsoring will allow you to vote
for features.
I donated $$$, now please add feature XYZ!
There is no direct relation between your donation and the work Bram does.
Otherwise you would be paying for work and we would have to pay tax over the
donation. If you want to hire Bram for specific work, contact him directly,
don't use the donation system.
Are the donations tax deductible?
That depends on your country. The donations to help the children in |Uganda|
are tax deductible in Holland, Germany, Canada and in the USA. See the ICCF
website http://iccf-holland.org/donate.html. You must send an e-mail to Bram
to let him know that the donation is done because of the use of Vim.
Can you send me a bill?
No, because there is no relation between the money you send and the work that
is done. But a receipt is possible.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -167,7 +167,7 @@ the editor.
mouse support is active. Some options like 'ambiwidth' have already mouse support is active. Some options like 'ambiwidth' have already
taken effect on the grid, where appropriate empty cells are added, taken effect on the grid, where appropriate empty cells are added,
however a UI might still use such options when rendering raw text however a UI might still use such options when rendering raw text
sent from Nvim, like for |ui-ext-cmdline|. sent from Nvim, like for |ui-cmdline|.
["mode_change", mode, mode_idx] ["mode_change", mode, mode_idx]
The mode changed. The first parameter `mode` is a string representing The mode changed. The first parameter `mode` is a string representing

View File

@ -68,9 +68,9 @@ For more info see |vimrc|.
============================================================================== ==============================================================================
*01.3* Using the Vim tutor *tutor* *vimtutor* *01.3* Using the Vim tutor *tutor* *vimtutor*
Instead of reading the text (boring!) you can use the vimtutor to learn your Instead of reading the text (boring!) you can use :Tutor to learn your first
first Vim commands. This is a 30 minute tutorial that teaches the most basic Vim commands. This is a 30 minute tutorial that teaches the most basic Vim
Vim functionality hands-on. functionality hands-on.
To start the tutorial, execute > To start the tutorial, execute >

View File

@ -321,7 +321,7 @@ Where can you find plugins?
- Some come with Vim. You can find them in the directory $VIMRUNTIME/macros - Some come with Vim. You can find them in the directory $VIMRUNTIME/macros
and its sub-directories and under $VIM/vimfiles/pack/dist/opt/. and its sub-directories and under $VIM/vimfiles/pack/dist/opt/.
- Download from the net. There is a large collection on http://www.vim.org. - Download from the net. There is a large collection on http://www.vim.org.
- They are sometimes posted in a Vim |maillist|. - They are sometimes posted in a Vim maillist.
- You could write one yourself, see |write-plugin|. - You could write one yourself, see |write-plugin|.

View File

@ -203,8 +203,7 @@ USING UNICODE IN A UNICODE TERMINAL
There are terminals that support Unicode directly. The standard xterm that There are terminals that support Unicode directly. The standard xterm that
comes with XFree86 is one of them. Let's use that as an example. comes with XFree86 is one of them. Let's use that as an example.
First of all, the xterm must have been compiled with Unicode support. See First of all, the xterm must have been compiled with Unicode support.
|UTF8-xterm| how to check that and how to compile it when needed.
Start the xterm with the "-u8" argument. You might also need so specify a Start the xterm with the "-u8" argument. You might also need so specify a
font. Example: > font. Example: >

View File

@ -381,7 +381,7 @@ T *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static| N *+tag_old_static* old method for static tags |tag-old-static|
m *+tag_any_white* any white space allowed in tags file |tag-any-white| m *+tag_any_white* any white space allowed in tags file |tag-any-white|
B *+termguicolors* 24-bit color in xterm-compatible terminals support B *+termguicolors* 24-bit color in xterm-compatible terminals support
N *+termresponse* support for |t_RV| and |v:termresponse| N *+termresponse* support for t_RV and |v:termresponse|
N *+textobjects* |text-objects| selection N *+textobjects* |text-objects| selection
N *+timers* the |timer_start()| function N *+timers* the |timer_start()| function
N *+title* Setting the window 'title' and 'icon' N *+title* Setting the window 'title' and 'icon'

View File

@ -1,19 +0,0 @@
The plugin directory is for standard Vim plugin scripts.
All files here ending in .vim will be sourced by Vim when it starts up.
Look in the file for hints on how it can be disabled without deleting it.
getscriptPlugin.vim get latest version of Vim scripts
gzip.vim edit compressed files
matchparen.vim highlight paren matching the one under the cursor
netrwPlugin.vim edit files over a network and browse (remote) directories
rrhelper.vim used for --remote-wait editing
spellfile.vim download a spellfile when it's missing
tarPlugin.vim edit (compressed) tar files
tohtml.vim convert a file with syntax highlighting to HTML
vimballPlugin.vim create and unpack .vba files
zipPlugin.vim edit zip archives
Note: the explorer.vim plugin is no longer here, the netrw.vim plugin has
taken over browsing directories (also for remote directories).

View File

@ -1,48 +0,0 @@
" Vim plugin with helper function(s) for --remote-wait
" Maintainer: Flemming Madsen <fma@cci.dk>
" Last Change: 2008 May 29
" Has this already been loaded?
if exists("loaded_rrhelper") || !has("clientserver")
finish
endif
let loaded_rrhelper = 1
" Setup answers for a --remote-wait client who will assume
" a SetupRemoteReplies() function in the command server
function SetupRemoteReplies()
let cnt = 0
let max = argc()
let id = expand("<client>")
if id == 0
return
endif
while cnt < max
" Handle same file from more clients and file being more than once
" on the command line by encoding this stuff in the group name
let uniqueGroup = "RemoteReply_".id."_".cnt
" Path separators are always forward slashes for the autocommand pattern.
" Escape special characters with a backslash.
let f = substitute(argv(cnt), '\\', '/', "g")
if exists('*fnameescape')
let f = fnameescape(f)
else
let f = escape(f, " \t\n*?[{`$\\%#'\"|!<")
endif
execute "augroup ".uniqueGroup
execute "autocmd ".uniqueGroup." BufUnload ". f ." call DoRemoteReply('".id."', '".cnt."', '".uniqueGroup."', '". f ."')"
let cnt = cnt + 1
endwhile
augroup END
endfunc
function DoRemoteReply(id, cnt, group, file)
call server2client(a:id, a:cnt)
execute 'autocmd! '.a:group.' BufUnload '.a:file
execute 'augroup! '.a:group
endfunc
" vim: set sw=2 sts=2 :

View File

@ -149,8 +149,8 @@ preprocess_patch() {
local na_src='proto\|Make*\|gui_*\|if_lua\|if_mzsch\|if_olepp\|if_ole\|if_perl\|if_py\|if_ruby\|if_tcl\|if_xcmdsrv' local na_src='proto\|Make*\|gui_*\|if_lua\|if_mzsch\|if_olepp\|if_ole\|if_perl\|if_py\|if_ruby\|if_tcl\|if_xcmdsrv'
2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/src/\S*\<\%(testdir/\)\@<!\%('${na_src}'\)@norm! d/\v(^diff)|%$ ' +w +q "$file" 2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/src/\S*\<\%(testdir/\)\@<!\%('${na_src}'\)@norm! d/\v(^diff)|%$ ' +w +q "$file"
# Remove channel.txt, netbeans.txt, os_*.txt, term.txt, todo.txt, version*.txt, tags # Remove unwanted Vim doc files.
local na_doc='channel\.txt\|netbeans\.txt\|os_\w\+\.txt\|term\.txt\|todo\.txt\|version\d\.txt\|tags' local na_doc='channel\.txt\|netbeans\.txt\|os_\w\+\.txt\|term\.txt\|todo\.txt\|version\d\.txt\|sponsor\.txt\|intro\.txt\|tags'
2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/runtime/doc/\<\%('${na_doc}'\)\>@norm! d/\v(^diff)|%$ ' +w +q "$file" 2>/dev/null $nvim --cmd 'set dir=/tmp' +'g@^diff --git a/runtime/doc/\<\%('${na_doc}'\)\>@norm! d/\v(^diff)|%$ ' +w +q "$file"
# Remove "Last change ..." changes in doc files. # Remove "Last change ..." changes in doc files.

View File

@ -51,8 +51,7 @@
/// ///
/// @param buffer Buffer handle /// @param buffer Buffer handle
/// @param[out] err Error details, if any /// @param[out] err Error details, if any
/// @return Line count, or \`0` if the buffer has been unloaded (see /// @return Line count, or 0 for unloaded buffer. |api-buffer|
/// |api-buffer|).
Integer nvim_buf_line_count(Buffer buffer, Error *err) Integer nvim_buf_line_count(Buffer buffer, Error *err)
FUNC_API_SINCE(1) FUNC_API_SINCE(1)
{ {
@ -227,8 +226,7 @@ ArrayOf(String) buffer_get_line_slice(Buffer buffer,
/// @param end Last line index (exclusive) /// @param end Last line index (exclusive)
/// @param strict_indexing Whether out-of-bounds should be an error. /// @param strict_indexing Whether out-of-bounds should be an error.
/// @param[out] err Error details, if any /// @param[out] err Error details, if any
/// @return Array of lines. If the buffer has been unloaded then an empty array /// @return Array of lines, or empty array for unloaded buffer.
/// will be returned instead. (See |api-buffer|.)
ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id, ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id,
Buffer buffer, Buffer buffer,
Integer start, Integer start,
@ -491,12 +489,12 @@ end:
try_end(err); try_end(err);
} }
/// Return the byte offset for a line. /// Returns the byte offset for a line.
// ///
/// The first line returns 0. UTF-8 bytes are counted, and EOL counts as one /// Line 1 (index=0) has offset 0. UTF-8 bytes are counted. EOL is one byte.
/// byte. 'fileformat' and 'fileencoding' are ignored. Sending in the index /// 'fileformat' and 'fileencoding' are ignored. The line index just after the
/// just below the last line gives the total byte count for the entire buffer. /// last line gives the total byte-count of the buffer. A final EOL byte is
/// A final EOL is included if it would be written, see 'eol'. /// counted if it would be written, see 'eol'.
/// ///
/// Unlike |line2byte()|, throws error for out-of-bounds indexing. /// Unlike |line2byte()|, throws error for out-of-bounds indexing.
/// Returns -1 for unloaded buffer. /// Returns -1 for unloaded buffer.
@ -504,7 +502,7 @@ end:
/// @param buffer Buffer handle /// @param buffer Buffer handle
/// @param index Line index /// @param index Line index
/// @param[out] err Error details, if any /// @param[out] err Error details, if any
/// @return Integer Byte offset /// @return Integer byte offset, or -1 for unloaded buffer.
Integer nvim_buf_get_offset(Buffer buffer, Integer index, Error *err) Integer nvim_buf_get_offset(Buffer buffer, Integer index, Error *err)
FUNC_API_SINCE(5) FUNC_API_SINCE(5)
{ {

View File

@ -1028,7 +1028,7 @@ Array nvim_get_api_info(uint64_t channel_id)
/// @param attributes Informal attributes describing the client. Clients might /// @param attributes Informal attributes describing the client. Clients might
/// define their own keys, but the following are suggested: /// define their own keys, but the following are suggested:
/// - "website" Website of client (for instance github repository) /// - "website" Website of client (for instance github repository)
/// - "license" Informal descripton of the license, such as "Apache 2", /// - "license" Informal description of the license, such as "Apache 2",
/// "GPLv3" or "MIT" /// "GPLv3" or "MIT"
/// - "logo" URI or path to image, preferably small logo or icon. /// - "logo" URI or path to image, preferably small logo or icon.
/// .png or .svg format is preferred. /// .png or .svg format is preferred.