Home Explore Blog CI



neovim

8th chunk of `runtime/doc/starting.txt`
aea2d9df5017b24fc1864d5d60bd3eb64dab597363115cad0000000100000fa5
 have changed
	if packages have been found, but that should not add a directory
	ending in "after".

11. Set 'shellpipe' and 'shellredir'
	The 'shellpipe' and 'shellredir' options are set according to the
	value of the 'shell' option, unless they have been set before.
	This means that Nvim will figure out the values of 'shellpipe' and
	'shellredir' for you, unless you have set them yourself.

12. Set 'updatecount' to zero, if "-n" command argument used.

13. Set binary options if the |-b| flag was given.

14. Read the |shada-file|.

15. Read the quickfix file if the |-q| flag was given, or exit on failure.

16. Open all windows
	When the |-o| flag was given, windows will be opened (but not
	displayed yet).
	When the |-p| flag was given, tab pages will be created (but not
	displayed yet).
	When switching screens, it happens now.  Redrawing starts.
	If the |-q| flag was given, the first error is jumped to.
	Buffers for all windows will be loaded, without triggering |BufAdd|
	autocommands.

17. Execute startup commands
	If a |-t| flag was given, the tag is jumped to.
	Commands given with |-c| and |+cmd| are executed.
	The starting flag is reset, has("vim_starting") will now return zero.
	The |v:vim_did_enter| variable is set to 1.
	The |VimEnter| autocommands are executed.


Saving the current state of Vim to a file ~

Whenever you have changed values of options or when you have created a
mapping, then you may want to save them in a vimrc file for later use.  See
|save-settings| about saving the current state of settings to a file.


Avoiding trojan horses ~
							*trojan-horse*
While reading the "vimrc" or the "exrc" file in the current directory, some
commands can be disabled for security reasons by setting the 'secure' option.
This is always done when executing the command from a tags file.  Otherwise,
it would be possible that you accidentally use a vimrc or tags file that
somebody else created and contains nasty commands.  The disabled commands are
the ones that start a shell, the ones that write to a file, and ":autocmd".
The ":map" commands are echoed, so you can see which keys are being mapped.
	If you want Vim to execute all commands in a local vimrc file, you
can reset the 'secure' option in the EXINIT or VIMINIT environment variable or
in the global exrc or vimrc file.  This is not possible in vimrc or
exrc in the current directory, for obvious reasons.
	On Unix systems, this only happens if you are not the owner of the
vimrc file.  Warning: If you unpack an archive that contains a vimrc or exrc
file, it will be owned by you.  You won't have the security protection.  Check
the vimrc file before you start Vim in that directory, or reset the 'exrc'
option.  Some Unix systems allow a user to do "chown" on a file.  This makes
it possible for another user to create a nasty vimrc and make you the owner.
Be careful!
	When using tag search commands, executing the search command (the last
part of the line in the tags file) is always done in secure mode.  This works
just like executing a command from a vimrc in the current directory.


If Vim startup is slow ~
							*slow-start*
If Vim takes a long time to start up, use the |--startuptime| argument to find
out what happens.

If you have 'shada' enabled, the loading of the ShaDa file may take a
while.  You can find out if this is the problem by disabling ShaDa for a
moment (use the Vim argument "-i NONE", |-i|).  Try reducing the number of
lines stored in a register with ":set shada='20,<50,s10".  |shada-file|.


Troubleshooting broken configurations ~
							*bisect*
The extreme flexibility of editors like Vim and Emacs means that any plugin or
setting can affect the entire editor in ways that are not initially obvious.

To find the cause of a problem in your config, you must "bisect" it:
1. Remove or disable half of your |config|.
2. Restart Nvim.
3. If the problem still occurs, goto 1.
4. If the problem is gone, restore half of the removed lines.
5. Continue narrowing your config

Title: Nvim Initialization Completion, Security Concerns, and Troubleshooting Slow Startups
Summary
This section concludes the Nvim initialization process, covering setting 'shellpipe' and 'shellredir', handling flags like '-n', '-b', '-o', '-p', and '-q', executing startup commands, and running autocommands. It also discusses saving the current Vim state to a file and addresses security concerns related to trojan horses in vimrc or exrc files. Finally, it provides guidance on troubleshooting slow startup times, including using the '--startuptime' argument and disabling ShaDa, and offers a 'bisect' method for identifying problematic configurations.