An upgrade day
I did a round of updates to my home box over past several weekends. It feels pretty good, and is almost comparable to my Linux based dev setup. Below are some notes for the curious terminal enthusiast.
After postponing this one for years now1, I am so glad to finally take the
plunge. Native language server protocol integration is wonderful.
Similarly Lua feels tad faster2. Migration from
vim was as easy as
vimrc to start with.
I found nvy to be the perfect minimalist GUI for neovim. Supports
DirectWrite based text rendering with support for ligatures. Other alternatives
like the bundled
neovim-qt are feature rich but the rendering was not up to my
Notes on plugins.
- Startup time for
nvimwas quite slow at ~400ms. tweekmonster/startuptime.vim helped profile and measure as I started trimming the plugins.
vim-plugworks great. I didn’t consider changing it too much.
- For LSP, replaced
Cocwith nvim-lspconfig and nvim-lsp-installer for managing LSP servers.
alewith null-ls and trouble.nvim for linter integrations.
- Tree sitter is amazing for syntax parsing and highlighting. Replace
Nerdtreewas a primary contributor to startup latency. Replaced with https://github.com/kyazdani42/nvim-tree.lua.
My configurations are in init.vim. For LSP related plugins, the configurations are lua based. See config.lua.
neovim looks for
$env:AppData, a trick is to set
$env:XDG_CONFIG_HOME=~\.config\ and let
neovim do all lookups there. This
also has the nice benefit of keeping the directory under source control.
Current startup time is ~250ms.
Where do you find these plugins? Neovimcraft is a great companion directory to Vim Awesome.
Wezterm replaces conemu for me. The biggest
selling point was the awesome configurability. And guess what it gives? A key
mapping that’s almost matching
I couldn’t have asked for anything more.
My configuration is in .wezterm.lua.
A good font
With all the nerdfont patch business, I struggled a bit to find a working version of patched Cascadia Code. Scoop has a nerdfont bucket, but it has older patched versions.
Well someone automated patching with Github Actions. And we have Delugia
Code. Delugia is my defacto in
vim guifont and
wezterm. Works amazingly
More commandline awesomeness
I will end this post with five more amazing tools.
- If you’ve used ranger file manager in Linux, you’re going to love lf.
- bat is an amazing cross platform
catreplacement with syntax highlighting. And
fzfhas a great integration within vim.
lfsupport is a nice add-on.
- glow helps preview markdown on the terminal. Again comes with a nice nvim
- autojump is
cdon steroids with fuzzy match. It’s a life saver. If you’re looking for powershell integration, look no further.
- lazygit is on my todo list to try out. I’m hoping it will replace fugitive.vim for me. Let’s see.
Finally, scoop is the missing package manager for Windows. Highly
recommended for the
See you all in 2022.
Don’t fix if it ain’t broken. And laziness of course. ↩
Subjective opinion. See https://github.com/vim/vim/issues/8606#issuecomment-884667566 for some numbers. ↩