Command Line Reference

Neovide supports a few command line arguments for effecting things which couldn't be set using normal vim variables.

$ in front of a word refers to it being an "environment variable" which is checked for, some settings only require it to be set in some way, some settings also use the contents.

Information

Version

--version or -V

Prints the current version of neovide.

Help

--help or -h

Prints details about neovide. This will be a help page eventually.

Functionality

Frame

--frame or $NEOVIDE_FRAME

Can be set to:

  • full: The default, all decorations.
  • none: No decorations at all. NOTE: Window cannot be moved nor resized after this.
  • (macOS only) transparent: Transparent decorations including a transparent bar.
  • (macOS only) buttonless: All decorations, but without quit, minimize or fullscreen buttons.

Window Size

--size=<width>x<height>

Sets the initial neovide window size in pixels.

Can not be used together with --maximized, or --grid.

Maximized

--maximized or $NEOVIDE_MAXIMIZED

Maximize the window on startup, while still having decorations and the status bar of your OS visible.

This is not the same as g:neovide_fullscreen, which runs Neovide in "exclusive fullscreen", covering up the entire screen.

Can not be used together with --size, or --grid.

Grid Size

--grid [<columns>x<lines>]

Available since 0.12.0.

Sets the initial grid size of the window. If no value is given, it defaults to columns/lines from init.vim/lua, see columns and lines.

If the --grid argument is not set then the grid size is inferred from the window size.

Note: After the initial size has been determined and init.vim/lua processed, you can set columns and lines inside neovim regardless of the command line arguments used. This has to be done before any redraws are made, so it's recommended to put it at the start of the init.vim/lua along with guifont and other related settings that can affect the geometry.

Can not be used together with --size, or --maximized.

Log File

--log

Enables the log file for debugging purposes. This will write a file next to the executable containing trace events which may help debug an issue.

Multigrid

--no-multigrid or $NEOVIDE_NO_MULTIGRID

This disables neovim's multigrid functionality which will also disable floating window blurred backgrounds, smooth scrolling, and window animations. This can solve some issues where neovide acts differently from terminal neovim.

No Fork

--no-fork or $NEOVIDE_FORK=0|1

By default, neovide detaches itself from the terminal. Instead of spawning a child process and leaking it, be "blocking" and have the shell directly as parent process.

No Idle

--no-idle or $NEOVIDE_IDLE=0|1

With idle on (default), neovide won't render new frames when nothing is happening.

With idle off (e.g. with --no-idle flag), neovide will constantly render new frames, even when nothing changed. This takes more power and CPU time, but can possibly help with frame timing issues.

Title (macOS Only)

--title-hidden or $NEOVIDE_TITLE_HIDDEN

Available since 0.12.2.

This sets the window title to be hidden on macOS.

sRGB

--no-srgb, --srgb or $NEOVIDE_SRGB=0|1

Request sRGB support on the window. Neovide does not actually render with sRGB, but it's still enabled by default on Windows to work around neovim/neovim/issues/907. Other platforms should not need it, but if you encounter either startup crashes or wrong colors, you can try to swap the option. The command line parameter takes priority over the environment variable.

Tabs

--no-tabs, --tabs or $NEOVIDE_TABS=0|1

By default, Neovide opens files given directly to Neovide (not NeoVim through --!) in multiple tabs to avoid confusing new users. --no-tabs disables this behavior.

Note: Even if files are opened in tabs, they're buffers anyways. It's just about them being visible or not.

No VSync

--no-vsync, --vsync or $NEOVIDE_VSYNC=0|1

Available since 0.10.2.

By default, Neovide requests to use VSync on the created window. --no-vsync disables this behavior. The command line parameter takes priority over the environment variable. If you don't enable vsync, then g:neovide_refresh_rate will be used.

Neovim Server

--server <ADDRESS>

Connects to the named pipe or socket at ADDRESS.

WSL

--wsl

Runs neovim from inside wsl rather than as a normal executable.

Neovim Binary

--neovim-bin or $NEOVIM_BIN

Sets where to find neovim's executable. If unset, neovide will try to find nvim on the PATH environment variable instead. If you're running a Unix-alike, be sure that binary has the executable permission bit set.

Wayland / X11

--wayland-app-id <wayland_app_id> or $NEOVIDE_APP_ID
--x11-wm-class-instance <x11_wm_class_instance> or $NEOVIDE_WM_CLASS_INSTANCE
--x11-wm-class <x11_wm_class> or $NEOVIDE_WM_CLASS

On Linux/Unix, this alters the identification of the window to either X11 or the more modern Wayland, depending on what you are running on.