All Projects → vhakulinen → Gnvim

vhakulinen / Gnvim

Licence: mit
GUI for neovim, without any web bloat

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Gnvim

Vim Quickui
The missing UI extensions for Vim 8.2 (and NeoVim 0.4) !! 😎
Stars: ✭ 714 (-43.82%)
Mutual labels:  neovim, text-editor, gui
Neovim
Vim-fork focused on extensibility and usability
Stars: ✭ 49,389 (+3785.84%)
Mutual labels:  neovim, text-editor, nvim
Oni
Oni: Modern Modal Editing - powered by Neovim
Stars: ✭ 11,466 (+802.12%)
Mutual labels:  neovim, text-editor, gui
Thinkvim
Vim configuration in the 21st century
Stars: ✭ 832 (-34.54%)
Mutual labels:  neovim, nvim
Nvim Lua Guide
A guide to using Lua in Neovim
Stars: ✭ 750 (-40.99%)
Mutual labels:  neovim, nvim
Nvim
The Ultimate NeoVim Config for Colemak Users
Stars: ✭ 754 (-40.68%)
Mutual labels:  neovim, nvim
Neovim Dots
most beautiful neovim cli setup
Stars: ✭ 547 (-56.96%)
Mutual labels:  neovim, nvim
Defx.nvim
📁 The dark powered file explorer implementation
Stars: ✭ 917 (-27.85%)
Mutual labels:  neovim, nvim
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (-34.7%)
Mutual labels:  gui, gtk
Vim Dirvish
Directory viewer for Vim ⚡️
Stars: ✭ 929 (-26.91%)
Mutual labels:  neovim, nvim
Vimrc
📝 Vim Configuration for nerds with vim-plug
Stars: ✭ 33 (-97.4%)
Mutual labels:  neovim, nvim
Gtk Rust By Example
Gtk-Rust by Example (GRBE) - неофициальная книга по разработке GTK GUI, на языке программирования Rust. Практическое использование библиотеки GTK на различных примерах.
Stars: ✭ 30 (-97.64%)
Mutual labels:  gui, gtk
Nix Query Tree Viewer
GTK viewer for the output of `nix-store --query --tree`
Stars: ✭ 36 (-97.17%)
Mutual labels:  gui, gtk
Neovim Gtk
gtk ui for neovim
Stars: ✭ 670 (-47.29%)
Mutual labels:  neovim, gtk
Semshi
🌈 Semantic Highlighting for Python in Neovim
Stars: ✭ 758 (-40.36%)
Mutual labels:  neovim, nvim
Chadtree
File manager for Neovim. Better than NERDTree.
Stars: ✭ 653 (-48.62%)
Mutual labels:  neovim, nvim
Deoplete Phpactor
Phpactor integration for deoplete.nvim
Stars: ✭ 17 (-98.66%)
Mutual labels:  neovim, nvim
Dotfiles
🏠
Stars: ✭ 60 (-95.28%)
Mutual labels:  neovim, nvim
Nvim Compe
Auto completion plugin for nvim that written in Lua.
Stars: ✭ 433 (-65.93%)
Mutual labels:  neovim, nvim
Sauron Native
Truly cross platform, truly native. multiple backend GUI for rust
Stars: ✭ 587 (-53.82%)
Mutual labels:  gui, gtk

GNvim Logo

GNvim - Rich Neovim GUI without any web bloat

Build Status Gitter

GNvim, Neovim GUI aiming for rich code editing experience without any unnecessary web bloat.

GNvim has been my daily driver since August 2018. I try to add new features as I find time for it, and any help is welcome!

Logo

For more screenshots, see the wiki.

TL;DR to get started on Ubuntu 18.04 after cloning this repo and assuming you have rust tool chain installed:

$ sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev
$ # Run (unoptimized version) without installing
$ GNVIM_RUNTIME_PATH=/path/to/gnvim/runtime cargo run
$ # Install
$ make && sudo make install

macOS (without webkit2gtk)

Webkit2gtk isn't really available for macOS. GNvim is available without said dependency, but such builds won't have the cursor tooltip feature.

To install all dependencies and build without webkit2gtk (gtk+3 required for building, librsvg is a runtime dependency for showing LSP icons in completion):

$ brew install gtk+3 librsvg
make NOWEBKIT2GTK=1
# or with cargo
cargo build --no-default-features

Features

  • No electron (!), build on GTK.
  • Ligatures
  • Animated cursor
  • Custom cursor tooltip feature to display markdown documents. Useful for implementing features like hover information or signature help (see gnvim-lsp).
  • A lot of the nvim external features implemented
    • Popupmenu
      • Own view for preview (:h completeopt).
    • Tabline
    • Cmdline
    • Wildmenu

More externalized features will follow as they are implemented for neovim.

Requirements

GNvim requires

  • Stable rust to compile
  • Latest nvim release or master
  • Gtk version 3.18 or higher

On some systems, Gtk packages doesn't include development files. On Ubuntu 18.04, you'll need the following ones:

$ sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev

For other systems, see requirements listed by gtk-rs project here. Note that you'll need the libwebkit2gtk-4.0-dev package too.

There are some benchmarks for internal data structures, but to run those you'll need nightly rust. To run those benchmarks, use cargo bench --features=unstable command.

Install

You're required to have rust tool chain available. Once you have that, clone this repo and run make build followed by sudo make install.

Running

TL;DR: Without installing:

GNVIM_RUNTIME_PATH=/path/to/gnvim/runtime cargo run

GNvim requires some runtime files to be present and loaded by Neovim to work properly. By default, GNvim will look for these files in /usr/local/share/gnvim/runtime, but this can be changed by specifying the GNVIM_RUNTIME_PATH environment variable.

GNvim will use nvim to run Neovim by default. If you want to change that, you can use --nvim flag (e.g. gnvim --nvim=/path/to/nvim).

For debugging purposes, there is --print-nvim-cmd flag to tell GNvim to print the executed nvim command.

See gnvim --help for all the cli arguments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].