-
Notifications
You must be signed in to change notification settings - Fork 171
Configuration Options
This page describes all of the configuration options supported by NeovimQt.
Scroll down to see the list of options available, along with images and examples.
Common Configuration Options:
- guicursor - Modifies cursor visuals and color.
- guifontwide - Provide a font for CJK and other wide characters.
- GuiFont - Set the Neovim shell font.
- GuiLinespace - Adds additional space between rows.
- GuiPopupmenu - Enable/Disable the GUI popupmenu.
- GuiRenderLigatures - Enable/Disable font ligature support.
- GuiScrollBar - Enable/Disable the GUI scrollbar.
- GuiTabline - Enable/Disable the GUI tab interface.
- GuiWindowOpacity - Set window transparency.
These options can be set anywhere, and do not require the Neovim Qt runtime. You can set these options from init.vim
.
These options are specific to Neovim Qt. The options cannot be set from init.vim
, they must be set
from ginit.vim
.
These options require the Neovim Qt Runtime.
You can experiment with these options in the commandline of any NeovimQt session.
Adjusts the GUI to use the Neovim colorscheme
.
Adaptive color does not work on all platforms and widget styles.
If you experience issues, try :GuiAdaptiveStyle Fusion
.
:GuiAdaptiveColor 0
(Default):
:GuiAdaptiveColor 1
:
Adjusts the GUI to use the same font as the Neovim shell font.
Adaptive color does not work on all platforms and widget styles.
If you experience issues, try :GuiAdaptiveStyle Fusion
.
:GuiAdaptiveFont 0
(Default):
:GuiAdaptiveFont 1
:
Adaptive font does not work on all platforms and UI styles.
Changes the UI widget style of Neovim Qt. This is especially useful on Windows/MacOS, where some elements of the native styles are not adaptive.
You can list all styles available with :GuiAdaptiveStyleList
. The style Fusion
is usually available on all platforms.
To revert to the default style, call :GuiAdaptiveStyle
with no arguments.
:GuiAdaptiveStyle
(Default):
:GuiAdaptiveStyle Fusion
:
Change the font used by Neovim Qt.
A GUI font dialog is available to aid font selection, call :GuiFont *
.
You may see these errors:
{Font Name} is not a fixed pitch Font
Warning: Font {Font Name} reports bad fixed pitch metrics
You can override this warning with :GuiFont! {Font Name}
.
The following attributes are available:
hXX - height is XX in points (can be floating-point)
wXX - weight is XX
b - bold weight
sb - semibold weight
l - light weight
i - italic
To view the active font, call :GuiFont
with no arguments.
Adds additional space between rows of text in NeovimQt.
Specify the number of pixels to be added between rows.
:GuiLinespace 10
:
k
Any integer value greater than 0 is valid. You can view the current value by calling :GuiLinespace
with no arguments.
This setting can also be configured in init.vim
via :set linespace=...
.
Enables the Neovim GUI Popupmenu feature, ext_popupmenu
.
Renders the completion menu in Qt, instead of within the Neovim terminal UI.
This feature can be disabled with :GuiPopupmenu 0
.
Modifies the rendering logic to support font ligatures.
By default, text is rendered character-by-character on the grid.
With the option enabled, text is rendered line-by-line, enabling ligatures spanning multi-characters.
This option may also alleviate text-clipping on some italic fonts. See Issue 154.
:GuiRenderLigatures 0
(Default):
:GuiRenderLigatures 1
:
Renders an GUI scrollbar attached to the active buffer.
:GuiScrollBar 0
(Default):
:GuiScrollBar 1
:
Enables the Neovim GUI Tabline feature, ext_tabline
. Renders Vim Tabs in Qt, instead of within the Neovim terminal UI.
This feature can be disabled with :GuiTabline 0
.
Note, this feature renders tabs, and not buffers. The standard concept of an editor tab is similar to a Vim "buffer", and a Vim "tab" is more similar to a saved view.
Other
Several options can be set immediately on startup. These settings will take effect even before ginit.vim
is loaded. This is useful for options like ext_linegrid
, or to prevent GuiTabline
flicker on startup.
Each platform has a slightly different configuration scheme. We utilize Qt's QSettings library.
- ext_linegrid (true/false): Enables or disables the latest neovim rendering protocol.
-
ext_tabline (true/false): Equivalent to
:GuiTabline
, useful for preventing startup flicker. -
ext_popupmenu (true/false): Equivalent to
:GuiPopupmenu
.
Windows stores its settings in the registry at Computer\HKEY_CURRENT_USER\Software\nvim-qt\nvim-qt
.
You can change the values with regedit.exe
:
TODO: Add some .reg
files for common settings, ext_linegrid, ext_tabline.
Linux stores its settings in ~/.config/nvim-qt/nvim-qt.conf
.
Here is an example file:
[General]
ext_linegrid=true
ext_tabline=false
TODO
This feature allows users to intercept or override Drag & Drop events.
Here is a sample function for your vimrc
:
" Drag & Drop: echo 'You just opened: {filename}` before opening the file.
function! GuiDropCustomHandler(...)
let l:fnames = deepcopy(a:000)
let l:args = map(l:fnames, 'fnameescape(v:val)')
for l:file in l:args
echo "You just opened: " . l:file
exec 'drop '.join(l:args, ' ')
endfor
endfunction
For more information see :help GuiDrop
or Pull Request 669.