The Must-Have Neovim Plugins for Julia

This page summarizes the projects mentioned and recommended in the original post on dev.to

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

    :hibiscus: Minimalist Vim Plugin Manager

  • There are a lot of package and plugin managers for Neovim. Before, I was using vim-plug as my plugin manager but after a lot of exploring, I found myself falling in love with packer.nvim. Packer is a package/plugin manager for Neovim that is written in Lua which allows for expressive configuration. This allows users to write their configuration fully in Lua. To see what I mean, here is an example for a minimal configuration written in Lua:

  • julia

    The Julia Programming Language

  • Julia is a high-level, high-performance and dynamic programming language that is designed to be fast and easy to write like a scripting language. Over the years, the language has gained some popularity, mostly data science and the academe. Many of its features is well suited for numerical analysis and computational science. If you want to try Julia, you can download the release version at https://julialang.org. For platform specific instructions, you can go here https://julialang.org/downloads/platform

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • nvim-lspconfig

    Quickstart configs for Nvim LSP

  • If you are using nvim-lspconfig, I am pretty sure you came across with lspsaga.nvim. It is a lightweight lsp plugin that gives you LSP pop-ups and documentations with a cool UI 😎. However, the current maintainer of the plugin has not been active for quite a while. There is an existing fork though if you want to use it 😉. Link to fork: tami5/lspsaga.nvim.

  • If you are using nvim-lspconfig, I am pretty sure you came across with lspsaga.nvim. It is a lightweight lsp plugin that gives you LSP pop-ups and documentations with a cool UI 😎. However, the current maintainer of the plugin has not been active for quite a while. There is an existing fork though if you want to use it 😉. Link to fork: tami5/lspsaga.nvim.

  • lspsaga.nvim

    Discontinued improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim] (by glepnir)

  • If you are using nvim-lspconfig, I am pretty sure you came across with lspsaga.nvim. It is a lightweight lsp plugin that gives you LSP pop-ups and documentations with a cool UI 😎. However, the current maintainer of the plugin has not been active for quite a while. There is an existing fork though if you want to use it 😉. Link to fork: tami5/lspsaga.nvim.

  • lspsaga.nvim

    The neovim language-server-client UI (by kkharji)

  • If you are using nvim-lspconfig, I am pretty sure you came across with lspsaga.nvim. It is a lightweight lsp plugin that gives you LSP pop-ups and documentations with a cool UI 😎. However, the current maintainer of the plugin has not been active for quite a while. There is an existing fork though if you want to use it 😉. Link to fork: tami5/lspsaga.nvim.

  • vim-slime

    A vim plugin to give you some slime. (Emacs)

  • If you want to run your code inside a Julia REPL like in VSCode, vim-slime is a plugin that let's you do that. This plugin is such a godsend for me since I really like the REPL workflow of Julia and I can test run my code while experimenting in the REPL with tmux or kitty.

  • 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
  • nvim-cmp

    A completion plugin for neovim coded in Lua.

  • After looking for a very sane completion plugin for a very long time, I found the best one for Neovim. nvim-cmp is a completion engine plugin for Neovim written in Lua. Instead of being a completion plugin for like everything, nvim-cmp is as described, a completion engine plugin. It gets completion sources from other completion plugins. This makes it easy to configure completion sources and control which completions to disable, enable, or even dynamically enable/disable with Lua configuration. The following plugins I will talk about are the completion sources I use.

  • cmp-latex-symbols

    Add latex symbol support for nvim-cmp.

  • There is a plugin I tried which is called julia-vim. However, this plugin is too broken for me. It conflicts with other completion plugins which makes it so hard to either fix or manage my configuration and keymaps. Fortunately, I found cmp-latex-symbols, a completion plugin that as described in the README

  • julia-vim

    Vim support for Julia.

  • There is a plugin I tried which is called julia-vim. However, this plugin is too broken for me. It conflicts with other completion plugins which makes it so hard to either fix or manage my configuration and keymaps. Fortunately, I found cmp-latex-symbols, a completion plugin that as described in the README

  • vim-vsnip

    Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.

  • Have you ever wondered how to have a snippet completion in VSCode so you can write Julia code fast but in Neovim? Fear not! vim-vsnip is the plugin you need. This plugin supports LSP/VSCode's snippet format. But first, you need to install cmp-vsnip for this plugin to be sourced to nvim-cmp. Oh btw, these three plugins: nvim-cmp, vim-vsnip, and cmp-vsnip → are made by the same person which is actually cool! If you want to support them, become a sponsor! (I am poor so I cannot sponsor yet 😔)

  • cmp-vsnip

    nvim-cmp source for vim-vsnip

  • Have you ever wondered how to have a snippet completion in VSCode so you can write Julia code fast but in Neovim? Fear not! vim-vsnip is the plugin you need. This plugin supports LSP/VSCode's snippet format. But first, you need to install cmp-vsnip for this plugin to be sourced to nvim-cmp. Oh btw, these three plugins: nvim-cmp, vim-vsnip, and cmp-vsnip → are made by the same person which is actually cool! If you want to support them, become a sponsor! (I am poor so I cannot sponsor yet 😔)

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