I have been hacking away at Vim for a long time. There will be a long post on using Lazyvim for incredible power, but even the basic vim is crazy powerful. So as I’m writing lots of code right now
Yank buffers
I keep forgetting many of these commands, but if you want to to yank something and copy it repeatedly.
So the magic commands are to add something you need to run a yank noting a buffer.
“ayy this means yank the line in buffer a
“ap. Means but that register in.
With LazyVim when you type a quote it will show you the buffer contents
Mark to return to locations
Then you can go to the location you want and then
ma means mark that location in buffer a
‘a means go to the location in buffer a
Macros
This is always been confusing but today what buffer and then q ends the macro
qa starts the macro and stores in b register
q and the macro
To run the macro from with “a
Substitution patterns, substitutions and repeats
Ok substitute just to be pretty simple
:s/^.*$//. This mean at the beginning with ^ and .* matches anything and then $ for the end
But patterns can be complex and they have short cuts so this matches digits
:%s/\d*// This means % for the whole buffer and \d is shorthand for [0-9]
If you want to rerun the last substitute then && does that.
Substitute replacement patterns
This is where the syntax gets really ugly but if you put \( and \) in then you can refer to those patterns in the replacement so this goes through the buffer and leaves you with just non digits so if you have a url with a number in between and get rid of all the junk and then the \2 means the second pattern group which are the numbers got that.
%s/.*\(\d*\).*/\2/
The nice thing about Lazyvim is that it highlights what the selection is and shows you what the replacement would be.
LazyVim, : map and Which keys
One very nice neovim plugin is Which-keys which if you type the leader key. This is usually \ although pros change it to a SPACE for convenience. In too used to using space to move forward. But if you press backslash, quote, double quote you can see what’s in the buffers.
This only works for things that are uncommon like ‘g’, but if you want to know about Ctrl keys then you should search ‘:map’ or for LazyVim look at the key map page.
Leave a Reply