Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/RMichelsen/Nvy
Nvy - A Neovim client in C++
https://github.com/RMichelsen/Nvy
cpp directwrite neovim-guis nvim windows
Last synced: 3 months ago
JSON representation
Nvy - A Neovim client in C++
- Host: GitHub
- URL: https://github.com/RMichelsen/Nvy
- Owner: RMichelsen
- License: mit
- Created: 2020-08-18T21:43:45.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T21:28:11.000Z (6 months ago)
- Last Synced: 2024-06-25T14:35:53.755Z (4 months ago)
- Topics: cpp, directwrite, neovim-guis, nvim, windows
- Language: C++
- Homepage:
- Size: 587 KB
- Stars: 307
- Watchers: 12
- Forks: 25
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Nvy
Nvy is a minimal [Neovim](https://neovim.io/) client for Windows written in C++.
It uses DirectWrite to shape and render the grid cells and text.\
Since Nvy is just a front-end for Neovim, installing Neovim is required to use Nvy, preferably the
latest nightly version from [here](https://github.com/neovim/neovim/releases).![Showcase image](resources/client.png)
## Configuration
Nvy sets the global vim variable `g:nvy = 1` in case you want to specialize your init.vim while using Nvy.
Fonts can be changed by setting the guifont in `init.vim`, for example:
`set guifont=Fira\ Code:h24`.
Note: you have to specify the font size, e.g. `set guifont=Fira\ Code` won't work.
A fallback font can be specified by appending it, e.g. `set guifont=Fira\ Code:h24:Consolas` to set Consolas as the fallback font.Nvy can be started with the following flags:
- `--maximize` to start in maximized
- `--fullscreen` to start in fullscreen
- `--position=,` to start with a given position, e.g. `--position=500,200`
- `--geometry=x` to start with a given number of rows and columns, e.g. `--geometry=80x25`
- `--disable-ligatures` to disable font ligatures
- `--disable-fullscreen` to disable toggling fullscreen with Alt+Enter
- `--linespace-factor=` to scale the line spacing by a floating point factor, e.g. `--linespace-factor=1.2`## Extra Features
- You can use Alt+Enter to toggle fullscreen
- You can use Ctrl+Mousewheel to zoom
- You can drag files onto Nvy to open them (:e)
- Dragging files while holding Ctrl opens them in a new window (:new)## Releases
Releases can be found [here](https://github.com/RMichelsen/Nvy/releases)
## Build
### Requirements
- A compiler supporting `C++20`
- [The latest Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/)Apart from the Windows SDK, the only dependency Nvy uses is the excellent [MPack](https://github.com/ludocode/mpack) library
which is compiled alongside the client itself.### Build example with [Ninja](https://ninja-build.org/)
```sh
git clone https://github.com/RMichelsen/Nvy.git
cd Nvy
mkdir build
cd build
cmake .. -GNinja
ninja
```