Vim9 Script Feature-Complete

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • neovim

    Vim-fork focused on extensibility and usability

  • I just started looking into Neovim, and I had the same concern about it being terminal-only. But then I saw this on the Neovim site:

    "Graphical interfaces are not packaged with Neovim. GUIs are not limited by terminal capabilities and can choose to override the rendering of certain neovim elements (cursor, tabline, popup menu, etc)...See Neovim's wiki[1] for a list of many of the available GUIs."

    [1] https://github.com/neovim/neovim/wiki/Related-projects#gui

  • Vim

    The official Vim repository

  • My understanding is that neovim devs would like to see a lua interface in vim, but right now there's a lot of functions in neovim's lua interface that are not available in vim's lua interface.

    But for the stuff that is available, you can either use the vim help to learn about it or search on vim's github issues / PRs, e.g. https://github.com/vim/vim/pull/7959. I'm curious if there are other ways to learn more about vim's lua interface, searching on google as you said does not give great results for vim, just neovim.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • vscode-neovim

    Vim mode for VSCode, powered by Neovim

  • This looks interesting:

    https://github.com/asvetliakov/vscode-neovim

    > This extension uses a full embedded Neovim instance, no more half-complete VIM emulation! VSCode's native functionality is used for insert mode and editor commands, making the best use of both editors.

    I like lots of things about VSCode, but there are inefficiencies with editing that just drive me bananas so I keep falling back to good old familiar MacVim. For instance, line wrapping, auto-indenting, and mouse-select-then-rewrap in comments — comment support in the Vim ecosystem seems to have been designed by and for people who really care about good documentation, while I have to work much harder to get my comments and docs to look good when editing with VSCode.

    Hopefully the mechanism of embedding a full NeoVim instance will allow for a moe-or-less feature-complete Vim editing experince.

  • vim9jit

    a vim9script -> lua transpiler (written in Rust)

  • TJ (one of neovim's core devs) has already started work on that: https://github.com/tjdevries/vim9jit

    Their twitch streams where they work on this are a lot of fun too.

  • coc.nvim

    Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

  • Have you tried coc? Despite the repo name it works with regular vim too and is definitely the easiest way to get completion and other LSP functionality (jumping to definitions, doc previews, error highlighting etc).

    https://github.com/neoclide/coc.nvim

  • neovide

    No Nonsense Neovim Client in Rust

  • I tried it. For various reasons, it isn’t _quite_ there.

    It doesn’t build a .app bundle, which means that it can’t have a proper distribution with appropriate signing &c. that would give it access to various macOS features. It doesn’t have a menu (which _does_ matter).

    It doesn’t have a "release" build since May 2020, meaning that the only way to get a meaningful build is to build it yourself (not a big deal, but still).

    It doesn’t render fonts correctly, especially on macOS: https://github.com/neovide/neovide/issues/1096, https://github.com/neovide/neovide/issues/589 (although it may be related to how font names are resolved, https://github.com/neovide/neovide/issues/776; https://github.com/neovide/neovide/issues/1057 seems to resolve it), https://github.com/neovide/neovide/issues/851, https://github.com/neovide/neovide/issues/283.

    The last appears to be fixed, but the former two are problematic from my perspective as a replacement for MacVim.app.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts