I have been using Neovim for quite a while. I've created workflows which are suited to my needs. These are some learnings from using Neovim for sometime.

Defaults are powerful. Before using any type of plugin learning the defaults without any plugins is important as not every time personal configs are available on the system and knowing how to navigate around the editor with the defaults is very important.
Neovim without plugins is also usable. The default file manager Netrw is also
usable. Although, for many advanced and convenient features and workflow plugins
come in handy. Another handy editor commands are opening a split pane in
horizontal and vertical split view with :vsp and :sp for horizontal and
vertical split.
In addition to the usual hjkl motion other motions are also present. Moving in Neovim with style to quickly move in the buffer and edit changes.
This motion is so awesome. Suppose there is big text on the same line and I want to go to the beginning of the visual line, I could go like g0. This goes to beginning of the visual line. SO COOL! Another example, is when I want to go to the end of the visual line. I can use s$ to go to the end of the visual line.
Another example of this is when moving between lines. I can use gj to go down exactly below the cursor. Generally, using j and k moves very differently, but this fixes that.
Another great example is using gq to format a big line into sentences in newlines. This is very helpful in files like markdown and any other text based file types.
There’s a builtin spell check which can check grammar in English and other languages which I have not tested. Spellcheck for all types of files doesn’t make sense. Spellcheck can used in normal files like a text file, markdown which are more verbose in grammar.
For only enabling it in markdown files, create a file named markdown.lua in
after/ftplugin with
vim.opt_local.spell = true
vim.opt_local.spelllang = { "en_us" }
content in to it. This file will only enable spellcheck in markdown type file.
The opt_local is used to make the settings applicable only to the current
markdown filetype.
There are also keymaps which can be used to correct the wrong spellings with
To target plain text files one can use text.lua file which targets plain text
files. I have setup wrap, linebreak and spell check only for plain text files.
I’ve learnt a lot from TJ DeVries from his Advent of Neovim YouTube videos. I have also learnt a lot from ThePrimeagen’s Neovim YouTube videos which are available on YT for free. There is also the official documentation which also has a lot info on how to use Neovim.
Published on and updated on in Guides tagged with linux text editor guides