Previous Post | Top | Next Post |
TOC
Neovim setup situation.
Since I was getting tired of constantly evolving Lazyvim, I took time to investigate alternative preconfigured Nvim setups.
Upstream https://neovim.io/ has links to:
I realize that once popular LunarVim is no longer maintained (reddit).
The overview of neovim plugins for “preconfigured-configuration” is available at:
These lead me to the conclusion that all actively maintained “preconfigured-configuration” uses lazy.nvim as the plugin manager.
Following 4 plugin managers seemed interesting. Here are images after typing
<space>
in NORMAL mode.
- LazyVim’s official starter – cluttered
- AstroNvim’s template – nice, compact, usable
- NvChad’s official starter – compact but vague
- kickstart.nvim – good baseline for experiments
After some tries, I decided to migrate back to AstroNvim (now V4).
NOTE: Lazyman Neovim Configuration Manager was interesting meta-manager for these “preconfigured-configuration” but it was a overkill and too much complication. So I use alias and environment variable settings in
~/.bashrc
with$NVIM_APPNAME
.
Migration tries to AstroNvim
See AstroNvim with osamu’s customization which has most of key features I had in my LazyVim setup.
I updated values for vim.opt
to conform to OPT-IN philosophy for features.
Newly added notable definitions are:
opt.timeoutlen = 300
(AstroNvim default seems to be 500. Matches LazyVim.)g.editorconfig = false
(nil -> explicit false)- Somehow my intial try of
:set hls
didn’t work as expected.
Ater some tries, I got annoyed by the system default overriding and setting syntax (especially keymap).
Also, I realized my rocky experience of LazyVim seemed to have come from LazyExtra package setting lost by git command. It was not checked in and was very prone to be erased.
Since AstroNvim had 2 nice features over LazyVim:
- Compact and visually easy which-key menu.
- Many native option features had
<leader>u
bindings to toggle and set. nvim
v0.9 supported
Coming back to LazyVim
Since I am using nvim
v0.10 series, I decided to enhance LazyVim by adding
missing features (2024-06-21).
- LazyVim customized after typing
<leader>
- LazyVim customized after typing
<leader>u
- LazyVim customized after typing
<leader>x
(This customization is on-going activity.)
I think I have good enough for my normal uses.
I keep diagnose and spellcheck are ON but most of auto-input features are off.
I ended up not to install bqf-nvim
nor qf.nvim
since LazyVim had enough
capability without them for managing Quickfix List.
This is because LazyVim uses telescope
or fzf-lua
. It can provide quickfix list
down-selection capability as installed. With customization as described below, it can manage quickfix history too.
Quickfix history
Please note down-selected list from both Quickfix list and Location list are sent to the top of the quickfix list history.
For my ease of operation, I made duplicate keybings for <leader>sq
etc. in <leader>xq
etc..
Quickfix and Location List shown in Telescope can be operated using:
<Tab>
: Mark item<S-Tab>
: Un-mark item<C-q>
: Send all items not marked to quickfixlist (qflist)<M-q>
: Send all items marked to quickfixlist (qflist)
Quickfix list history can be managed via Telescope by adding the following keymap:
map("n", "<leader>xh", "<cmd>Telescope quickfixhistory<cr>", { desc = "Quickfix History" })
With this setup, I don’t need any more plugins to use quickfix features.
NOTE: I updated to use LazyExtras editor.fzf
. So no more Telescope ...
but
FzfLua ...
and also desc = “Quickfix Stack (FzfLua)”
(I think XML tag insert and tripple-backtick insert features are ON by some FT plugin.)
NOTE: Many features get decent defaults in LazyVim than stock nvim
.
:set virtualedit="block"
- Saner behavior of n and N
which-key v3 updates
I updated my LazyVim customization further on 2024-08-11. Now notices are dismissed when <esc>
is pressed.
Also, <leader>u
-group is more interesting:
Previous Post | Top | Next Post |