Config File
Available since 0.11.0.
Neovide also support configuration through a config file in the toml format.
Settings priority
There are two types of settings:
- Settings override these settings from the environment variables, but they can be overridden by command line arguments.
- Runtime settings. These settings can be hot-reloaded in runtime.
Location
Platform | Location |
---|---|
Linux | $XDG_CONFIG_HOME/neovide/config.toml or $HOME/.config/neovide/config.toml |
macOS | $XDG_CONFIG_HOME/neovide/config.toml or $HOME/.config/neovide/config.toml |
Windows | {FOLDERID_RoamingAppData}/neovide/config.toml |
Available settings
Settings currently available in the config file with default values:
fork = false
frame = "full"
idle = true
maximized = false
neovim-bin = "/usr/bin/nvim" # in reality found dynamically on $PATH if unset
no-multigrid = false
srgb = false
tabs = true
theme = "auto"
mouse-cursor-icon = "arrow"
title-hidden = true
vsync = true
wsl = false
[font]
normal = [] # Will use the bundled Fira Code Nerd Font by default
size = 14.0
Settings from environment variables can be found in Command Line Reference, see that doc for details on what those settings do.
Runtime settings
Font
Available since 0.12.1.
[font]
table in configuration file contains:
normal
: required,FontDescription
bold
: optional,SecondaryFontDescription
italic
: optional,SecondaryFontDescription
bold_italic
: optional,SecondaryFontDescription
features
: optional,{ "<font>" = ["<string>"] }
size
: required,width
: optional,hinting
: optional,edging
: optional,
Settings size
, width
, hinting
and edging
can be found in
Configuration.
FontDescription
can be:- a table with two keys
family
andstyle
,family
is required,style
is optional, - a string, indicate the font family,
- an array of string or tables in previous two forms.
- a table with two keys
SecondaryFontDescription
can be:- a table with two keys
family
andstyle
, both are optional, - a string, indicate the font family,
- an array of string or tables in previous two forms.
- a table with two keys
- Font styles consist of zero or more space separated parts, each parts can be:
- pre-defined style name
- weight:
Thin
,ExtraLight
,Light
,Normal
,Medium
,SemiBold
,Bold
,ExtraBold
,Black
,ExtraBlack
- slant:
Italic
,Oblique
- weight:
- variable font weight:
W<weight>
, e.g.W100
,W200
,W300
,W400
,W500
,W600
,W700
,W800
,W900
- pre-defined style name
- Font features are a table with font family as key and an array of string as value, each
string is a font feature.
- Font feature is a string with format
+<feature>
,-<feature>
or<feature>=<value>
, e.g.+ss01
,-calt
,ss02=2
.+<feature>
is a shorthand for<feature>=1
,-<feature>
is a shorthand for<feature>=0
.
- Font feature is a string with format
Example:
[font]
normal = ["MonoLisa Nerd Font"]
size = 18
[font.features]
"MonoLisa Nerd Font" = [ "+ss01", "+ss07", "+ss11", "-calt", "+ss09", "+ss02", "+ss14" ]
Specify font weight:
[font]
size = 19
hinting = "full"
edging = "antialias"
[[font.normal]]
family = "JetBrainsMono Nerd Font Propo"
style = "W400"
# You can set a different font for fallback
[[font.normal]]
family = "Noto Sans CJK SC"
style = "Normal"
[[font.bold]]
family = "JetBrainsMono Nerd Font Propo"
style = "W600"
# No need to specify fallback in every variant, if omitted or specified here
# but not found, it will fallback to normal font with this weight which is bold
# in this case.
[[font.bold]]
family = "Noto Sans CJK SC"
style = "Bold"