A Vim/Neovim Plugin Ecosystem To Try

Let’s try out a new Vim/Neovim plugin ecosystem.

alpha2phi

--

Vim/Neovim Plugin System

Most Vimmers should be familiar with coc.nvim. Conquer of Completion (coc) provides a plugin ecosystem by serving as a Node.js extension host to make Vim/Neovim a better and intelligent editor.

In this article, let’s explore Denops, a new Vim/Neovim plugin ecosystem based on Deno, a modern runtime for JavaScript and TypeScript.

Getting Started

Deno

Follow the guide to install the Deno. In my case, I install it on my Linux machine.

curl -fsSL https://deno.land/x/install/install.sh | sh

denops.vim

Let’s install the plugins using packer.nvim.

local executable = function(x)
return vim.fn.executable(x) == 1
end
if executable "deno" then
use { "vim-denops/denops.vim" }
use { "vim-denops/denops-helloworld.vim" }
end
  • denops.vim is the general plugin.
  • denops-helloworld.vim is for testing purposes only. We can remove it once we confirm the plugin is working.

Type :DenopsHello to confirm the plugin is working.

:DenopsHello
Hello

Plugins

Let’s explore a few interesting plugins built on top of Denops.

guise.vim

I moved away from using tmux + alacritty after switching to wezterm. Whenever I use the Vim/Neovim terminal, I want to quickly open the file under the same Vim/Neovim instance.

Guise (guise.vim) is a Vim/Neovim plugin that opens a new tab page rather than invokes a new nested instance when a user tries to open a new Vim/Neovim instance through a job or terminal.

Let’s install the plugin.

if executable "deno" then
use { "vim-denops/denops.vim" }
use { "lambdalisue/guise.vim" }
end
guise.vim

--

--

alpha2phi

Software engineer, Data Science and ML practitioner.