I am a vscodium user who has begun to get increasingly frustrated over lack of commands to do some simple things.
So, as a longtime GNU/Linux user, who only knew basic commands to survive in vim, I decided to change my habits.
installed flavours of neovim(lunarvim, nvchad, and astronvim, in that order) and started tinerking. then switched to kick start.nvim.
on Android, I'm using plain neovim since there seems to be some missing lib for mason, the neovim package manager.
passing away of Bram Moolenaar has made me accelerate faster towards the day where my machine would be clean of any electron bloat.
I'm still very much a novice, and continue using codium in office, but I am committed to using neovim as I believe it's truly a great editor(second to Emacs, of course).
image transcription:
famous still of Nicholas cage with his eyes closed, smiling as his hair flow.
above it is the text that reads, 'learning about ci" in vim.'
explanation for the command ci": c: change. analogous to delete(d) followed by insert(i) i: inside ": the double quote
so, it's basically change inside double quote(easier to remember as it sounds exactly what it does).
you can similarly do di((delete inside parenthesis).
an inferior alternative on vscodium would be shift + alt + right/left arrow
ci" means change inside ""
ca" means change around ""
the " can be replaced with any of: ({[wspbt
For changing inside or around parentheses, curky brackets, square brackets, words, sentences, paragraphs, code blocks and HTML tags respectively.
So for example if you want to replace all parameters in a function call you just do ci(
But that's not all, the c is one of the possible operators, but not the only one.
di{ deletes the content of a block
ya[ copies the content of something inside square brackets
g~iw swaps the case of a word
guis makes a sentence lower case
gUip makes a paragraph upper case
And the most useless one:
g?at replaces the content of an HTML tag with its rot13
I used to use stock Vim but recently I've started using Helix which is like a more user friendly version of vim (copying to clipboard is easy) and I'm loving it!
bram was a chad, mate. I once opened vim without any file(just plain vi) and saw help poor children in Uganda. read whole uganda.txt file and then saw how his organisation is fully involved in getting material benefits to the ground. further went down the rabbithole and saw his org's photos in uganda.
made me really appreciate the man.
vim's shortcuts like these are giving me 'gasms and regret(that I wasted so many collective hours using Ctrl + arrow/mouse over this). it's a weird feeling.
and yeah, you never learn vim. you just learn it enough.
Funny I had to Google ci" to remember what it does even though I use that sometimes.
I've committed to learning vim years ago and in most situations im faster in vim than in nano etc. (especially because of muscle memory) I still feel like I'm not properly using vim to it's full extend (like whenever I remember using registers it feels like magick and I'm sure there's more like that)
I tried it twice. it require enabling affinity support, which causes vscodium to freezes after an hour of use. might be an issue just on my machine, but it made be use just nvim :)
Now that you know about ci(, I highly recommend taking a look at tpope's plugins. Especially the surround plugin. It can change the surrounding parentheses and tags (if you're editing an HTML or XML document). Quite cool. Also, there's much more in tpope's library of pugins.
PS, did you know that zsh has a vi mode, where you can use typical vi commands to edit the command prompt instead after the default ones? Quite useful as well.