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
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • 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

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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

    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.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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