Onivim's settings are designed to be mostly compatible with VSCode's User Settings.
Editing the user settings
Control+Shift+P(Windows, Linux) to bring up the command palette
Preferences: Open Configuration File
Directly editing the user settings
Sometimes, it is necessary to directly edit the configuration in another editor, for example, if a setting is inadvertently set that makes the editor unusable.
The configuration file,
configuration.json is in the Oni2 directory, whose location varies by operating system:
- On Unix-like operating systems such as Linux:
- On Windows,
true) - Allow Onivim to auto-detect indentation settings (tab vs space, indent size)
editor.fontFamily(string) - The font family used by the editor surface. This must be a monospace font. The font may be specified by either the name of the font, or an absolute path to the font file.
14) - The font size used by the editor surface.
1000) - The delay in milliseconds before showing the hover UI.
true) - Controls whether or not the hover UI is enabled.
true) - When
true, Onivim will turn off certain settings like syntax highlighting for large files.
"on") - Controls how line numbers are rendered on the editor surface
- "on" - absolute line numbers are displayed
- "relative" - the absolute line number of the line with the cursor is displayed, other line numbers are shown relative. (This is helpful for motions in Vim!)
- "off" - do not render line numbers.
true) - Highlight bracket matches on the editor surface.
true) - Controls whether or not the minimap is rendered on the editor surface.
true) - Controls where or not a slider representing the current viewport is shown on the minimap.
80) - Sets the maximum column that will be rendered in the minimap. By default, we size the minimap proportionally to the editor surface - this puts a constraint on that size.
true) - When
true, the Onivim will use spaces for indentation as opposed to tabs.
editor.rulers(list of int default:
) - Render vertical rulers at given columns.
"One Dark Pro") - Color theme to use.
2) - Indentation of the tree explorer.
false) - Whether rendering should sync with vertical retrace of the monitor. VSync adds input latency, as rendering must sync with the refresh rate of the monitor, but it reduces screen tearing.
true) - Use drop-shadows in the rendering of menus, overlays, etc.
1.0) - Zoom setting for UI. Factor to scale UI elements. A value of
2.0will scale the UI by 200%.
["yank", "paste", "delete"]default:
["yank"])__ - Whether or not deletes / yanks should integrate with the system clipboard:
true- all deletes and yanks, regardless of register used, will be pushed to the system clipboard. Equivalent to
["yank", "paste", "delete"].
["yank", "paste", "delete"]- An array of strings. Each specified operation will always use the system clipboard. For example,
["yank"]will send all yanks to the system clipboard, but deletes and pastes will require using the
["delete", "paste"]means that all deletes will be sent to the system clipboard, and pastes using the unnamed register will come from the system clipboard, but only yanks with register
*would be sent to the clipboard.
false- only deletes / yanks using the
*registers will be pushed to the system clipboard. Equivalent to
High-DPI / UI Scaling
Onivim 2 should automatically pick up your scaling settings via the following per-platform strategies:
- Windows: On 8.1+, we use the 'scale factor' of the display device.
- OSX: - High-DPI / retina displays are automatically detected.
- Linux: - The
GDK_SCALEenvironment variable is used, if available.
If the display scaling is not correct, you can override by using the
--force-device-scale-factor command-line argument, like:
NOTE: Due to a current limitation in Revery, fractional scaling is not yet supported
Experimental features are features that we are working to stabilize and turn on-by-default.
NOTE: Experimental features may cause instability, like crashes. Use with caution!
experimental.merlin- (bool default:
false) - Use built-in merlin integration. Merlin must be in your
PATHor included in your
esyconfiguration. This is a precursor to more broad language support (ie, VSCode extension host integrations).
experimental.viml- (string|list of string default:
) - Execute some VimL upon load. Example:
"experimental.viml": ["nnoremap ; :"]
NOTE: The full set and scope of VimL compatibility is not currently tested. We are still working to enable test cases in
libvim. Use at your own risk, in the meantime!