51 Usage
KOGA Mitsuhiro edited this page 2023-05-16 19:19:37 +09:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NOTE: This page is becoming less maintained and contains information that is not up-to-date. Please refer to help :h goneovim as well.

Command line I/F

All options are the following. All missing options are treated as bare nvim options. That is, goneovim -u NONE is effective.

Usage:
  goneovim [OPTIONS]

Application Options:
      --geometry=     Initial window geomtry [e.g. --geometry=800x600]
      --server=       Remote session address [e.g. --server=host:3456]
      --ssh=          Attaching to a remote nvim via ssh. Default port is 22. [e.g. --ssh=user@host:port]
      --nvim=         Excutable nvim path to attach [e.g. --nvim=/path/to/nvim]
      --debug=        Run debug mode with debug.log(default) file [e.g. --debug=/path/to/my-debug.log]
      --fullscreen    Open the window in fullscreen on startup
      --maximized     Maximize the window on startup
      --exttabline    Externalize the tabline
      --extcmdline    Externalize the cmdline
      --extmessages   Externalize the messages. Sets --extcmdline implicitly
      --extpopupmenu  Externalize the popupmenu
      --version       Print Goneovim version
      --wsl=          Attach to nvim process in wsl environment with distribution(default) [e.g. --wsl=Ubuntu]
      --nofork        Run in foreground

Help Options:
  -h, --help          Show this help message

On Windows, you can display the help using the following command:

goneovim /? | more

Configuration

GoNeovims config file is located at

  • On MacOS or Linux

    ~/.config/goneovim/settings.toml
    
  • On Windows Same as MacOS, Linux if XDG_CONFIG_HOME is defined. If not, it is as follows.

    %USERPROFILE%\.config\goneovim\settings.toml
    

Example GoNeovim configuration, showing all possible options:

## Goneovim settings.toml
## All of the following commented configuration items have default values.

[Editor]
## If enabled, when the Close button of the application window is clicked,
## the application will exit without confirmation, even if there are unsaved
## updates.
IgnoreSaveConfirmationWithCloseButton = false

## Makes the application window frameless.
# BorderlessWindow = false

## Controls whether the title bar is displayed when the borderless 
## window setting is enabled.
# HideTitlebar = false

## Editor minimum window width (>= 400)
# Width = 800
## Editor minimum window height (>= 300)
# Height = 600
## Margin adds a margin between the window and the drawn content.
## This value is 0 by default for Linux and 2 by default for MacOS and Windows.
# Margin = 0
## Gap create a gap on the left and right sides of the application window.
# Gap = 0

## Reverses the direction of scrolling with the mouse wheel.
# ReversingScrollDirection = false

## Specifies the amount of scrolling by the mouse wheel. The default value is 1.
# LineToScroll = 1

## MouseScrollingUnit sets the mode of mouse scrolling. 
## "line" scrolls in lines.
## "pixel" scrolls in pixels.
## "smart" scrolls in pixels when the amount of scrolling is small, and
##         scrolls in lines when the amount of scrolling is large.
## The default value is "smart" on macos, and "line" on other operating systems.
# MouseScrollingUnit = "line"

## This option makes the whole GUI window in semi-transparent.
## This setting also implicitly enables the Drawborder setting
# Transparent = 1.0

## Launch goneovim with full screen window size.
# StartFullscreen = false
## Launch goneovim with maximized window size.
# StartMaximizedWindow = false

## Enabling WindowGeometryBasedOnFontmetrics sets the minimum unit of window geometry change 
## to the width and height values specified by font metrics.
## When enabled, maximization with the GonvimMaximize command may not work well due to 
## the combination of screen size and font metrics.
# WindowGeometryBasedOnFontmetrics = false

## Enable the ability to remember the last window geometry that was displayed
## and restore it at the next startup.
RestoreWindowGeometry = false

## Editor external font-family, font-siz.
## This is the font settings of the graphical UI as an nvim front end.
## Fontfamily is
## In MacOS, 
# FontFamily = "Monaco"
## In Linux
# FontFamily = "Consolas"
## In Windows
# FontFamily = "Windows"
## Fontsize is
# FontSize = 12
## letterspace is
# Letterspace = 0

## Neovim external UI features
## The following is the default value of goneovim.
## You can change the behavior of the GUI by changing the following boolean values.
## If you prefer the traditional Vim UI, set it to false for all.
## Also, `ExtMessages` is still experimental at this time and we don't recommend setting it to true if you want stability.
# ExtCmdline   = false
# ExtPopupmenu = false
# ExtTabline   = false
# ExtMessages  = false

