### Install neov-ime.nvim with Lazy.nvim Source: https://neovide.dev/faq.html Install the `neov-ime.nvim` plugin for IME handling using Lazy.nvim. This snippet shows the minimal configuration required for installation. ```lua return { "sevenc-nanashi/neov-ime.nvim", } ``` -------------------------------- ### Install Neovide with Scoop Source: https://neovide.dev/installation.html Use Scoop to install Neovide from the 'extras' bucket. Ensure the 'extras' bucket is added to your Scoop configuration. ```bash $ scoop bucket list main extras $ scoop install neovide ``` -------------------------------- ### Install Neovide with Pacman Source: https://neovide.dev/installation.html Install the stable Neovide release using Pacman from the extra repository. Ensure you have 'libxkbcommon-x11' installed if running Neovide on X11. ```bash pacman -S neovide ``` ```bash pacman -S libxkbcommon-x11 ``` -------------------------------- ### Install X11 library for Neovide on Arch Linux Source: https://neovide.dev/print.html Installs the libxkbcommon-x11 library, which is required for running Neovide on X11 environments on Arch Linux. ```bash pacman -S libxkbcommon-x11 ``` -------------------------------- ### Install Rust for Building Neovide Source: https://neovide.dev/installation.html Install Rust using the official rustup script. This is a prerequisite for building Neovide from source on most platforms. ```bash curl --proto '=https' --tlsv1.2 -sSf "https://sh.rustup.rs" | sh ``` -------------------------------- ### Install Dependencies for Neovide on Ubuntu/Debian Source: https://neovide.dev/installation.html Install the necessary development dependencies for building Neovide on Ubuntu or Debian-based systems using apt. ```bash sudo apt install -y curl \ gnupg ca-certificates git \ gcc-multilib g++-multilib cmake libssl-dev pkg-config \ libfreetype6-dev libasound2-dev libexpat1-dev libxcb-composite0-dev \ libbz2-dev libsndio-dev freeglut3-dev libxmu-dev libxi-dev libfontconfig1-dev \ libxcursor-dev ``` -------------------------------- ### Install Neovide with Homebrew Cask Source: https://neovide.dev/installation.html Install Neovide using Homebrew Cask. This command installs the Neovide application bundle. ```bash brew install --cask neovide ``` -------------------------------- ### Install Neovide using Pacman (Arch Linux) Source: https://neovide.dev/print.html Installs the stable Neovide package from the Arch Linux repositories using Pacman. Requires the 'extra' repository to be enabled. ```bash pacman -S neovide ``` -------------------------------- ### Install Dependencies for Neovide on Fedora Source: https://neovide.dev/installation.html Install the necessary development dependencies for building Neovide on Fedora using dnf. ```bash sudo dnf install fontconfig-devel freetype-devel @development-tools \ libstdc++-static libstdc++-devel ``` -------------------------------- ### Build Neovide from Source with Cargo (Windows) Source: https://neovide.dev/installation.html Build and install Neovide from its GitHub repository using Cargo. This method requires Rust, CMake, and LLVM to be installed. ```bash cargo install --git https://github.com/neovide/neovide.git ``` -------------------------------- ### Prepare Tracy for Data Collection Source: https://neovide.dev/troubleshooting.html Start the Tracy capture tool to begin collecting profiling data. It will wait for Neovide to connect and start sending data. ```bash tracy-capture -o [log-file-path] ``` -------------------------------- ### Launch Neovim on a Unix Domain Socket Source: https://neovide.dev/features.html Starts Neovim as a headless instance listening on a Unix Domain Socket. This is a more secure alternative to TCP for local connections on Unix-like systems. ```bash nvim --headless --listen some-existing-dir/my-nvim-instance.sock ``` -------------------------------- ### Install Dependencies for Neovide on Arch Linux Source: https://neovide.dev/installation.html Install the necessary development dependencies for building Neovide on Arch Linux using pacman. Note that an AUR package already exists. ```bash sudo pacman -S base-devel fontconfig freetype2 libglvnd sndio cmake \ git gtk3 python sdl2 vulkan-intel libxkbcommon-x11 ``` -------------------------------- ### Build Neovide from Source using Cargo (macOS) Source: https://neovide.dev/print.html Clones the Neovide repository, builds it using Cargo, and installs it. Requires Rust, CMake, and Git. The binary will be in ~/.cargo/bin. ```bash git clone https://github.com/neovide/neovide cd neovide cargo install --path . ``` -------------------------------- ### Build Neovide from Source with Cargo (Linux/macOS) Source: https://neovide.dev/installation.html Fetch and build Neovide from its GitHub repository using Cargo. This method requires Rust and other development tools to be installed. ```bash cargo install --git https://github.com/neovide/neovide ``` -------------------------------- ### Basic Font Configuration with Features Source: https://neovide.dev/print.html Configure the primary font and enable specific font features. Ensure the font is installed on your system. ```toml __ [font] normal = ["MonoLisa Nerd Font"] size = 18 [font.features] "MonoLisa Nerd Font" = [ "+ss01", "+ss07", "+ss11", "-calt", "+ss09", "+ss02", "+ss14" ] ``` -------------------------------- ### Reuse Existing Neovide Instance Source: https://neovide.dev/print.html Forwards file-open requests to a running instance instead of starting a new one. Falls back to normal startup if no handoff listener is active. This is skipped when `--server` is set. ```bash --reuse-instance ``` -------------------------------- ### Display Neovide Version Source: https://neovide.dev/command-line-reference.html Prints the current version of Neovide. Use this to check your installed version. ```bash --version -V ``` -------------------------------- ### Launch Neovim on a Named Pipe Source: https://neovide.dev/features.html Starts Neovim as a headless instance listening on a Named Pipe. This method is specific to Windows systems for inter-process communication. ```bash nvim --headless --listen //./pipe/some-known-pipe-name/with-optional-path ``` -------------------------------- ### Add Neovide to NixOS System Packages Source: https://neovide.dev/installation.html Configure Neovide to be installed system-wide on NixOS by adding it to 'environment.systemPackages' in your 'configuration.nix' file. ```nix environment.systemPackages = with pkgs; [ neovide ]; ``` -------------------------------- ### Set Neovim Working Directory Source: https://neovide.dev/print.html Starts Neovim in the specified working directory. This affects relative path resolution for files and the initial working directory for Neovim instances and terminals. ```bash --chdir or $NEOVIDE_CHDIR ``` -------------------------------- ### Get Neovide channel information (Lua) Source: https://neovide.dev/configuration.html Inspect detailed channel information for Neovide using 'vim.api.nvim_get_chan_info' and 'vim.g.neovide_channel_id'. ```Lua lua vim.print(vim.api.nvim_get_chan_info(vim.g.neovide_channel_id)) ``` -------------------------------- ### Adjust Neovide Opacity at Runtime Source: https://neovide.dev/faq.html Modify the window opacity at runtime on macOS using `g:neovide_opacity` and optionally `g:neovide_normal_opacity`. This example binds Command-`]`/`[` to adjust opacity. ```vimscript let g:neovide_opacity = 0.8 function! ChangeTransparency(delta) let g:neovide_opacity = g:neovide_opacity + a:delta if g:neovide_opacity > 1 let g:neovide_opacity = 1 elseif g:neovide_opacity < 0 let g:neovide_opacity = 0 endif endfunction nnoremap :call ChangeTransparency(0.01) nnoremap :call ChangeTransparency(-0.01) ``` -------------------------------- ### Configure Neovide Scale Factor Source: https://neovide.dev/faq.html Adjust the UI scaling in Neovide using the `g:neovide_scale_factor` option, which multiplies the OS scale factor and font size. This example sets up keybindings to increase or decrease the scale factor. ```vimscript let g:neovide_scale_factor=1.0 function! ChangeScaleFactor(delta) let g:neovide_scale_factor = g:neovide_scale_factor * a:delta endfunction nnoremap ChangeScaleFactor(1.25) nnoremap ChangeScaleFactor(1/1.25) ``` -------------------------------- ### Enable Proxy Icon Source: https://neovide.dev/print.html Exposes the current file as a native macOS window proxy icon in the title bar and reflects the current buffer's modified state. Recommended setup is --frame full with titles enabled. ```VimScript let g:neovide_proxy_icon = v:true ``` ```Lua vim.g.neovide_proxy_icon = true ``` -------------------------------- ### Run Neovide with Profiling Source: https://neovide.dev/troubleshooting.html Launch Neovide with profiling enabled to reproduce performance issues. This command will build Neovide if it hasn't been built with profiling flags already. ```bash cd [neovide-source-dir] cargo run --profile profiling --features profiling -- [neovide-arguments...] ``` -------------------------------- ### Display Neovide Help Information Source: https://neovide.dev/command-line-reference.html Prints details about Neovide's command-line options. This serves as a help page for available arguments. ```bash --help -h ``` -------------------------------- ### Get Neovide version (Lua) Source: https://neovide.dev/configuration.html Retrieve the current Neovide version using the 'vim.g.neovide_version' global variable. ```Lua vim.print(vim.g.neovide_version) ``` -------------------------------- ### Open Files in New Window of Existing Instance Source: https://neovide.dev/print.html When used with `--reuse-instance`, requests the running instance to create a new OS window for opening files. Falls back to normal startup if no handoff listener is running. ```bash --new-window ``` -------------------------------- ### Get Neovide version (VimScript) Source: https://neovide.dev/configuration.html Retrieve the current Neovide version using the 'g:neovide_version' global variable. ```VimScript echo g:neovide_version ``` -------------------------------- ### Hide Neovide Window Title on macOS Source: https://neovide.dev/command-line-reference.html Hides the window title bar specifically on macOS. This option is available starting from version 0.12.2. ```bash --title-hidden $NEOVIDE_TITLE_HIDDEN ``` -------------------------------- ### Build Neovide Application Bundle for macOS Source: https://neovide.dev/installation.html Build a macOS application bundle and DMG disk image for Neovide. This requires cloning the repository and running the provided build script. ```bash GENERATE_BUNDLE_APP=true GENERATE_DMG=true ./macos-builder/run ``` ```bash open ./target/release/bundle/osx/Neovide.dmg ``` -------------------------------- ### Launch Neovim as a TCP server Source: https://neovide.dev/features.html Launches Neovim as a headless TCP server on localhost. This is useful for connecting a local Neovide instance to a remote Neovim process. ```bash nvim --headless --listen localhost:6666 ``` -------------------------------- ### Connect to Neovide Server Source: https://neovide.dev/command-line-reference.html Use the --server argument or NEOVIDE_SERVER environment variable to connect to a specified named pipe or socket address. ```bash __ --server
or $NEOVIDE_SERVER=
``` -------------------------------- ### Bring Neovide Window to Front Source: https://neovide.dev/commands.html Brings the Neovide platform window to the front and activates it. Useful for remote control tools or long-running tasks. ```vim NeovideFocus ``` -------------------------------- ### Connect Neovide to a Unix Domain Socket Source: https://neovide.dev/features.html Connects the Neovide GUI to a Neovim instance that is listening on a Unix Domain Socket. The path to the socket file must be provided. ```bash /path/to/neovide --server=some-existing-dir/my-nvim-instance.sock ``` -------------------------------- ### Enable Proxy Icon Source: https://neovide.dev/configuration.html Exposes the current file as a proxy icon in the macOS title bar and reflects the buffer's modified state. Recommended setup includes --frame full with titles enabled. ```VimScript let g:neovide_proxy_icon = v:true ``` ```Lua vim.g.neovide_proxy_icon = true ``` -------------------------------- ### Publish neovide-derive Crate Source: https://neovide.dev/print.html Publish the neovide-derive crate to crates.io if necessary. ```bash cargo publish -p neovide-derive ``` -------------------------------- ### Configure System-Wide Hotkeys (TOML) Source: https://neovide.dev/configuration.html Set system-wide hotkeys for Neovide within the `config.toml` file. This is an alternative to using environment variables. ```toml system-pinned-hotkey = "ctrl+shift+z" system-switcher-hotkey = "ctrl+shift+n" ``` -------------------------------- ### Maximize Neovide Window on Startup Source: https://neovide.dev/command-line-reference.html Maximizes the Neovide window upon launch, while keeping OS decorations and status bar visible. This differs from exclusive fullscreen. Cannot be used with `--size` or `--grid`. ```bash --maximized $NEOVIDE_MAXIMIZED ``` -------------------------------- ### Connect Neovide to a TCP server Source: https://neovide.dev/features.html Connects the Neovide GUI to a running Neovim instance that is exposed via TCP. Ensure the server address is correctly specified. ```bash /path/to/neovide --server=localhost:6666 ``` -------------------------------- ### Set Initial Neovide Window Size Source: https://neovide.dev/command-line-reference.html Sets the initial dimensions of the Neovide window in pixels. Cannot be used with `--maximized` or `--grid`. ```bash --size=x $NEOVIDE_SIZE=x ``` -------------------------------- ### Set System-Wide Hotkeys via Environment Variables Source: https://neovide.dev/print.html Configures system-wide hotkeys for Neovide's pinned window toggle and switcher using launchctl setenv. ```Shell launchctl setenv NEOVIDE_SYSTEM_PINNED_HOTKEY "ctrl+shift+z" launchctl setenv NEOVIDE_SYSTEM_SWITCHER_HOTKEY "ctrl+shift+n" ``` -------------------------------- ### Open Neovide Configuration File Source: https://neovide.dev/commands.html Opens the Neovide configuration file for editing, providing easy access to settings without needing to know the file path. ```vim NeovideConfig ``` -------------------------------- ### Configure IME Input with Auto Commands (Lua) Source: https://neovide.dev/configuration.html Use Lua to create auto commands for dynamically managing IME input based on Neovim events. ```lua local function set_ime(args) if args.event:match("Enter$") then vim.g.neovide_input_ime = true else vim.g.neovide_input_ime = false end end local ime_input = vim.api.nvim_create_augroup("ime_input", { clear = true }) vim.api.nvim_create_autocmd({ "InsertEnter", "InsertLeave" }, { group = ime_input, pattern = "*", callback = set_ime }) vim.api.nvim_create_autocmd({ "CmdlineEnter", "CmdlineLeave" }, { group = ime_input, pattern = "[/\\?]", callback = set_ime }) ``` -------------------------------- ### Remember Window Size Source: https://neovide.dev/configuration.html Determines whether Neovide should use the window size from the previous session on startup. The --size commandline option takes precedence. ```VimScript let g:neovide_remember_window_size = v:true ``` ```Lua vim.g.neovide_remember_window_size = true ``` -------------------------------- ### Connect Neovide to a Named Pipe Source: https://neovide.dev/features.html Connects the Neovide GUI to a Neovim instance listening on a Named Pipe. The pipe name is provided as the server argument. ```bash /path/to/neovide --server=some-known-pipe-name/with-optional-path ``` -------------------------------- ### Remember Window Size Source: https://neovide.dev/print.html Determines whether the window size from the previous session or the default size will be used on startup. The commandline option --size will take priority over this value. ```VimScript let g:neovide_remember_window_size = v:true ``` ```Lua vim.g.neovide_remember_window_size = true ``` -------------------------------- ### Configure Floating Window Shadow and Lighting (Lua) Source: https://neovide.dev/configuration.html Enables/disables shadows for floating windows and configures lighting properties like angle and radius. g:neovide_floating_z_height sets the virtual height. ```Lua vim.g.neovide_floating_shadow = true vim.g.neovide_floating_z_height = 10 vim.g.neovide_light_angle_degrees = 45 vim.g.neovide_light_radius = 5 ``` -------------------------------- ### Bring Neovide Window to Front Source: https://neovide.dev/print.html Activates and brings the Neovide platform window to the foreground. Useful for remote control or after long-running tasks. ```VimScript :NeovideFocus ``` -------------------------------- ### Run Neovim from WSL Source: https://neovide.dev/print.html Executes Neovim from within the Windows Subsystem for Linux (WSL) environment instead of as a standard executable. ```bash --wsl ``` -------------------------------- ### Neovide TOML Configuration Settings Source: https://neovide.dev/print.html This snippet shows the available settings in the Neovide TOML configuration file, including their default values and comments explaining their usage. Some settings are mutually exclusive. ```toml backtraces-path = "/path/to/neovide_backtraces.log" # see below for the default platform specific location chdir = "/path/to/dir" fork = false frame = "full" # grid = "420x240" # mutually exclusive with `size` and `maximized` # size = "1200x800" # mutually exclusive with `grid` and `maximized` idle = true icon = "/full/path/to/neovide.ico" # Example path. Default icon is bundled. Use .icns on macOS. maximized = false mouse-cursor-icon = "arrow" neovim-bin = "/usr/bin/nvim" # in reality found dynamically on $PATH if unset no-multigrid = false opengl = false # macOS/Windows only # server = "/tmp/nvim.sock" # or "127.0.0.1:7777" srgb = false # platform-specific: false (Linux/macOS) or true (Windows) tabs = true system-native-tabs = false # macOS only system-pinned-hotkey = "cmd+ctrl+z" # macOS only, requires system-native-tabs = true system-switcher-hotkey = "cmd+ctrl+n" # macOS only, requires system-native-tabs = true system-new-window-hotkey = "cmd+n" # macOS only system-hide-hotkey = "cmd+h" # macOS only system-hide-others-hotkey = "cmd+alt+h" # macOS only system-quit-hotkey = "cmd+q" # macOS only system-minimize-hotkey = "cmd+m" # macOS only system-fullscreen-hotkey = "cmd+ctrl+f" # macOS only system-show-all-tabs-hotkey = "cmd+shift+e" # macOS only system-tab-prev-hotkey = "cmd+shift+[" # macOS only system-tab-next-hotkey = "cmd+shift+]" # macOS only title-hidden = false vsync = true # wayland-app-id = "neovide" wsl = false # x11-wm-class = "neovide" # x11-wm-class-instance = "neovide" [font] normal = [] # Will use the bundled Fira Code Nerd Font by default size = 14.0 [box-drawing] # "font-glyph", "native" or "selected-native" mode = "font-glyph" [box-drawing.sizes] default = [2, 4] # Thin and thick values respectively, for all sizes ``` -------------------------------- ### Publish neovide Crate Source: https://neovide.dev/print.html Publish the main neovide crate to crates.io. ```bash cargo publish -p neovide ``` -------------------------------- ### Map Leader Key to NeovideForceClick (Vimscript) Source: https://neovide.dev/commands.html Maps a leader key shortcut to the `NeovideForceClick` command using Vimscript. ```vimscript nnoremap k :NeovideForceClick ``` -------------------------------- ### Specify Neovim Binary Location Source: https://neovide.dev/command-line-reference.html Use --neovim-bin or the NEOVIM_BIN environment variable to set the path to the Neovim executable. If unset, Neovide searches the PATH. ```bash __ --neovim-bin or $NEOVIM_BIN ``` -------------------------------- ### Neovide Configuration Settings Source: https://neovide.dev/config-file.html This snippet shows the available settings in the Neovide TOML configuration file, including default values. Some settings are mutually exclusive and cannot be used together. ```toml backtraces-path = "/path/to/neovide_backtraces.log" # see below for the default platform specific location chdir = "/path/to/dir" fork = false frame = "full" # grid = "420x240" # mutually exclusive with `size` and `maximized` # size = "1200x800" # mutually exclusive with `grid` and `maximized` idle = true icon = "/full/path/to/neovide.ico" # Example path. Default icon is bundled. Use .icns on macOS. maximized = false mouse-cursor-icon = "arrow" neovim-bin = "/usr/bin/nvim" # in reality found dynamically on $PATH if unset no-multigrid = false opengl = false # macOS/Windows only # server = "/tmp/nvim.sock" # or "127.0.0.1:7777" srgb = false # platform-specific: false (Linux/macOS) or true (Windows) tabs = true system-native-tabs = false # macOS only system-pinned-hotkey = "cmd+ctrl+z" # macOS only system-switcher-hotkey = "cmd+ctrl+n" # macOS only, requires system-native-tabs = true system-new-window-hotkey = "cmd+n" # macOS only system-hide-hotkey = "cmd+h" # macOS only system-hide-others-hotkey = "cmd+alt+h" # macOS only system-quit-hotkey = "cmd+q" # macOS only system-minimize-hotkey = "cmd+m" # macOS only system-fullscreen-hotkey = "cmd+ctrl+f" # macOS only system-show-all-tabs-hotkey = "cmd+shift+e" # macOS only system-tab-prev-hotkey = "cmd+shift+[" # macOS only system-tab-next-hotkey = "cmd+shift+]" # macOS only title-hidden = false vsync = true # wayland-app-id = "neovide" wsl = false # x11-wm-class = "neovide" # x11-wm-class-instance = "neovide" [font] normal = [] # Will use the bundled Fira Code Nerd Font by default size = 14.0 [box-drawing] # "font-glyph", "native" or "selected-native" mode = "font-glyph" [box-drawing.sizes] default = [2, 4] # Thin and thick values respectively, for all sizes ``` -------------------------------- ### Configure Window Identification (Linux/Unix) Source: https://neovide.dev/command-line-reference.html On Linux/Unix systems, these options customize window identification for Wayland and X11 environments. ```bash __ --wayland-app-id or $NEOVIDE_APP_ID --x11-wm-class-instance or $NEOVIDE_WM_CLASS_INSTANCE --x11-wm-class or $NEOVIDE_WM_CLASS ``` -------------------------------- ### Enable Smooth Cursor Blinking (Lua) Source: https://neovide.dev/configuration.html Enables smooth animation for cursor blinking. Requires `guicursor` to be configured for blinking. ```Lua vim.g.neovide_cursor_smooth_blink = false ``` -------------------------------- ### Configure sRGB Support Source: https://neovide.dev/print.html Requests sRGB support for the window. The command-line parameter takes precedence over the environment variable. Behavior and default settings vary between Windows and macOS, with specific notes on color space and potential issues. ```bash --no-srgb, --srgb $NEOVIDE_SRGB=0|1 ``` -------------------------------- ### Build Frozen Source: https://neovide.dev/print.html Build the project using the frozen lockfile to ensure consistency with the published artifacts. ```bash cargo build --frozen ``` -------------------------------- ### Build and Add Lock File Source: https://neovide.dev/print.html Build the project and ensure the Cargo.lock file is updated and added to version control for reproducible releases. ```bash cargo build git add Cargo.lock ``` -------------------------------- ### Build Profiling Version of Neovide Source: https://neovide.dev/troubleshooting.html Build Neovide with profiling enabled to collect performance data. This requires specifying both --profile profiling and --features profiling during the build process. ```bash cd [neovide-source-dir] cargo build --profile profiling --features profiling ``` -------------------------------- ### Set Initial Neovide Grid Size Source: https://neovide.dev/command-line-reference.html Sets the initial character grid dimensions for the Neovide window. If not specified, it defaults to values from init.vim/lua. Cannot be used with `--size` or `--maximized`. ```bash --grid [x] $NEOVIDE_GRID=x ``` -------------------------------- ### Run Neovide with Nix Shell Source: https://neovide.dev/installation.html Temporarily run Neovide using Nix shell. This command pulls the 'neovide' package from nixpkgs. On non-NixOS systems, you might need to use nixGL as a wrapper. ```bash nix-shell -p neovide ``` -------------------------------- ### Map Leader Key to NeovideForceClick (Lua) Source: https://neovide.dev/commands.html Maps a leader key shortcut to the `NeovideForceClick` command using Lua in Neovim. ```lua vim.keymap.set("n", "k", "NeovideForceClick", { silent = true }) ``` -------------------------------- ### Show Window Border (Lua) Source: https://neovide.dev/configuration.html Toggles the display of a grey border around opaque windows. Defaults to true. ```Lua vim.g.neovide_show_border = true ``` -------------------------------- ### Set Neovide Frame Decoration Style Source: https://neovide.dev/command-line-reference.html Controls the window's frame decorations. Options include 'full', 'none', and platform-specific 'transparent' or 'buttonless'. Note that 'none' prevents window movement and resizing. ```bash --frame $NEOVIDE_FRAME= ``` -------------------------------- ### Enable Smooth Cursor Blinking (VimScript) Source: https://neovide.dev/configuration.html Enables smooth animation for cursor blinking. Requires `guicursor` to be configured for blinking. ```VimScript let g:neovide_cursor_smooth_blink = v:false ``` -------------------------------- ### Configure Window Corner Preference (Lua) Source: https://neovide.dev/configuration.html Sets the preferred style for window corners, which is supported on Windows. Options include 'default', 'round', 'round_small', and 'do_not_round'. ```Lua vim.g.neovide_corner_preference = "round" ``` -------------------------------- ### Configure macOS Option Key as Meta Source: https://neovide.dev/configuration.html Interprets 'Alt' + 'key' combinations as Meta key presses instead of sending special characters. Possible values are 'both', 'only_left', 'only_right', or 'none'. Defaults to 'none'. ```VimScript let g:neovide_input_macos_option_key_is_meta = 'only_left' ``` ```Lua vim.g.neovide_input_macos_option_key_is_meta = 'only_left' ``` -------------------------------- ### Set Window Opacity (Lua) Source: https://neovide.dev/configuration.html Sets the overall window opacity and the opacity for the normal background color. Values range from 0.0 (fully transparent) to 1.0 (fully opaque). ```Lua vim.g.neovide_opacity = 0.8 vim.g.neovide_normal_opacity = 0.8 ``` -------------------------------- ### Specify Neovim Binary Path Source: https://neovide.dev/print.html Sets the location of Neovim's executable. If not set, Neovide searches for `nvim` in the system's PATH. Ensure the binary has execute permissions. ```bash --neovim-bin or $NEOVIM_BIN ``` -------------------------------- ### Add Homebrew Binaries to PATH Source: https://neovide.dev/installation.html If Neovide is not found by your shell, add the Homebrew binary directory to your PATH environment variable. This command modifies the system's launchd configuration for user paths. ```bash sudo launchctl config user path "$(brew --prefix)/bin:${PATH}" ``` -------------------------------- ### Set Neovide Theme Source: https://neovide.dev/configuration.html Sets the background theme for the Neovide window. Options include 'auto', 'light', 'dark', and 'bg_color'. 'auto' mirrors the system theme. Available since 0.11.0. ```VimScript let g:neovide_theme = 'auto' ``` ```Lua vim.g.neovide_theme = 'auto' ``` -------------------------------- ### Enable Profiler Source: https://neovide.dev/print.html Enables the profiler, which shows a frametime graph in the upper left corner. Default is false. ```VimScript let g:neovide_profiler = v:false ``` ```Lua vim.g.neovide_profiler = false ``` -------------------------------- ### Connect Neovide to a forwarded Unix Domain Socket Source: https://neovide.dev/features.html Connects Neovide to a Neovim instance whose Unix Domain Socket has been forwarded over SSH. Use the local path of the forwarded socket. ```bash /path/to/neovide --server=/path/to/local/socket ``` -------------------------------- ### Basic Font Configuration Source: https://neovide.dev/config-file.html Configure the primary font and its features. Ensure the font family is correctly specified. ```toml [font] normal = ["MonoLisa Nerd Font"] size = 18 [font.features] "MonoLisa Nerd Font" = [ "+ss01", "+ss07", "+ss11", "-calt", "+ss09", "+ss02", "+ss14" ] ``` -------------------------------- ### Customize In-App Tab Navigation Shortcuts (TOML) Source: https://neovide.dev/configuration.html Configure in-app tab navigation shortcuts when `system-native-tabs` is enabled. These shortcuts only work when Neovide is focused. Set to `false` to disable. ```toml system-tab-prev-hotkey = "cmd+shift+[" system-tab-next-hotkey = "cmd+shift+]" ``` -------------------------------- ### Configure Window Frame Decorations Source: https://neovide.dev/print.html Control the window's frame decorations. Options include 'full' (default), 'none' (disables decorations, preventing window movement/resizing), and macOS-specific 'transparent' or 'buttonless' frames. ```bash --frame $NEOVIDE_FRAME ``` -------------------------------- ### Advanced Font Configuration with Styles and Fallbacks Source: https://neovide.dev/config-file.html Specify font weight and style using variable font weight notation (e.g., W400). Configure fallback fonts for different styles and weights. ```toml [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" ``` -------------------------------- ### Configure Floating Window Shadow and Lighting Source: https://neovide.dev/configuration.html Enables/disables shadows for floating windows and configures lighting properties like angle and radius. g:neovide_floating_z_height sets the virtual height. ```VimScript let g:neovide_floating_shadow = v:true let g:neovide_floating_z_height = 10 let g:neovide_light_angle_degrees = 45 let g:neovide_light_radius = 5 ``` -------------------------------- ### Enable Profiler Source: https://neovide.dev/configuration.html Enables the profiler, which displays a frametime graph in the upper-left corner of the Neovide window. ```VimScript let g:neovide_profiler = v:false ``` ```Lua vim.g.neovide_profiler = false ``` -------------------------------- ### Connect to Neovide Server Source: https://neovide.dev/print.html Connects to a named pipe or socket at the specified address. This is used for inter-process communication with a running Neovide instance. ```bash --server
or $NEOVIDE_SERVER=
``` -------------------------------- ### Register Right-Click Context Menu Item Source: https://neovide.dev/print.html Registers a right-click context menu item on Windows to open files with Neovide. Use NeovideUnregisterRightClick to undo. ```VimScript :NeovideRegisterRightClick ``` -------------------------------- ### Map Mouse Button to NeovideForceClick (Vimscript) Source: https://neovide.dev/commands.html Maps the X1 mouse button to the `NeovideForceClick` command using Vimscript. ```vimscript nnoremap :NeovideForceClick ``` -------------------------------- ### Show Window Border Source: https://neovide.dev/configuration.html Toggles the display of a grey border around opaque windows. Defaults to true. ```VimScript let g:neovide_show_border = v:true ``` -------------------------------- ### Control File Opening Behavior (Tabs) Source: https://neovide.dev/print.html By default, Neovide opens files provided directly to it in separate tabs to ease new user experience. Use `--no-tabs` to disable this behavior, though files are still managed as buffers. ```bash --no-tabs, --tabs $NEOVIDE_TABS=0|1 ``` -------------------------------- ### Enable Windowed Fullscreen Source: https://neovide.dev/print.html Sets whether the app should take up the entire screen using windowed fullscreen mode. This mode allows for quick window switching. ```VimScript let g:neovide_fullscreen = v:true ``` ```Lua vim.g.neovide_fullscreen = true ``` -------------------------------- ### Configure Monitor Pixel Geometry (Lua) Source: https://neovide.dev/configuration.html Sets the physical layout of RGB elements on your monitor, which is required for subpixel antialiasing to function correctly. Most monitors use 'RGBH'. ```Lua vim.g.neovide_pixel_geometry = "RGBH" vim.g.neovide_pixel_geometry = "RGBH" ``` -------------------------------- ### Configure Window Corner Preference Source: https://neovide.dev/configuration.html Sets the preferred style for window corners, which is supported on Windows. Options include 'default', 'round', 'round_small', and 'do_not_round'. ```VimScript let g:neovide_corner_preference = "round" ``` -------------------------------- ### Enable Neovide Debug Logging Source: https://neovide.dev/command-line-reference.html Enables the generation of a log file for debugging purposes. This file, located next to the executable, contains trace events to help diagnose issues. ```bash --log ``` -------------------------------- ### Map Mouse Button to NeovideForceClick (Lua) Source: https://neovide.dev/commands.html Maps the X1 mouse button to the `NeovideForceClick` command using Lua in Neovim. ```lua vim.keymap.set("n", "", "NeovideForceClick", { silent = true }) ``` -------------------------------- ### Set Window Opacity Source: https://neovide.dev/configuration.html Sets the overall window opacity and the opacity for the normal background color. Values range from 0.0 (fully transparent) to 1.0 (fully opaque). ```VimScript let g:neovide_opacity = 0.8 let g:neovide_normal_opacity = 0.8 ``` -------------------------------- ### Run Neovide within WSL Source: https://neovide.dev/command-line-reference.html The --wsl flag enables running Neovide from within the Windows Subsystem for Linux (WSL) environment. ```bash __ --wsl ``` -------------------------------- ### Set Padding Around Neovim Window (Lua) Source: https://neovide.dev/configuration.html Controls the amount of space between the window border and the Neovim content, which is filled with the background color. Set all sides to 0 for no padding. ```Lua vim.g.neovide_padding_top = 0 vim.g.neovide_padding_bottom = 0 vim.g.neovide_padding_right = 0 vim.g.neovide_padding_left = 0 ```