Modern Vim: Craft Your Development Environment with Vim 8 and Neovim
Book Details
Full Title: Modern Vim: Craft Your Development Environment with Vim 8 and Neovim
Author: Drew Neil
ISBN/URL: 13:978-1-68050-262-6
Reading Period: 2019.08.04–2019.08.08
Source: Ad-hock browsing at the library
General Review
-
Read this book if you want to learn how to use Vim/Neovim more like an IDE.
-
The book explains how to configure and use various plugins to provide IDE-like features to Vim.
Specific Takeaways
-
You should try out "non-official" forks of open-source software that interests you.
-
By exploring and supporting such "non-official" forks, the software actually develops more.
-
For example, Neovim is one such worthy project to check out (apparently the story is that the original creator of Neovim submitted a pull request adding asynchronous operations support to Vim, but was rejected)
-
To Internalize Now
-
The quickfix list is global across buffers, whereas the location list is a window-local quickfix list
-
To generate help tags after installing plugins, run
:helptags ALL
-
To scroll up and down without moving the cursor, use
<C-e>
and<C-y>
-
To execute a command in shell and read the output back into Vim, use
:read !<cmd>
-
Use more of
<Leader>X
key for commonly used commands -
Use
<C-^>
to switch to alternate-file -
Use
<C-x>
to decrement number and<C-a>
to increment number -
Use
expand()
to expand variables. E.g.,:echo expand("%")
To Learn/Do Soon
-
Look through all the normal mode commands starting with
g
(:help g
) -
Revise how to properly use Vim's in-built help system (
:help help
)
To Revisit When Necessary
-
How to install plugins using Vim's new in-built package manager
-
How to configure quick alternate files jumping (e.g., header and source; source and unit tests) using vim-projectionist plugin
-
How to configure Vim to run compiler / linting / tests
-
How to configure Vim for a better file searching experience
-
How to use terminal in Neovim
-
How to use neovim-remote to avoid multiple instances of Neovim
-
How to configure Vim to run certain commands asynchronously; use Vim job control