## Goneovim has a cached rendering feature enabled to speed up the process.
## If you want to disable it, set it to false
# CachedDrawing = true
## You can specify the cache size to be used by the cache rendering feature of goneovim.
## The default is 400.
# CacheSize = 400

## Disables font ligatures.
# DisableLigatures = true

## Copy yanked text to clipboard
# Clipboard = true

## This setting is equivalent to Macmeta in MacVim.
# Macmeta = false

## The input method editor will be automatically disabled when the mode is changed to normal mode.
## It may be useful for users who use the input method editor (e.g. East Asian users).
## This option is depricated. Use `ModeEnablingIME`
# DisableImeInNormal = false

## This option specifies a list of modes in which the IME is to be enabled, and goneovim will enable
## the IME only in those modes.
## It may be useful for users who use the input method editor (e.g. East Asian users).
## e.g. 
## ModeEnablingIME = ["insert", "cmdline_normal"]
## The available mode strings:
##   "normal", "insert", "replace", "visual", "visual_select",
##    "cmdline_normal", "cmdline_insert", "cmdline_replace", etc.
# ModeEnablingIME = []

## This option allows you to hide the mouse cursor in the gooneovim window 
## when you type a key, and to redisplay it when you move the mouse cursor again. 
# HideMouseWhenTyping = false

## Draw borders on the GUI side instead of the vertical border and status line that nvim draws.
# DrawWindowSeparator = false
# WindowSeparatorTheme = "dark"
# WindowSeparatorColor = "#2222ff"
# WindowSeparatorGradient = false

## Draw built-in indent guide
## Enabling this setting will have a slight impact on performance.
# IndentGuide = false
# IndentGuideIgnoreFtList = ["md"]
# OptionsToUseGuideWidth = "tabstop"

## Animates the scrolling behavior of Neovim when the scroll command is entered.
# SmoothScroll = false
## Specifies the speed of animation in smooth scrolling.
# SmoothScrollDuration = 300
## Disables horizontal scrolling for smooth scrolling with the touchpad.
# DisableHorizontalScroll = true

## Draw border on a float window
# DrawBorderForFloatWindow = false

## Draw shadow under a float window
# DrawShadowForFloatWindow = false

## Enable desktop notification settings for nvim messages.
## This option works only if `ExtMessages` is enabled.
# DesktopNotifications = false

## Controls whether mouse events in Neovim are ignored when
## an application window is clicked while the application window is inactive.
# IgnoreFirstMouseClickWhenAppInactivated = false

# Display the effect when clicked
# ClickEffect = false

## Specifies the command used to open the file in an external file explorer, etc. The default is ":e".
# FileOpenCmd = ":e"

# Pattern that fills the diff background
# Change the background pattern used for diff display.
# This option allows you to use a visual effect pattern such as Dense, Diagonal Stripe instead of a regular solid pattern.
# The available patterns are all Qt brush styles. For more information, See: https://doc.qt.io/qt-5/qbrush.html#details
# // -- diffpattern enum --
# // SolidPattern             1
# // Dense1Pattern            2
# // Dense2Pattern            3
# // Dense3Pattern            4
# // Dense4Pattern            5
# // Dense5Pattern            6
# // Dense6Pattern            7
# // Dense7Pattern            8
# // HorPattern               9
# // VerPattern               10
# // CrossPattern             11
# // BDiagPattern             12
# // FDiagPattern             13
# // DiagCrossPattern         14
# // LinearGradientPattern    15
# // RadialGradientPattern    16
# // ConicalGradientPattern   17
# // TexturePattern           24
# DiffAddPattern    = 1
# DiffDeletePattern = 1
# DiffChangePattern = 1

## Extra Dock menu option in MacOS
## You can add a menu with your own command options 
# [Editor.DockmenuActions]
# hoge = "-u NONE"
# fuga = "-u NORC"

## You can write a vimscript to be executed after goneovim starts,
## for example to disable the vimscript that Goneovim has embedded internally.
## GinitVim = '''
##  let g:hoge = 'fuga'
## '''
# Ginitvim = ""


[Cursor]
## Specifies whether the smooth cursor feature is enabled or disabled by a boolean value.
# SmoothMove = false

## Specifies the duration of the animation at the smooth cursor. Default is 55ms.
## Note that Goneovim uses the specified value as a base value and makes slight adjustments depending on the distance.
# Duration = 55


## The palette is used as an input UI for externalized command lines and the Fuzzy-Finder feature built into Goneovim.
[Palette]
## Specifies the proportion of the command line palette to the height of the entire window.
# AreaRatio = 0.5
## Specifies the number of items to be displayed in the command line palette.
# MaxNumberOfResultItems = 30
## Specifies the opacity of the command line palette.
# Transparent = 1.0


