These are more like notes than proper documentation, so remove it as
they're not of much use unless you don't know what you're looking for.
Many of these are somewhat useful, but many also duplicate what's
already documented elsewhere. In any case, vi_diff.txt is the last
place that assorted tips'n'tricks should be located (we already have
tips.txt!!!).
In regards to Nvim, it's very outdated; for an updated list of such
arguments refer to the manual page or `nvim --help`. In all other
regards, it's of little to no use to end-users.
Note: it looks like viminfo files do not store search direction intentionally.
After reading viminfo file search direction was considered to be “forward”.
Note 2: all files created on earlier Neovim version will automatically receive
“forward” direction.
Fixes#3580
Problem: On some systems automatically adding the missing EOL causes
problems. Setting 'binary' has too many side effects.
Solution: Add the 'fixeol' option, default on. (Pavel Samarkin)
34d72d4b6c
"vimrc" refers to all files that are used to configure Neovim. The main
configuration file is init.vim nowadays.
All nvimrc references that are left refer to a local ".nvimrc" which is read
if 'exrc' is set. ".ngvimrc" references were completely wiped.
Closes#3552.
Currently the logfile (":profile start {logfile}") only gets written when Vim
exits. This new command allows to dump the log immediately without exiting.
Problem: "zr" and "zm" do not take a count.
Solution: Implement the count, restrict the fold level to the maximum
nesting depth. (Marcin Szamotulski)
7d2757a472
From the documentation itself:
:[range]o[pen] Works like |:visual|: end Ex mode.
{Vi: start editing in open mode}
...
Vim does not support open mode, since it's not really useful. For
those situations where ":open" would start open mode Vim will leave Ex
mode, which allows executing the same commands, but updates the whole
screen instead of only one line.
Part of the reason behind this is to make removing vi_diff.txt easier,
although it's also because :open is not too useful.
Helped-by: @fdinoff
Helped-by: @dsummersl
Helped-by: @mhinz
Helped-by: @justinmk
A couple lines tripped me up while reading through this document for the first
time. This change aims to reword/rework these areas, so that they are clearer
on the first read.
All of this information is a combination of incorrect, outdated, or
redundant given its availability in other help files.
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Felipe Morales <hel.sheep@gmail.com>
Problem: Moving the cursor in Insert mode starts new undo sequence.
Solution: Add CTRL-G U to keep the undo sequence for the following
cursor movement command. (Christian Brabandt)
8b5f65a527Closes#3492
Note about ~/.local/share/nvim/site used in one usr_\* file: this one talks
about user-local installation of third-party plugins, and
~/.local/share/nvim/site is the proper place for them. Most other files talk
about user own configuration and this is ~/.config.
Commit e3568364 ("default: enable 'langnoremap'. #2853") enabled it by
default but forgot to remove the lines saying it's disabled by default.
tweaked by Michael Reed
Reviewed-by: Felipe Morales <hel.sheep@gmail.com>
[ci skip]
It is not logical that on UNIX permissions can prevent even writing temporary
file, while on other OS it will first write temporary file and then fail during
rename.
Modifications:
- If file was not written due to write error then writing stops and temporary
file will not be renamed.
- If NeoVim detects that target file is not a ShaDa file then temporary file
will not be renamed.
Notes:
- E136 code greatly changed its meaning: now it is write error and not read
error.
- E195 was removed because shada_read_everything will already do all the
necessary error reporting.
- E886 can be reported by both :rshada and :wshada, but :rshada comes first and
AFAIR it is the only error which is not E575 and can be reported by :rshada.
What works:
1. ShaDa file dumping: header, registers, jump list, history, search patterns,
substitute strings, variables.
2. ShaDa file reading: registers, global marks, variables.
Most was not tested.
TODO:
1. Merging.
2. Reading history, local marks, jump and buffer lists.
3. Documentation update.
4. Converting some data from &encoding.
5. Safer variant of dumping viminfo (dump to temporary file then rename).
6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for
reference).
- do not create leader maps
- :norm! instead of :norm
- :keepjumps during layout
- use blackhole reg to avoid polluting unnamed reg
- format buffer name as "man://foo(2)"
- simulate behavior of `man`
- buffer-local mapping of q to quit
- open in new tab instead of new window
- set 'nolist'
- set tabstop=8
- new feature: if the first character of 'keywordprg' is ":", the
command is invoked as a Vim ex-command prefixed with [count].
- change default 'keywordprg' to :Man
"python -c" returns 1 in case of an error. Use a return code of 2 if
the Neovim module is not found to distinguish these cases.
Verify the interpreter version before checking for an installed Neovim
module. Show a new error message if the Python interpreter version
is below the minimum required version.
Always use "pkgutil" to determine if the Neovim module is installed.
In contrast to "importlib", which was used for Python 3,
"pkgutil.find_loader" is available for all Python versions [1,2].
"pkgutil.find_loader" internally uses "importlib" for Python >= 3.3 [2].
Also, the previously used "importlib.find_loader" is only available
since Python 3.3 (so checking the major Python version was not enough)
and deprecated since Python 3.4 [3].
Finally, conditioning on the major version in Vimscript was incorrect,
as checking the Neovim module for a certain Python major version does
not mean that the tested interpreters are actually of that version.
For example, we test the "python" executable, which is Python 2 on
Ubuntu and Python 3 on Arch Linux.
[1] https://docs.python.org/2/library/pkgutil.html#pkgutil.find_loader
[2] https://docs.python.org/3/library/pkgutil.html#pkgutil.find_loader
[3] https://docs.python.org/3/library/importlib.html#importlib.find_loader
According to the vim helpfile:
> fnamemodify({fname}, {mods})
> ...
> Note: Environment variables don't work in {fname}, use
> expand() first then.
So this causes issues if your $MYVIMRC contains environment variables
(e.g. $XDG_CONFIG_HOME)
Before, running Nvim in a directory containing a Python module `neovim`,
or one that is imported by it or a plugin, will load that module and not
the system one. So Nvim might be tricked into running arbitrary scripts
from the current working directory.
Fixes#1665Fixes#2530