Nev

List of (most) settings

For examples and default values see here

Key Type Default Description
debug.draw-text-chunks bool false GUI only: Highlight text chunks
debug.log-text-render-time bool false Log how long it takes to generate the render commands for a text editor.
editor.base-modes string[] [“editor”] List of input modes which are always active (at the lowest priority).
editor.clear-input-history-delay int 3000 After how many milliseconds of no input the input history is cleared.
editor.close-unused-documents-timer int 10 How often the editor will check for unused documents and close them, in seconds.
editor.command-line-mode-high string “command-line-high” Global mode to apply while the command line is open.
editor.command-line-mode-low string “command-line-low” Global mode to apply while the command line is open.
editor.command-line-result-mode-high string “command-line-result-high” Global mode to apply while the command line is open showing a command result.
editor.command-line-result-mode-low string “command-line-result-low” Global mode to apply while the command line is open showing a command result.
editor.custom-mode-on-top bool true If true then the app mode event handler (if the app mode is not “”) will be on top of the event handler stack, otherwise it will be at the bottom (but still above the “editor” event handler.
editor.insert-input-delay int 150 After how many milliseconds of no input a pending input gets inserted as text, if you bind a key which inserts text in e.g. a multi key keybinding aswell. Say you bind jj to exit insert mode, then if you press j once and wait for this delay then it will insert j into the document, but if you press j again it will will exit insert mode instead. If you press another key like k before the time ends it will immediately insert the j and the k.
editor.keep-session-history bool true If true then the editor will keep a history of opened sessions in home://.nev/sessions.json, which enables features like opening a recent session or opening the last session.
editor.max-search-result-display-len int 1000 Max length of each individual search result (search results are cut off after this value).
editor.max-search-results int 1000 Max number of search results returned by global text based search.
editor.open-session.args JsonNodeEx[] | null null Command arguments to use when opening a session in a new window.
editor.open-session.command string | null null Command to use when opening a session in a new window.
editor.open-session.use-multiplexer bool true If true then Nev will detect if it’s running inside a multiplexer like tmux, zellij or wezterm (by using environment variables) and if so opening a session will use the command editor.open-session.tmux or editor.open-session.zellij or editor.open-session.wezterm
editor.print-statistics-on-shutdown bool false If true the editor prints memory usage statistics when quitting.
editor.prompt-before-quit bool false If true then you will be prompted to confirm quitting even when no unsaved changes exist.
editor.record-input-history bool false Whether the editor shows a history of the last few pressed buttons in the status bar.
editor.save-in-session bool true Any editor with this set to true will be stored in the session and restored on startup.
editor.watch-app-config bool true Watch the config files in the app directory and automatically reload them when they change.
editor.watch-theme bool true Watch the theme directory for changes to the theme.
editor.watch-user-config bool true Watch the config files in the user directory and automatically reload them when they change.
editor.watch-workspace-config bool true Watch the config files in the workspace directory and automatically reload them when they change.
lsp-merge.timeout int 10000 Timeout for LSP requests in milliseconds
selector.base-mode string “popup.selector”  
terminal.base-mode string “terminal” Input mode which is always active while a terminal view is active.
terminal.default-mode string ”” Input mode to activate when creating a new terminal, if no mode is specified otherwise.
terminal.idle-threshold int 500 After how many milliseconds of no data received from a terminal it is considered idle, and can be reused for running more commands.
text.auto-reload bool false If true then files will be automatically reloaded when the content on disk changes (except if you have unsaved changes).
text.choose-cursor-max int 300 Maximum number of locations to highlight choose cursor mode.
text.code-actions.sign string “⚑” Character to use as sign for lines where code actions are available. Empty string or null means no sign will be shown for code actions.
text.code-actions.sign-color string “info” What color the sign for code actions should be. Can be a theme color name or hex code (e.g. #12AB34).
text.code-actions.sign-width int 1 How many columns the sign occupies.
text.color-highlight.enable bool false Add colored inlay hints before any occurance of a string representing a color. Color detection is configured per language in text.color-highlight.{language-id}.
text.color-highlight.kind “hex” | “float1” | “float255” “hex” How to interpret the number. “hex” means the number is written as either 6 or 8 hex characters, e.g. ABBACA7. “float1” means the number is a float with 0 being black and 1 being white. “float255” means the number is a float or int with 0 being black and 255 being white.
text.color-highlight.regex regex ”#([0-9a-fA-F]{6})|#([0-9a-fA-F]{8})” Regex used to find colors. Use capture groups to match one or more numbers within a color definition, depending on the kind.
text.completion-mode string “editor.text.completion” Mode to activate while completion window is open.
text.completion-word-chars (string | string[])[] [[“a”,”z”],[“A”,”Z”],[“0”,”9”],”_”]  
text.context-lines bool true Show lines containing parent nodes (like function, type, if/for etc) at the top of the window.
text.control-click-command string “goto-definition” Command to run after control clicking on some text.
text.control-click-command-args any [] Arguments to the command which is run when control clicking on some text.
text.cursor-margin float 0.15 How far from the edge to keep the cursor, either percentage of screen height (0-1) or number of lines, depending on text.cursor-margin-relative.
text.cursor-margin-relative bool true Whether text.cursor-margin is relative to the screen height (0-1) or an absolute number of lines.
text.default-mode string ”” Default mode to set when opening/creating text documents.
text.diagnostics.enable bool true Enable diagnostics. Also requires a language server which supports diagnostics.
text.diagnostics.snapshot-history int 5 How many snapshots to keep when editing. Snapshots are used to fix up diagnostic locations when receiving diagnostics for an older version of the document (e.g when you continue editing and the languages doesn’t respond fast enough). You might want to increase this if you are using a language server which is very slow and you want diagnostics to show up even when you’re actively typing (diagnostics received for old document versions are discarded).
text.diff-reload.enable bool true When reloading a file the editor will compute the diff between the file on disk and the in memory document, and then apply the diff to the in memory version so it matches the content on disk. This can reduce memory usage when reloading files often (although it increases memory usage while reloading and increases load times). It’s also better for collaboration as it doesn’t affect the entire file.
text.diff-reload.timeout int 250 Max number of milliseconds to use for diffing. If the timeout is exceeded then the file will be reloaded normally.
text.double-click-command string “extend-select-move” Command to run after double clicking on some text.
text.double-click-command-args any [“word”,true] Arguments to the command which is run when double clicking on some text.
text.formatter.command string[] [] Command to run. First entry is path to the formatter program, subsequent entries are passed as arguments to the formatter.
text.formatter.on-save bool false If true run the formatter when saving.
text.highlight-matches.delay int 250 How long after moving the cursor matching text is highlighted.
text.highlight-matches.enable bool true Enable highlighting of text matching the current selection or word containing the cursor (if the selection is empty).
text.highlight-matches.max-file-size int 104857600 Don’t highlight matching text in files above this size (in bytes).
text.highlight-matches.max-selection-length int 1024 Don’t highlight matching text if the selection spans more bytes than this.
text.highlight-matches.max-selection-lines int 5 Don’t highlight matching text if the selection spans more lines than this.
text.hover-delay int 200 How many milliseconds after hovering a word the lsp hover request is sent.
text.inclusive-selection bool false Specifies whether a selection includes the character after the end cursor. If true then a selection like (0:0…0:4) with the text “Hello world” would select “Hello”. If false then the selected text would be “Hell”. If you use Vim motions then the Vim plugin manages this setting.
text.indent “tabs” | “spaces” “spaces” Whether to used spaces or tabs for indentation. When indent detection is enabled then this only specfies the default for new files and files where the indentation type can’t be detected automatically.
text.indent-after string[] | null null When you insert a new line, if the current line ends with one of these strings then the new line will be indented.
text.indent-detection.enable bool true Enable auto detecting the indent style when opening files.
text.indent-detection.samples int 50 How many indent characters to process when detecting the indent style. Increase this if it fails for files which start with many unindented lines.
text.indent-detection.timeout int 20 Max number of milliseconds to spend trying to detect the indent style.
text.line-comment string | null null String which starts a line comment
text.mode-changed-handler-command string ”” Command to execute when the mode of the text editor changes
text.modes string[] [“editor.text”] List of input modes text editors.
text.scroll-to-change-on-reload “first” | “last” | null null If not null then scroll to the changed region when a file is reloaded.
text.scroll-to-end-on-insert bool false If true then scroll to the end of the file when text is inserted at the end and the cursor is already at the end.
text.search-regexes.goto-declaration regex | null null Regex to use when using the goto-declaration feature.
text.search-regexes.goto-definition regex | null null Regex to use when using the goto-definition feature.
text.search-regexes.goto-implementation regex | null null Regex to use when using the goto-implementation feature.
text.search-regexes.goto-references regex | null null Regex to use when using the goto-references feature.
text.search-regexes.goto-type-definition regex | null null Regex to use when using the goto-type-definition feature.
text.search-regexes.rg-language string | null null Override the ripgrep language name. By default the documents language id is used.
text.search-regexes.show-only-matching-part bool true If true then the search results will only show the part of a line that matched the regex. If false then the entire line is shown.
text.search-regexes.symbols regex | null null Regex to use when using the symbols feature.
text.search-regexes.workspace-symbols regex | null null Regex to use when using the workspace-symbols feature.
text.search-regexes.workspace-symbols-by-kind { [key: string]: regex } | null null Regex to use when using the workspace-symbols feature. Keys are LSP symbol kinds, values are the corresponding regex.
text.search-workspace-regex-max-results int 50000 Maximum number of results to display for regex based workspace symbol search.
text.signs.max-width int | null 2 If show is auto then this is the max width of the sign column, if show is yes then this is the exact width.
text.signs.show “auto” | “yes” | “no” | “number” “number” Defines how the sign column is displayed. - auto: Signs are next to line numbers, width is based on amount of signs in a line. - yes: Signs are next to line numbers and sign column is always visible. Width is defined in max-width - no: Don’t show the sign column - number: Show signs instead of the line number, no extra sign column.
text.single-click-command string ”” Command to run after single clicking on some text.
text.single-click-command-args any [] Arguments to the command which is run when single clicking on some text.
text.tab-width int 4 How many characters wide a tab is.
text.treesitter.enable bool true Enable parsing code into ASTs using treesitter. Also requires a treesitter parser for a specific language.
text.treesitter.language string | null null Override the language name used for choosing the treesitter parser. If not set then the documents language id is used.
text.treesitter.path string | null null Override the path to the treesitter parser (.dll/.so/.wasm). By default
text.treesitter.queries string | null null Path relative to the repository root where queries are located. If not set then the editor will look for the queries.
text.treesitter.repository string | null null Path relative to the repository root where queries are located. If not set then the editor will look for the queries.
text.trim-trailing-whitespace.enabled bool true If true trailing whitespace is deleted when saving files.
text.trim-trailing-whitespace.max-size int 1000000 Don’t trim trailing whitespace when filesize is above this limit.
text.triple-click-command string “extend-select-move” Command to run after triple clicking on some text.
text.triple-click-command-args any [“line”,true] Arguments to the command which is run when triple clicking on some text.
text.wrap-lines bool true Enable line wrapping.
text.wrap-margin int 1 How many characters from the right edge to start wrapping text.
ui.background.inactive-brightness-change float -0.025 How much to change the brightness for inactive views.
ui.background.transparent bool false If true the background is transparent.
ui.cursor-trail-length int 2 How long the cursor trail is. Set to 0 to disable cursor trail.
ui.cursor-trail-speed float 100.0 How fast to interpolate the cursor trail position when moving the cursor. Higher means faster.
ui.hide-tab-bar-when-single bool false When true then tab layouts don’t render a tab bar when they only have one tab.
ui.indent-guide bool true Enable indent guides to show the indentation of the current line.
ui.line-numbers “none” | “absolute” | “relative” “absolute” How line numbers should be displayed.
ui.max-views int 2 Maximum number of views (files or other UIs) which can be shown.
ui.scroll-speed float 50.0 How many pixels (or rows in the terminal) to scroll per scroll wheel tick.
ui.smooth-scroll bool true Enable smooth scrolling.
ui.smooth-scroll-snap-threshold float 0.5 Percentage of screen height at which the smooth scroll offset will be snapped to the target location. E.g. if this is 0.5, then if the smooth scroll offset if further from the target scroll offset than 50% of the screen height then the smooth scroll offset will instantly jump to the target scroll offset (-50% of the screen height). This means that the smooth scrolling will not take time proportional to the scroll distance for jumps bigger than the screen height.
ui.smooth-scroll-speed float 15.0 How fast smooth scrolling interpolates.
ui.syntax-highlighting bool true Enable syntax highlighting.
ui.tab-header-width int 30 Width of tab layout headers in characters
ui.theme string “app://themes/tokyo-night-color-theme.json” VFS path of the theme.
ui.toast-duration int 8000 How long toasts are displayed for, in milliseconds.
ui.which-key-delay int 250 After how many milliseconds the which key window opens.
ui.which-key-height int 6 How many rows tall the window showing next possible inputs should be.
ui.which-key-no-progress bool false If true then the window showing next possible inputs will be displayed even when no keybinding is in progress (i.e. it will always be shown).
ui.whitespace-char string “·” Character to use when rendering whitespace. If this is the empty string or not set then spaces are not rendered.
ui.whitespace-color string “comment” Color of rendered whitespace. Can be a theme key or hex color (e.g #ff00ff).