## Configure externalized message UI.
[Message]
## Specifies the opacity of the message window.
# Transparent = 1.0


## The statusline configuration below relates to the display of Goenovim's own external status lines.
## If you want to use neovim's status line plugin, you should disable its display.
# [Statusline]
## Whether or not to display the external status line
# Visible = false

## Options: "textLabel" / "icon" / "background" / "none"
# ModeIndicatorType = "textLabel"

## Optional setting colors per Neovim editing modes
# NormalModeColor = "#3cabeb"
# CommandModeColor = "#5285b8"
# InsertModeColor = "#2abcb4"
# ReplaceModeColor = "#ff8c0a"
# VisualModeColor = "#9932cc"
# TerminalModeColor = "#778899"

## Statusline components
# Left = [ "mode", "filepath", "filename" ]
# Right = [ "message", "git", "filetype", "fileformat", "fileencoding", "curpos", "lint" ]


## Configure externalized tabline UI.
[Tabline]
## Whether or not to display the external tabline
# Visible = true
# ShowIcon = true


## Configure externalized popupmenu UI.
[Popupmenu]
## neovim's popupmenu is made up of word, menu and info parts.
## Each of these parts will display the following information.
##   word:   the text that will be inserted, mandatory
##   menu:   extra text for the popup menu, displayed after "word"
##   info:   more information about the item, can be displayed in a preview window
## The following options specify whether to display a dedicated column in the popupmenu
## to display the long text displayed in the `info` part.
# ShowDetail = true
 
## total number to display item
# Total = 20
 
## width of `menu` column
# MenuWidth = 400
 
## width of `info` column
# InfoWidth = 1
 
## width of `detail` column
# DetailWidth = 250
 
## Show digit number which can select item for popupmenu
# ShowDigit = true


[ScrollBar]
## Specifies whether to show the external scrollbar or not.
# Visible = false


[MiniMap]
## To view the minimap, launch an additional nvim instance;
## setting Disable to true will not launch this additional nvim instance
## and will completely disable the minimap feature.
# Disable = false

## Specifies whether to show the minimap or not.
# Visible = false

## Specifies the width of the minimap.
# Width = 100

[SideBar]
## Specifies whether to show the external sidebar or not.
# Visible = false

## Specify the sidebar width
# Width = 200

## Specify whether or not to draw a shadow under the sidebar.
# DropShadow = false

## Specify the color to use when selecting items in the sidebar or palette in hexadecimal format
# AccentColor = "#5596ea"


[FileExplore]
## Specify the maximum number of items to be displayed in the file explorer.
# MaxDisplayItems = 30


[Workspace]
## This setting sets the format of the path string of CWD in the sidebar.
##  name: directoryname
##  full: /path/to/directoryname
##  minimum: /p/t/directoryname
# PathStyle = "minimum"

## Specifies whether the last exited session should be restored at the next startup.
# RestoreSession = false

Workspace

You can use the following commands to control workspace

GonvimWorkspaceNew       -  Create a new workspace
GonvimWorkspaceNext      -  Switch to the next workspace
GonvimWorkspacePrevious  -  Switch to the previous workspace
GonvimWorkspaceSwitch n  -  Switch to workspace n

Smooth scroll

[Editor]
SmoothScroll = true

External file explorer

GonvimFilerOpen

MiniMap

GonvimMiniMap           - Toggle minimap window

Transparent window

put the following lines into settings.toml

[Editor]
# Transparent window alpha
# Note: This setting also implicitly enables the Drawborder setting
Transparent = 0.8

Indent guide

put the following lines into settings.toml

[Editor]
IndentGuide = true

Independent font settings per window (experimental)

This feature allows you to set the font for each window of nvim. Note: In the current version, if the window size is changed after applying independent font settings to a window, the screen UI is broken.

GonvimGridFont "Fira Code:h14"

Desktop Notifications

put the following lines into settings.toml

[Editor]
ExtMessages = true
DesktopNotifications = true

Remote Attachment

Goneovim supports remote attachment. Usage is the same as neovim-qt remote attachment.

Usage:

goneovim --server ~/.local/nvim_remotes/ubuntu
goneovim --server {host}:{port}

Note: In the remote attachment, workspaces feature are not supported.

WSL Support

Goneovim supports WSL in Windows. Usage is the same as neovide WSL Support.

Usage:

goneovim --wsl[=distribution]

To use the default WSL distribution, you can use:

goneovim --wsl

To use a non-default distribution, such as openSUSE-Tumbleweed, you can use:

goneovim --wsl=openSUSE-Tumbleweed