« Previous post in this series
This is the last post in this series on my Neovim setup. I didn’t cover as much as I wished initially. However, as my current configuration has remained relatively stable for the last two months, I deduce that I have done what I really need in terms of plugins and additional features. I must confess I also rewrote from scratch a minimal Emacs config to deal with Lisp languages from times to times. I installed VS Code long ago, but I barely use it. I guess I’ll remain stuck in a terminal for quite some time to come.
Here’s the list of plugins I have in my init.lua
:
require('packer').startup(function()
use "wbthomason/packer.nvim"
use {'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim'}
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
use {
'nvim-telescope/telescope.nvim',
requires = {'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim'}
}
use 'neovim/nvim-lspconfig'
use 'nvim-lua/lsp_extensions.nvim'
use 'hrsh7th/nvim-compe'
use {'vlime/vlime', rtp = 'vim/', ft = 'lisp'}
use 'mhartington/formatter.nvim'
use {'itspriddle/vim-shellcheck', ft = 'sh'}
use 'mfussenegger/nvim-dap'
use {
'b3nj5m1n/kommentary',
ft = {
'rust', 'python', 'haskell', 'c', 'cpp',
'racket', 'julia', 'javascript', 'r', 'sh',
'html', 'css'
}
}
use {
'theHamsta/nvim-dap-virtual-text',
ft = {'rust', 'python', 'haskell', 'c', 'cpp'}
}
end)
Well, that’s it. I don’t really need lualine
(previously, I was using my own status line), but it’s fast enough that I don’t care. I know nvim-cmp superseded nvim-compe
some time ago, but I don’t really care as the later works for me. I really like gitsigns
since it comes with built-in blame and hunk preview. Surely treesitter
is a thing, but I’m waiting to see if nvim-treesitter-textobjects could be useable for Lisp/Scheme languages at some point. The kommentary
plugin is not really necessary for my day-to-day scripting tasks in Bash or Python, but I keep it in case I need to work on biggish Python or Rust projects. I know the Debug Adapter Protocol is used in VS Code and Emacs. I tested it in my Python projects, and it works great. Let’s see how it goes with C and Rust toy programs in the future. I know there are other alternatives to formatter
, especially those who are closer to ALE than others, but actually my config is okay.
Here is my whole config in case you are interested (this includes Zsh and Tmux settings): vim+zsh_2021-09-21.tar.gz.
iron.nvim
, neogen
, neogit
, nvim-parinfer
, vim-test
, vimtex
; [start] Comment.nvim
, null-ls.nvim
, nvim-lspconfig
, nvim-treesitter
, ̀packer.nvim
, plenary.nvim
, telescope-bibtex.nvim
, telescope-fzf-native.nvim
, telescope.nvim
), and pieces of mini.nvim that I grabbed by the end of 2021 and customized to my liking.