• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

neovide: No Nonsense Neovim Client in Rust

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

neovide

开源软件地址:

https://gitee.com/mirrors/neovide

开源软件介绍:

Neovide Discord Chat on Matrix Discussions

This is a simple graphical user interface for Neovim (an aggressively refactored and updatedVim editor). Where possible there are some graphical improvements, but functionally it should act like the terminal UI.

Basic Screen Cap

I've been using this as my daily driver since November 2019. It should be relatively stable, but I'm still working out some kinksand 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 andappreciate 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 appreciateany 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 fully featured Neovim GUI. Beyond that there are some visual niceties:

Ligatures

Supports ligatures and font shaping.

Ligatures

Animated Cursor

Cursor animates into position with a smear effect to improve tracking of cursor position.

Animated Cursor

Smooth Scrolling

Scroll operations on buffers in neovim will be animated smoothly pixel wise rather than line by line at a time. Note, multigrid must beenabled for this to work.https://github.com/neovide/neovide/wiki/Configuration#multigrid

Smooth Scrolling

Animated Windows

Windows animate into position when they are moved making it easier to see how layout changes happen. Note, multigrid must be enabled forthis to work.https://github.com/neovide/neovide/wiki/Configuration#multigrid

Animated Windows

Blurred Floating Windows

The backgrounds of floating windows are blurred improving the visual separation between foreground and background frombuilt in window transparency. Note, multigrid must be enabled for this to work.https://github.com/neovide/neovide/wiki/Configuration#multigrid

Blurred Floating Windows

Emoji Support

Font fallback supports rendering of emoji not contained in the configured font.

Emoji

WSL Support

Neovide supports displaying a full gui window from inside wsl via the --wsl command argument. Communication is passed via standard io into the wsl copy of neovim providing identical experience similar to visual studio code's remote editing https://code.visualstudio.com/docs/remote/remote-overview.

Remote TCP Support

Neovide supports connecting to a remote instance of Neovim over a TCP socket via the --remote-tcp command argument. This would allow you to run Neovim on a remote machine and use the GUI on your local machine, connecting over the network.

Launch Neovim as a TCP server (on port 6666) by running:

nvim --headless --listen localhost:6666

And then connect to it using:

/path/to/neovide --remote-tcp=localhost:6666

By specifying to listen on localhost, you only allow connections from your local computer. If you are actually doing this over a network you will want to use SSH port forwarding for security, and then connect as before.

ssh -L 6666:localhost:6666 ip.of.other.machine nvim --headless --listen localhost:6666

Finally, if you would like to leave the neovim server running, close the neovide application window instead of issuing a :q command.

Some Nonsense ;)

let g:neovide_cursor_vfx_mode = "railgun"

Railgun

More to Come

I've got more ideas for simple unobtrusive improvements. More to come.

Configuration

Configuration is done almost completely via global neovide variables in your vim config and can be manipulated live at runtime. Details can be found here.

Install

Note: Building instructions are somewhat limited at the moment. All the libraries I use are cross platform and should havesupport for Windows, Mac, and Linux. On Windows this should be enabled by default if you have a relatively recent system.

Note: Neovide requires neovim version 0.6 or greater if built from main, or 0.4 if downloaded from releases.

From binary

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 is based on opengl, so a good gpu driver will benecessary. On Windows this should be enabled by default if you have a relatively recent system.

Installing should be as simple as downloading the binary, making sure nvim.exe with version 0.4 or greater is on your path, and running it. Everything should be self contained.

Windows

Package manager

Scoop has Neovide in the extras bucket. Ensure you have the extras bucket, and install:

$ scoop bucket listmainextras$ scoop install neovide

From source

  1. Install the latest version of Rust. I recommend https://rustup.rs/

  2. Install CMake. I use chocolatey: choco install cmake --installargs '"ADD_CMAKE_TO_PATH=System"' -y

  3. Install LLVM. I use chocolatey: choco install llvm -y

  4. Ensure graphics libraries are up to date.

  5. Build and install Neovide:

    git clone https://github.com/neovide/neovidecd neovidecargo build --release
  6. Copy ./target/release/neovide.exe to a known location and enjoy.

Mac (from source)

  1. Install the latest version of Rust. Using homebrew: brew install rustup-init
  2. Configure rust by running rustup-init
  3. Install CMake. Using homebrew: brew install cmake
  4. git clone https://github.com/neovide/neovide
  5. cd neovide
  6. cargo build --release
  7. Copy ./target/release/neovide to a known location and enjoy.
  8. cargo install cargo-bundle
  9. cargo bundle --release
  10. Copy ./target/release/bundle/osx/neovide.app to ~/Applications and enjoy.

Linux

Arch Linux

There is an AUR package for neovide.

With Paru (or your preferred AUR helper)
paru -S neovide-git
Without helper
git clone https://aur.archlinux.org/neovide-git.gitcd neovide-gitmakepkg -si

To install a non-default branch:

git clone https://aur.archlinux.org/neovide-git.gitcd neovide-gitnvim PKGBUILD:%s/l}/l}#branch=branch-name-here/:wqmakepkg -si

Note: Neovide requires that a font be set in init.vim otherwise errors might be encountered.See #527

With non-default branch
git clone https://aur.archlinux.org/neovide-git.gitcd neovide-gitREGEX=$(printf 's/{url}/&\#branch=%s/g' '<YOUR-BRANCH-HERE>')sed "$REGEX" PKGBUILDmakepkg -si

With Snap

Neovide is also available in the Snap Store. You can install itusing the command below.

snap install neovide

Get it from the Snap Store

From source

  1. Install necessary dependencies (adjust for your preferred package manager)

    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
  2. Install Rust

    curl --proto '=https' --tlsv1.2 -sSf "https://sh.rustup.rs" | sh
  3. Clone the repository

    git clone "https://github.com/neovide/neovide"
  4. Build

    cd neovide && ~/.cargo/bin/cargo build --release
  5. Copy ./target/release/neovide to a known location and enjoy.

Troubleshooting

  • Neovide requires that a font be set in init.vim otherwise errors might be encountered. This can be fixed by adding set guifont=Your\ Font\ Name:h15 in init.vim file. Reference issue #527.

Linux-specific

  • If you recieve errors complaining about DRI3 settings, please reference issue #44.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
BobMark/bob_videoPlayer发布时间:2022-03-25
下一篇:
zz/React_Music_App发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap