meanwhile there's also text editors that dont make you doubt yourself and fall on your face each time someone walks by ur workstation and you want to show them some kind of space-invaders-word-editing-trick which always fails because your fingers arent rubber bands afterall.
(sorry totally nano lover :p satire/jokes)
Hopefully it's easy to fix
Edit: Went down a rabbit hole and see pacvim (https://github.com/jmoon018/PacVim) is in the official Debian repo as an option as well.
To learn new vim motions. Have since gotten distracted by life, but need to actually finish it.
However, one thing I really struggle with is learning when I can be doing something more efficiently. I rarely use markers, anything beyond default registers, commands, and so on.
I'm giving Neovim a try for my systems course trying to get better but I do wish these sorts of games pushed me to get better at these more advanced usage tricks.
Kinda like how it feels good to play an instrument when you’re good at it, or something.
I might give it a try!
Anyway it’s easily the best time investment I’ve ever made, period. Takes a couple days of messing around, and you can basically never leave modal editing behind! It’s just so much better. I’m still not even a vim master. Just the basic motions and commands are enough to never want to give em up. Throw macros and registers on top… delicious.
Also without vim I never would have tried helix, which is just absolutely the smoothest and most frictionless editing ever. Very minimal setup, too
But Vim is not merely a tool... it's a discipline. A lifestyle. It is not learned in an afternoon, nor in a weekend sprint of neon-highlighted tutorials. No, Vim is best learned like one reads a long, weathered tome: slowly, reverently, one page at a time.
It begins humbly: i to whisper your intentions. <Esc> :wq to seal your work with a sacred rite. Then, perhaps days or weeks later, a revelation: "Wait… I can delete four lines with 4dd?!"
You do not master Vim. You grow into it. Each new keystroke discovered is like finding a hidden passage in a familiar castle. What begins as a cryptic incantation eventually becomes second nature... muscle memory and magic intertwined.
So yes, make it a game. But know that Vim is not beaten. It is befriended over years, not minutes.
You start out and you only have `h,j,k,l` available to you (despite what the help says). So just end up holding the keys and maybe that's fine but then that first level is WAY too big.
Like I got to the second area and it starts talking about word motions and then you try `w,b,e` and it then tells you those keys aren't available. That's not even the first character you talk to that is mentioning movement keys while those keys remain unavailable to you!
I rage quit after unlocking `w,b,e` and moving back to that chest at the beginning only to realize I had forgotten there was a space between the word and punctuation meaning I'd need to unlock something like `B`, `0`, `^`, or even the ability to use numbers which a character had already mentioned to me...
[1/10] do not recommend. I believe most people will be able to read half of `vimtutor` before you will unlock the `b` key in this game as well as have a much better understanding of how vim actually works.
I highly suggest vimtutor to people because what a lot of people miss while learning vim is that there isn't actually much to remember. There's sets of motion keys and sets of command keys. The beauty of vim is that the commands are putting these together. For example, say you learn `b,w,e` and then you learn `d`. You now automatically know `db, dw, de, dd`. You didn't learn 4 new things, you learned 1 new thing. Similarly learning `B,W,E` isn't learning 3 new things, you learn one new thing: capitalized motion keys work on WORDS instead of words (aka: big movements)
However, not everything can be well designed at the beginning. Skills of editing will affect efficiency, especially in a try-and-error loop of new ideas/approaches, where only a rough design exists.
Besides, some niche editing tasks (which may involve column editing, macro recording then batched execution, regex based operation, encoding transformation etc.) may otherwise require writing awk/sed or even perl/python scripts as subprojects to achieve, if one does not known the editor well.
> I’m still not even a vim master.
I can do some things that people using vim for decades didn't know was possible. I'm still not a vim master. How does one ascend to the levels of TPope?Joking aside, I think that's one of the nice things about vim. There's always more to learn. Not in the way that you're missing something but in the same way this is true for any programming language. It's because these tools are so flexible they can do just about anything
Vscode Vim Academy
https://marketplace.visualstudio.com/items?itemName=kaisun.v...
Does that look like what you used?
Why remap? This is native. Maybe your keyboard has brackets in a tough place but that also makes it sound like it's hard to use arrays
I feel like most of these tutorial like apps just scratch the surface and are more beginner focused.
But can anyone truly quit vim? No
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/
I'm in busybox and on OpenBSD quite a bit, and all the vim embellishments would be a clutter of my neurons.
Is there such a thing? I feel like someone has probably made something this - something that progressively works through soem of the more complex features of vim.
I’ve found soem absolute gems mostly through online blogs and reading through vim docs
If anyone has any repos that’d recommended I’d be happy to try!
Make some key bindings. Bind leader to space, and make a leader mapping for writing to the file, and another mapping to quit. Avoid chords.
hardtime.nvim[1] (or vim-hardtime[2] if you're old-school) do exactly this but within your editing session. There's an associated blog post[3] explaining the rationale behind some of the workflow choices and you can of course bring your own.
[1]: https://github.com/m4xshen/hardtime.nvim
https://github.com/cboppert/motd
You might have to futz with it a bit, and I think I've added some other stuff in there since then (love the toggle-light-mode script which toggles several things either to Dark or Light mode at once so I can switch environments easily, however have never gotten it to fully automate, so I have to manually type goDark or goLight depending. Humbug!)
Anyways, it's great cause it gives you one tip or command at a time, and so you can sort of slowly grow without really having to dedicate much time to it.
I haven't seen any other editor that comes anywhere near the capabilities provided by VIM. I spend a lot of time manipulating data into columnar form and for anything early vim does it effortlessly.
:%norm 0f"ldt"i...
There are so many times (even per day) where I'll say to myself: "ahhh, I'll just 'vim' it rather than writing a program..."If I'm not going to have to do it a bunch, sometimes vim itself is faster than writing a script to do whatever random task I need done.
That vi was standardized was one of the many failures of POSIX as an idea. The very idea that we should freeze a text editor for all time is silliness in the extreme.
It took me half a minute to realize that you probably meant "vimtutor is to VIM master what Babbel is to duolingo".
Like, I'd bet "Pay $10 if you like it" / ReaperWare would earn this person literally an order of magnitude more money.
I found a pricing dialog after clicking “buy a license”, it said that six months of full access to the game costs $35.
mark a spot, then yank or delete everything to that line. Way easier to do it accurately rather than 13yy or however many lines you're yanking.
>> hoping it’ an alternative to vimtutor but for experienced/intermediate users.
I think you missed the part where the parent said this... :P :Print
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
This command is not supported in Vim9 script.
Note: A user command can overrule this command.
See ex-flags for [flags].
What does this mean? All I found on the Google was a company that produces sim racing gear.
Wait, I'm the first to say that? That should be a thing.
...or y'x to keep something kindof handy that I can drop in at the right place (sometimes with a macro...)
qadi('xpq => @a => @@...
(Record macro "a", delete inner parentheses, paste from the "x" register, stop recording => play macro "a" => play last macro...)If I keep "x" clean/protected then I can delete or edit the rest of the time all willy-nilly and not worry about clobbering what I'm trying to paste into the right spots.
index.html
directly in your browser.h j k l
, w b e
, gg G
, 0 $
, x
, dd
, dw
, yy
, p
, i
, a
, o/O
, cw
, D
, r
, ex-commands :q
, :wq
3w
, 2dd
, 5x
, 5G
)u
, Ctrl+r
)/
and ?
, with n
/N
navigation and match highlighting:q
or :wq
then Enterh j k l
w b e
gg G
a
+ typing + Esc
dd
, dw
, x
yy
, p
0
, $
h
left, j
down, k
up, l
rightw
next, b
back, e
end0
start, $
end, gg
first line, G
last line (or nG
to go to line n)i
insert at cursor, a
append after cursor, o
new line below, new line above0/0
; n
/N
do nothing.n
/N
wrap around the buffer when reaching the ends.# Clone repository git clone https://github.com/renzorlive/vimmaster.git cd vimmaster # Open directly in a browser (double-click on Windows) start index.html # Windows # or open index.html # macOS # or xdg-open index.html # Linux
npx serve . # then visit the printed URL
index.html
contains all the logic and level definitions.a
, o
, O
cw
(then type, Esc
)D
, r
3w
to move multiple wordsdd
, then u
, then Ctrl+r
/target
then Enter; use n
?alpha
then Enter; use N
n
O
x
delete character, dd
delete line, dw
delete word, D
delete to end of linecw
change word (deletes word and enters Insert)r
then any printable character (supports symbols like ! @ # < > &
)3w
, 2dd
, 5x
, 5G
)u
undo, Ctrl+r
redoEsc
or Ctrl-[
/text
forward, ?text
backward; n
next, N
previous