Dev-Links #17 - (N)Vim

31st October 2021 – 713 words

Neovim, a fork of Vim with a very active community, seems to take up speed recently, and with the recent 0.5 release two major breakthroughs have been added that are originally from the “scrapes” of VSCode and Atom:

  1. Native LSP support - which means a much much better integration of typed languages in particular. LSP was started by VSCode and aims to provide a language server for every language out there, which will benefit all editors in the end
  2. Treesitter, a more robust syntax highlighting engine, made be the Atom team. It sounds trivially, but a good highlighting, that also works consistently with edge cases, like escaped strings, regexes, heredocs etc. is not always available.

As an avid Terminal-Vim + TMux user of more then 10 years, I was a backer of the original crowdsourcing and happy to watch it grow. Here are a couple of interesting reads or plugins that I stumbled upon in the last couple of month. Also, there have been the Vimconf at the last october weekend, If you are interested I recommend watching a few talks after they get released to Youtube.

Upcase : Neovim & Vim 8 Online Video Tutorial | Learn Vim New Features

Learn how to install, set up, and use Neovim. Drew Neil from Vimcasts will take you on a tour of the new features available in Neovim / Vim version 8.

GitHub - nanotee/nvim-lua-guide: A guide to using Lua in Neovim

A guide to using Lua in Neovim.

GitHub - NvChad/NvChad: An attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast.

An attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast. - GitHub - NvChad/NvChad: An attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast.

My (new) nvim base template that I started from.

GitHub - github/copilot.vim: Neovim plugin for GitHub Copilot

Neovim plugin for GitHub Copilot.

Apparently, tpope was commissioned to make a Neovim plugin to interact with Github’s AI Copilot. It works surprisingly well and a couple of time really can safe some time writing boilerplaty code.

GitHub - AndrewRadev/diffurcate.vim: Split a git diff into separate files

Split a git diff into separate files.

GitHub - neovim/nvim-lspconfig: Quickstart configurations for the Nvim LSP client

Quickstart configurations for the Nvim LSP client.

GitHub - JoosepAlviste/nvim-ts-context-commentstring: Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.

Neovim treesitter plugin for setting the commentstring based on the cursor location in a file. - GitHub - JoosepAlviste/nvim-ts-context-commentstring: Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.

GitHub - zealot128/tree-sitter-pug

After switching to Neovim’s Treesitter based highlighting, I noticed, that Pug syntax, that we are using heavily on the front side in Vue, was missing, so I started to fiddle around with the grammar rules… throwback to my University times… (If you want to use this in conjunction with Vue there are more hoops to jump through, because you will need to run a fork of the Vue plugin as well as some Treesitter rules + queries).

GitHub - nvim-neorg/neorg: Modernity meets insane extensibility. The future of organizing your life in Neovim.

Modernity meets insane extensibility. The future of organizing your life in Neovim. - GitHub - nvim-neorg/neorg: Modernity meets insane extensibility. The future of organizing your life in Neovim.

When I have some time, another contender for a All-Mighty Todo List/Personal Wiki app (currently using Vimwiki, tried Obsidian, …)