You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
neovide/README.md

98 lines
4.2 KiB
Markdown

# Neovide
This is a simple graphical user interface for Neovim. Where possible there are some graphical improvements, but it should act
functionally like the terminal UI.
![Basic Screen Cap](./assets/BasicScreenCap.png)
I've been using this as my daily driver since November 2019. It should be relatively stable, but I'm still working out some kinks
and ironing out some cross platform issues. In general it should be usable at this point, and if it isn't I consider that a bug and
appreciate a report in the issues! Any help and ideas are also greatly appreciated.
I'm also very interested in suggestions code quality/style wise when it comes to Rust. I'm pretty new to the language and appreciate
any critiques that you might have to offer. I won't take all of them, but I promise to consider anything you might have to offer.
## Features
Should be a standard full features Neovim GUI. Beyond that there are some visual niceties:
### Ligatures
Supports ligatures and full HarfBuzz backed font rendering.
![Ligatures](./assets/Ligatures.png)
### Animated Cursor
Cursor animates into position with a smear effect to improve tracking of cursor position.
![Animated Cursor](./assets/AnimatedCursor.gif)
### Emoji Support
Font fallback supports rendering of emoji not contained in the configured font.
![Emoji](./assets/Emoji.png)
#### More to Come
I've got more ideas for simple unobtrusive improvements. More to come.
## Install
Currently there is just a Windows binary under the [project releases](https://github.com/Kethku/neovide/releases). I'm
hoping to automate and produce Mac and Linux binaries as well, but I haven't gotten there yet.
Installing should be as simple as downloading the binary, making sure `nvim.exe` is on your path, and running it. Everything
should be self contained.
## Building
Building instructions are somewhat limited at the moment. All the libraries I use are cross platform and should have
support for Windows, Mac, and Linux. The rendering however is Vulkan-based, so driver support for Vulkan will be
necessary. On Windows this should be enabled by default if you have a relatively recent system.
### Windows
1. Install the latest version of Rust. I recommend <https://rustup.rs/>
2. Ensure graphics libraries are up to date.
3. `git clone https://github.com/Kethku/neovide`
4. `cd neovide`
5. `cargo build --release`
6. Copy `./targets/release/neovide.exe` to a known location and enjoy.
### Mac
1. Install the latest version of Rust. I recommend <https://rustup.rs/>
2. Install the Vulkan SDK. I'm told `brew cask install apenngrace/vulkan/vulkan-sdk` works, but I can't test locally to find out.
3. `git clone https://github.com/Kethku/neovide`
4. `cd neovide`
5. `cargo build --release`
6. Copy `./targets/release/neovide` to a known location and enjoy.
### Linux
Note: Neovide has been compiled for multiple other distros, but the commands may need to be modified slightly to work.
1. Install `bzip2-devel` (or similar, depending on your distro)
2. Install Vulkan drivers. I'm not sure how on Linux. Id appreciate a PR if you know more :)
3. Depending on which libraries are already installed in the system, additonal libraries may need to be installed (Never
fear, we will do our best to add them here. Make an issue if you find one!)
4. If needed, install [vulkan-tools](https://github.com/LunarG/VulkanTools), etc. Information available in the
[vulkan](https://vulkan.lunarg.com/sdk/home) download page.
5. Download the [Vulkan SDK for Linux](https://vulkan.lunarg.com/sdk/home) and extract it in an easily accessible
location.
6. source /path/to//vulkansdk-linux-x86_64-1.1.130.0/1.1.130.0/setup-env.sh (version can change over time) in the shell
that will be used to compile `Neovide`
7. Install the latest version of Rust. I recommend <https://rustup.rs/>
8. `git clone https://github.com/Kethku/neovide`
9. `cd neovide`
10. `cargo build --release`
11. Copy `./targets/release/neovide` to a known location and enjoy.
If you see an error complaining about DRI3 settings, links in this issue may help:
<https://github.com/Kethku/neovide/issues/44#issuecomment-578618052>.
Note: Currently some people seem to be encountering problems with Wayland: <https://github.com/aclysma/skulpin/issues/36>.
Any help would be appreciated.