[HN Gopher] Show HN: I built an online interactive course that h...
___________________________________________________________________
Show HN: I built an online interactive course that helps you learn
vim faster
Author : CoffeePython
Score : 433 points
Date : 2021-01-20 13:46 UTC (9 hours ago)
(HTM) web link (www.vim.so)
(TXT) w3m dump (www.vim.so)
| ehershey wrote:
| It would be nice if you at least listed what the exercises are
| before asking for money.
| geordigeordi wrote:
| I agree to a degree. Listing a bit more about Vim itself for
| someone that might be coming from a development background but
| does not specifically know about Vim and it's benefits could be
| good, and maybe what TYPE of exercises will be involved (What
| will I be be able to do at the end) - but keeping the exercises
| a little secretive is great to keep interest :)
| buzzerbetrayed wrote:
| Wow, this is incredibly scummy. Basically your logic is, "If
| they knew what I was selling, they wouldn't buy my course.
| But if they don't know then I might trick a few of them in to
| buying something they don't want".
|
| edit: Note, I realize this isn't OP that I'm replying to. Not
| sure if what I wrote makes that clear.
| tomwojcik wrote:
| Couldn't find it anywhere either. Here is the list from twitter
| https://twitter.com/KennethCassel/status/1351916897823059970
| 488pista wrote:
| Thanks for this I always used nano or pico because it was easy
| and always wanted to use vi but found it really strange like to
| exit & save you have to do :w! or something like that.
| zappo2938 wrote:
| Make it multi player via websockets and a server
| rav wrote:
| Nice trial exercise on the front page. While trying it out, I
| wanted to use the backspace key, which in Vim moves to the last
| character on the previous line (when used on the beginning of a
| line, that is), but that didn't work - backspace on the start of
| the line doesn't seem to move the cursor at all.
|
| I was pleasantly surprised that cw and D are implemented
| correctly though, so props on that!
| mr-wendel wrote:
| Want to learn vim and make it stick?
|
| 0. Learn the basic movements and UI interactions. Do NOT use the
| arrow keys. Your future self will thank you tremendously.
|
| 1. Search DuckDuckGo for "vim cheatsheet" and find one that
| provides a good summary of commands thats organized to your
| liking.
|
| 2. Print it out and post it somewhere easily accessible to your
| working space.
|
| 3. Each-ish day, review the cheatsheet a bit and pick one one new
| kind of command that looks useful. Try to integrate that command
| into your workflow throughout the day. It'll be clumsy at first,
| but after you do it a few times you'll be surprised at how much
| faster this gets.
|
| Focus on movement and editing first. Take note of sequences that
| seem to take a lot of work, as almost guaranteed there is a
| faster way you can integrate in later.
|
| Once you've got a small core built up, do another review and
| research more specialized topics:
|
| - .vimrc, colors, and customization
|
| - plugins
|
| - buffers, windows, etc for quick workspace organization
|
| - macros ... and macros within macros!
|
| - visual blocks
|
| - various useful commands for advanced editing (e.g. regex based
| find in replace in an entire doc or visual block is epic)
|
| Give yourself time and try not to be too loud when you have your
| first "A ha!" moment when you randomly try a completely new key
| combo that you think _should_ work and it actually does exactly
| what you hoped.
| Tepix wrote:
| If you want to internalize the vi cursor keys hjkl a good and fun
| way to do it is to play "hunt" (part of the "bsdgames" debian
| package, man page at
| https://manpages.debian.org/unstable/bsdgames/hunt.6.en.html ).
|
| Hunt is a text based 2d multiplayer labyrinth deathmatch game. It
| even has a unique feature: Labyrinth walls that you can shoot and
| that will eventually regrow (sometimes different than before).
| varbhat wrote:
| Before trying these courses , Please try _vimtutor_ that comes
| bundled with vim . After practicing with _vimtutor_ , you can try
| these additional courses.
| kkoncevicius wrote:
| first _vimtutor_ and then _:help user-manual_
| rjvir wrote:
| Looks like "vimtutor" is primarily text explaining the hotkeys.
|
| For me, the bottleneck to picking up vim has not been merely
| knowing the hotkeys, but more internalizing the commands and
| building muscle memory.
|
| The interactive game format of this website could possibly
| solve that, so it appeals to me.
| pksebben wrote:
| vimtutor is designed for you to use it regularly to train
| muscle memory
| baconsteakey wrote:
| It says this in the 3rd or 4th paragraph:
|
| > It is important to remember that this tutor is set up to
| teach by use. That means that you need to execute the
| commands to learn them properly. If you only read the text,
| you will forget the commands!
|
| And it's free, not 15 USD or whatever this site is charging.
| mhaberl wrote:
| For anyone wondering, you use it by executing vimtutor in
| terminal (not in vim).
|
| Also, you exit by pressing ESC and then typing :q (hit enter)
| libria wrote:
| How fitting that the tutorial for vim needs its own pre-
| tutorial for exiting.
| alfiedotwtf wrote:
| Having seen machines that have hundreds of Vim sessions
| opened because "system integrators" didn't know how to exit
| Vim, it should be the very first thing taught
| Izkata wrote:
| It's also in the tutor, lesson 1.2
|
| But there's actually nothing special about vimtutor here:
| all it does is write a temporary file and then open it in
| vim.
| samstave wrote:
| Before replying to your post I upvoted, I had to hit a link
| called [REPLY]
| CoffeePython wrote:
| Yep I'd definitely recommend the same, vimtutor is great.
| asciimov wrote:
| What does $15 get me? I don't see any listing of the lessons.
|
| Why is this better than vimtutor?
| xalava wrote:
| I know that vim is particularly enjoyed. The site looks nice and
| I wish you the best luck with this.
|
| But for beginners, I now recommend micro as a console text editor
| (https://github.com/zyedidia/micro). It's a one line install with
| all the shortcuts and display that have become a standard across
| editors.
| patrec wrote:
| Does anyone know who had the bright idea to replace vi with
| nano as the standard text editor and why this became some sort
| of standard?
|
| I really don't get it. Vi is unintuitive and unfamiliar to unix
| newebies, but at some point every even half-competent person on
| unix could use it enough to at least do simple config file
| changes. Plus, if you took time to learn it properly, you
| actually knew a quite capable editor. And the beginner
| unfriendliness could presumably have been mostly fixed, without
| much cost to existing expert users. For example by defaulting
| to some helpful status message how look at help and insert text
| (and have cursor keys and Ctrl-S etc. work as "expected" in
| insert mode). Or maybe a message "press Ctrl-D to enter newbie
| mode" that experienced vimers could just ignore but would
| provide CUA style keybindings and modeless editing to everyone
| else.
|
| Instead now everyone has to deal with a new (and for proficient
| users really quite worthless) editor with its own set of
| completely bizarre keybindings (not emacs, not readline, not
| vi, not CUA), but none of the upsides that come with emacs or
| vi's idiosyncracies. Ctrl-O to save? WTF? Literally the only
| advantage over vi is that it displays some instructions at the
| bottom, albeit not in a form any real newbie would understand
| at all.
|
| Nano (and by extension this) feel like the worst of all
| possible worlds -- what am I missing?
| easton wrote:
| The logic I always thought was that if you are working at the
| console on a server and dealing with the default $EDITOR, you
| most likely are doing some kind of emergency maintenance. In
| this scenario, you want to throw the most gentle/easy-to-use
| editor at the user to ensure they don't accidentally
| overwrite a file or something else because they've been
| trying to bring prod back up all night and can't see
| straight.
|
| If you use the box for more than 5 minutes a year, you'll
| probably change it to vim or whatever you prefer anyway.
| windexh8er wrote:
| I think some (maybe vim experts) jumped a bit too quickly to
| _vimtutor_. In some regard, I agree. But I tried the initial
| exercise on my 8 year old and was impressed, so I purchased to
| have access to the rest. I 'd say I'm a sub-par intermediate vim
| user - knowing enough to know that I don't know or use the true
| power of vim day to day, but have memorized a few "tricks" that
| seem to impress basic vim users. Hoping I can leverage this to
| break a few bad habits I've gotten into. Nice UI and I think the
| pricing is fair. Hopefully the content expands, but even if the
| service isn't around more than a few years I feel like the $15
| will have been worth it. Nice work!
|
| Edit: question for Kenneth - do you plan on expanding the
| content?
| chapium wrote:
| There is no way I'd spend money on this. It looks like every
| tutorial on vim, but with a stopwatch. It would be more
| compelling if a TOC or summary of lessons were provided.
| tyingq wrote:
| I do like the idea, but it doesn't seem to support some expected
| features.
|
| Like <esc>:5d doesn't delete line #5. I get "Not an editor
| command"
|
| Edit: Looked into it, and it's using the Ace Editor[1] with vim
| key bindings. Which seems like an odd choice for a Vim tutor,
| since Ace doesn't really try to be a true Vim workalike.
|
| [1] https://ace.c9.io/
| gnubison wrote:
| Implementing a full vi clone seems like a nightmare -- the
| POSIX specification makes me lose hope in humanity :) For
| instance, what does :delep parse to? I would never have guessed
| that it was the :delete command with the "p" flag (because
| :delete p deletes into "p).
| tyingq wrote:
| There's a WASM port of Vim: https://rhysd.github.io/vim.wasm/
|
| You can even do _" <esc>:e tutor"_ to run vimtutor. Also, _"
| <esc>:export"_ does an http download of the current buffer
| contents.
| maddyboo wrote:
| /%<cr>qqnxq@q@@@@...
| fctorial wrote:
| Another useful resource:
|
| http://vimcasts.org/
| brazzy wrote:
| See also https://www.openvim.com/
| _jcrossley wrote:
| Enormous vim fan here. I've been toying with the idea of 1:1
| "tutoring" of beginner vim and other Unix tools. If anyone might
| be interested in a free 1st lesson, send a DM!
| andreilys wrote:
| I've started dabbling in Vim and Unix tools. Would love to try
| out a first lesson, what's the best way to reach you? No dm
| feature on HN unfortunately
| billars wrote:
| now it is time to brag on how gets the best scores in Vim I think
| :) :
|
| Your average time was 0.32s. Click below to share your time on
| twitter and compete with your friends.
| julianlam wrote:
| /%x
|
| Perhaps? haha
| jimmar wrote:
| Yep. Then nxnxnxnxnxnxnxnxnxnx.
| _steady wrote:
| nice site
|
| could do with taking out your console.logs
|
| ```export default function KeyChar(props: any) {
| console.log(props); return ( <span className="text-gray-800 bg-
| gray-100 text-xl leading-5 py-0.5 px-3 border shadow-md border-
| gray-300 rounded-md text-center"> {`${props.keyChar}`} </span> );
| } ```
| CoffeePython wrote:
| Hey y'all!
|
| I built this interactive course after a year of learning vim and
| finding it to be extremely useful in my day to day development
| experience.
|
| The course is designed to give you lots of interactive practice
| so you can develop the muscle memory needed to effectively use
| vim.
|
| Would love to hear what you guys think about it :)
| alfiedotwtf wrote:
| Well done on building this.
|
| For some meta-advice: ignore all the salty comments in this
| thread... it must be a full moon
| enriquto wrote:
| I just see a gray screen (after enabling javascript).
|
| EDIT: with another browser, it seems to work, and it looks very
| cool! But I wonder, what is the interest of learning vim
| _outside of vim_? What are the advantages with respect to the
| similar tutorial "vimtutor" that comes with vim itself?
| CoffeePython wrote:
| Awesome, glad you got it working :)
|
| I use vim inside of vs code and it's been awesome for my
| workflow.
|
| vimtutor is a fantastic resource and I'd definitely recommend
| using it for anyone interested in learning vim.
|
| vim.so gives you more interactive exercises and helps to show
| you real life examples of where and how vim would be useful.
|
| Thanks for checking it out!
| drKarl wrote:
| If you use vim inside vscode check Onivim 2 out
| ahussain wrote:
| I purchased the course but was disappointed that it doesn't go
| much beyond the basics. For example, there is no tutorial on
| the dot (.) command, which is one of the main productivity
| hacks for vim users.
|
| There's also no mention of the slash '/' command, moving to a
| particular line number with 'Shift-G', 'dw' for deleting words,
| or any number of things that are essential to know if you want
| to use vim effectively.
| cassepipe wrote:
| Thanks for the feedback
| arthurcolle wrote:
| What does the dot command do?
| flaviuspopan wrote:
| Repeats the same command previously run. So if you used
| 'ci"' for (change text in quotes) and entered a new string,
| you can jump to a new line and hit . to replay your last
| series of commands.
| arthurcolle wrote:
| I only ever made it to running searches within vim with
| forward slash, but thanks this is useful to know. I love
| only using the keyboard but can never easily internalize
| all the useful macros that can be used.
| akho wrote:
| I don't want to spend $15. Does it just tell you to run vimtutor?
| It should just tell you to run vimtutor.
| fingerlocks wrote:
| Can someone please explain to me _why_ I should learn vim? I 've
| made several attempts in my lifetime because I thought there
| would be some magical "ah-ha" moment, but it never came.
|
| Separate modes for command & insert just feels inherently clumsy
| and slow to me. Is there some other killer feature that can't or
| hasn't been reproduced by modern editors?
| dbrueck wrote:
| Speed of editing files (especially code, but not just code) is
| unparalleled. Anytime I have to use something besides vim, it
| feels like trying to run in knee-deep water - so sluggish.
| webo wrote:
| For me, it's mostly the key bindings rather than the program
| itself. I use vim key bindings on whatever the latest $editor
| is rather than learning its keyboard navigation. I got
| introduced to vim very early on though.
| fao_ wrote:
| > Can someone please explain to me why I should learn vim? I've
| made several attempts in my lifetime because I thought there
| would be some magical "ah-ha" moment, but it never came.
|
| It's faster. I've been using vim motions for almost 9 years at
| this point, 8 years in vim, vi, ex-vi, neovim, etc. Most
| recently I've moved to Doom Emacs (Which feels like an editor
| I'll be using in whatever forms it takes, for the next 20+
| years). The experience of when you get used to it is
| essentially that you are so practiced with the motions that
| they become sub-concsious, muscle-memory. I don't have to think
| about where to place the cursor, figure out where the mouse
| cursor is, deal with a bunch of weird pasting tricks. To delete
| a line I just have to will myself to delete it (using 'dd'),
| just like I don't have to think about the complex action of
| getting up off the bed, I just do it (At least, on days when Mr
| Depresso isn't visiting). Eventually, it feels like the editor
| is part of you. And at this point I can't give up vim motions.
| Editing in anything else is uncomfortable and painful because
| the ease and speed with which vim allows me to do complex
| motions and actions is so convenient.
|
| I can't speak for your experience, but for me I had to struggle
| through it a bit until I found the 'ah-ha' -- that might not
| come for you, or maybe you haven't found it yet, unfortunately.
|
| I would look into using more motions, don't see it as a
| replacement for Gedit, or Atom, or any of the mouse+keyboard
| text editors -- it's not. Trying to use it like those will lead
| nowhere.
|
| The trick that worked for me is to find motions that are
| convenient, and move ESCAPE to a more palatable key -- I
| swapped it with CAPS LOCK, since I pretty much never, ever have
| to use that key (I can always highlight 2 words with `v2w` and
| press `~`, which will swap the case of it, anyway). The
| 'finding of the motions' is important. I spend 90% of my time
| in a text editor moving, and cutting text, rather than typing.
| A motion like `}` allows me to move the cursor down a
| paragraph, `d}` will delete said paragraph, `v}y` will copy it,
| etc. Often I find myself deleting `t`o a place. So I can do
| `dt#` to delete to the comment at the end of a line. ^O will go
| to my previous cursor position, etc.
|
| I would also recommend looking up Practical Vim -- it's
| probably the best Vim handbook out there (Easily accessible via
| genlib if you want to try before you buy), and there are still
| things in there I haven't learned and integrated into my
| workflow yet (For example, `vi)` to fast-edit bracket
| sequences, that I haven't bothered with much).
|
| ---
|
| Regardless of all of that you need to decide if that effort is
| worth it _for you_. I know an extremely skilled programmer who
| writes and deals with extremely complex code just using Gedit
| (previously Geany).
| gnubison wrote:
| In vim, most commands take the form "[count] operator [count]
| motion". When you learn a new operator, you can use it with any
| motion that you know and vice versa; and you can add a count to
| either. To give a few examples:
|
| - gqip to format (gq) a paragraph (ip).
|
| - g?g? to ROT13 a line (doubling the operator makes it operate
| on the current line -- in this case, g?? also works).
|
| - y2w to copy (y) the next two words (2w) -- this requires you
| to be at the start of the word, but you could use y2aw if you
| were in the middle of a word.
|
| - dj to delete (d) two lines (j); see ":h linewise".
|
| - dt. to delete (d) until a period (t.), not including the
| period.
|
| - y% to copy (y) until the matching parentheses (%). If you
| aren't already on one, vim searches until a "(", which means
| that you can use this to copy a C-like function call.
|
| Additionally, a subset of these operators and motions are
| available in plain vi, which is available on any POSIX system
| (Linux, macOS, *BSD, ...)
|
| It should be possible to do this with a "regular" type of
| editor, where you have a keyboard shortcut to, for instance,
| select to the matching parentheses; there just aren't any
| editors (that I know of) with the same range of motions and
| operators as vim.
|
| Not moving to the arrow keys or using ctrl-, alt- far outweighs
| the cost of switching between insert and normal mode.
| rossmohax wrote:
| > but you could use y2aw if you were in the middle of a word.
|
| Wow, how does it work? Why y3aw doesn't fully work for 3
| words (it captures space before the word I started with)?
| vbrandl wrote:
| y2iw should copy without enclosing spaces. My mnemonic is
| "inner word" vs. "a word".
| gnubison wrote:
| Playing around with this, [count]iw seems to have some
| really strange behavior -- I need to do 3iw to select two
| words, 5iw to select three words, etc.? I'm not sure if
| I'm missing something. (I normally don't use many text
| objects; bdw is in my muscle memory instead of daw, for
| example.)
| fingerlocks wrote:
| I appreciate the tutorial, but I probably do already "know"
| vim, but it's not part of my muscle-memory. Context switching
| to something like writing an email or filling out a web form
| really makes it not worth getting too comfortable with all
| these esoteric shortcuts. Do you write all of your emails in
| vim and browse the web on the command line as well?
|
| From reading the rest of the replies, it sounds like the real
| answer is "because it's everywhere", which isn't really
| satisfying. I don't work on lots of machines that aren't my
| own (embedded/mobile space, which _don 't_ have vi
| installed!), so I don't actually encounter it everyday
| despite living on the command line.
| sigil wrote:
| > Do you write all of your emails in vim and browse the web
| on the command line as well?
|
| Yes! I use mutt + vim. Composing emails in a textarea is a
| terrible experience by comparison. (Respect to emacs mail
| mode users, that's a great option too.)
|
| I also use w3m for browsing technical stuff, and use tmux
| for copy & paste into vim.
| gnubison wrote:
| Sorry -- I never know when to assume a large amount of
| knowledge or a small amount of knowledge. The worst for me
| is "ctrl-w" to delete a word backward in Insert mode, and
| to delete a tab in the web browser :) Vim is in my muscle
| memory and it's faster for me, so that's why I use it. It
| might be faster for you and it might not be faster for you,
| and if you don't need the portability for POSIX machines
| it's probably not worth the time.
| bmurphy1976 wrote:
| If you live and breath the command line it's a great skill to
| have because it's available everywhere and it's a very powerful
| editor. If you're not a heavy command line user, you are
| probably fine sticking with whatever you already know.
| ttt0 wrote:
| Modern editors often implement a vi mode, so technically
| everything already has been reproduced in modern text editors.
|
| Aside from just decades of experience in efficient editing of
| plain text files over slow connections plus all the modern
| stuff on top, I'd say text objects, which is one of the first
| things you learn about vim. And it's not a web browser.
| Fellshard wrote:
| Higher precision in intent for many standard operations. These
| aren't perfectly Vim commands, but from the Vim-like 'evil
| mode' for emacs, I have some examples of common idioms I use
| frequently:
|
| - 'I want to change the name of this variable. <cw> (Change
| Word)'
|
| - 'I want to copy the contents of this braced block. <yi{>
| (Yank Inside Matching-braces)'
|
| - 'I want to surround this word in parentheses. <vaws(>
| (Visual-mode (region selection) Around Word Surround-with
| Matching-parens)'
|
| You get used to the separate modes fairly quickly. Your
| existing editor already works that way when switching between
| 'region' and 'insert' modes; it's just the command mode that
| throws people off initially. It's not that rough, especially if
| you have a reasonably placed key to return to command mode.
| fao_ wrote:
| > - 'I want to surround this word in parentheses. <vaws(>
| (Visual-mode (region selection) Around Word Surround-with
| Matching-parens)'
|
| Holy shit, thank you. I've been looking for something like
| this for half a decade and never found it (I don't even know
| how I missed it!)
| Fellshard wrote:
| I believe Vim-proper needs a plugin for that behaviour, so
| keep that in mind.
| fao_ wrote:
| Do you know what plugin it is? I will try to search for
| an evil version (Or I could just write my own, but my
| task list is large and my energy very low these days)
| benjaminogles wrote:
| https://github.com/tpope/vim-surround
| mellavora wrote:
| ysiwb yank-surround-in-word-brackets also does it. If you
| have https://github.com/tpope/vim-surround/ installed.
| Fellshard wrote:
| Thanks for the translation! I'll keep that around for
| future reference.
| cartoonfoxes wrote:
| Having worked both as a sysadmin and a developer, vim is more a
| benefit to the former by virtue of its ubiquity. Learn vim if
| you know you will be encountering vim.
| jeromenerf wrote:
| > why
|
| There is no reason really, you either hear the call of the wild
| or you don't and it's perfectly fine if you prefer emacs, acme,
| nano or vscode.
|
| The simple fact that the choice is so large is that people
| "click" in many interesting ways.
| Tepix wrote:
| If you work a lot on the command line on UNIX and Linux
| systems, vi is the best choice for many because it is extremely
| widely available and it is also very powerful once you have
| mastered it.
| fingerlocks wrote:
| Sorry, but this is the same non-answer I have heard my entire
| life.
|
| I do primarily work on the command line and I can assign
| $EDITOR to anything I want. So what makes it so much more
| powerful than the plethora of other editors in the space?
| gnubison wrote:
| If you deal with many machines, it's very possible that
| they don't all have your preferred editor (unless it's vi).
| vi is on _every_ POSIX system.
| tasuki wrote:
| > Separate modes for command & insert just feels inherently
| clumsy and slow to me.
|
| Interesting, I have the opposite experience. In normal mode, I
| can do a lot using very few keystrokes. In editors without
| modes, there's always a lot of keyboard shortcuts which are
| difficult to remember and hard to execute.
| bdamm wrote:
| Because the text motions, once learned, are extremely powerful
| and will cause your relationship to textual data to
| fundamentally change. All while avoiding wrist injury, because
| some critical keys (f, t, g, j, q) are so lettered due to the
| location on the keyboard. Think of your keyboard as more like a
| piano than an alphabet.
| ystad wrote:
| Any similar course for tmux ?
| Twisell wrote:
| Well I think the nice point of doing excercise in a web browser
| is that you can quickly switch to another tab and search for
| daring questions such as " by the way why on earth does this
| monstrosity want me to use hjkl? That don't make any sense!!!!"
|
| https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys
|
| For a mostly data/SQL guy wanting to learn more about coding it
| still don't make much sense but at least I know why and I can
| move on. When I was trying vimtutor in a CLI interface I was less
| curious and more WTF F... this is pure madness kind of mood.
|
| Dunno if I'll subscribe but nice first experience through this
| demo.
| sodapopcan wrote:
| HJKL also allows you to keep your fingers on the homerow at all
| times which is really great. I had issues with RSI that when
| away when I started using Vim properly. Travelling to the arrow
| keys now feels like a painful task to me! Of course, as a
| sibling comment mentioned, hjkl is the worst way to move
| around--"power users" generally only use them to move a
| char/line or two.
| pandemic_region wrote:
| Not when using Dvorak, here's how it maps from Qwerty: H->J
| J->C K->V L->P
|
| Still works pretty well, i've gotten used to it.
| mynameisash wrote:
| Fortunately, j & k are next to each other, and I never
| noticed any disconnect in vim w/Dvorak. I never use h & l
| -- mostly space, w/W, or b/B. But I also learned Dvorak
| before vim, so I never got used to hjkl.
| arendtio wrote:
| On the other side, it is probably the most unnecessary
| inflicted pain for beginners. Even after years of using vim
| on a daily basis, I can't get used to hjkl and still use the
| arrow keys. I tried a few times with different approaches,
| but it never lasted more than a few days. So pushing someone
| new to use hjkl for navigation is so unnecessary and just
| kills a lot of motivation for very little value.
|
| Starting with deleting, yanking and pasting would be a lot
| more fun. Even navigation with gg and G plus numbers would be
| a lot more useful too. Like when you get an error message
| that is caused by line 42, you know why you want to use vim
| next time.
| montalbano wrote:
| The way I got used to hjkl home row was by completely
| disabling the arrow keys in my vimrc file (in normal and
| insert modes). I was struggling before that though.
| cptnapalm wrote:
| Opposite problem: I get so used to hjkl, I screw up
| everywhere else for awhile.
| rtlfe wrote:
| I got a fancy keyboard with layers and set one to have
| arrow keys on hjkl so I can use them everywhere.
| bdamm wrote:
| Yup, I wish all text fields had a vi mode.
| fantod wrote:
| The most shocking thing to me was that after weeks of
| struggling to get used to hjkl for navigating in vim, I
| realized that I had already been using jk for navigating up and
| down on numerous sites (reddit, gmail, twitter) for YEARS.
| tasuki wrote:
| > " by the way why on earth does this monstrosity want me to
| use hjkl? That don't make any sense!!!!"
|
| Indeed, why? Using hjkl is about the worst way to move around
| in vim...
| runeb wrote:
| When you consider the concept of home row keys and touch
| typing I find it very natural, actually. Its ergonomic and
| very fast if you get into the habit of resting your fingers
| on the home row.
|
| Though you may have been alluding to more powerful movements!
| X6S1x6Okd1st wrote:
| /%<CR>qqnxq19@q is clearly the solution to the "navigate to %
| and delete it"
| drKarl wrote:
| Or f%x
| X6S1x6Okd1st wrote:
| That doesn't finish the challenge
| bdamm wrote:
| It does, actually. But you have to precede the command
| with <num>G to go to the correct line.
| biohax2015 wrote:
| lolwut
| enriquto wrote:
| > the nice point of doing excercise in a web browser is that
| you can quickly switch to another tab and search for daring
| questions such as (...)
|
| On the contrary... I'd say that if you are _outside_ a browser,
| it is somewhat easier to have a browser window side by side and
| ALT-TAB between both. Having two tabs visible at the same time
| is a bit cumbersome.
| Deivuh wrote:
| Is there anything similar for emacs?
| teddyh wrote:
| Maybe this: https://www.masteringemacs.org/
| xwdv wrote:
| But why? Vim comes with a tutorial: vimtutor
| kaladin_1 wrote:
| It's "gamefied" vimtutor... Also, he must have learned a tonne
| of vim building the game.
|
| Though, I totally agree with you, haven't seen anything that
| beats vimtutor, except maybe for a vim cheatsheet as reference
| material.
| mihaifm wrote:
| If you're looking to practice the h,j,k,l keys in a fun way,
| simply play Nethack or other roguelikes that support these
| movement keys. In 2-3 hours you'll be flying around the map and
| you won't even know how you're doing it.
| amelius wrote:
| Is there an easy way to kill another vim instance if you open a
| file for the second time in another window, preserving the edit
| buffer?
| Syzygies wrote:
| I liked the first exercise, then I had to use the mouse to
| dismiss my success dialog! I thought the whole point of vim was
| ...
|
| (That's up there with Haskell package management depending on
| "global variables" in a fixed settings file.)
| 0xTJ wrote:
| It seems cool, though I agree that not knowing
| DeanWormer wrote:
| I like how this uses repeated actions to help learn.
|
| A free resource I really like is simply running `vimtutor`. It
| gives you a text file with exercises and you edit that text file
| directly.
| fokinsean wrote:
| Does anybody have recommendations on how to go from "comfortable"
| to "expert"?
|
| I've been using vim as my daily driver via the intellij plugin
| for a few years. I mostly just navigate and never do anything
| complicated, it gets the job done.
|
| For example I mostly use w, d, o, hjkl, y, p, w, b, t and
| recently discovered the `c+i` combo which is awesome.
|
| But I feel like there's still a side of vim I haven't conquered.
|
| Any tips?
| brianvli wrote:
| I use vim as my main driver at work. Some things that helped me
| out personally:
|
| - Playing some vimgolf and seeing what neat tricks people used.
| This is where I learned about "."
|
| - Going into the deep-end of just using vim (or just vim in
| IntelliJ without the mouse) will make you notice all the issues
| that make you unproductive with only vim e.g getting around
| with only hjkl is really slow so you might investigate other
| ways to navigate or deleting a word always involves getting to
| the end of the word and using lots of backspace may make you
| wonder if there are more efficient ways to do the same thing
|
| - if you decide not to go into the deep-end, just being more
| picky about how much you're spamming certain keys may help you
| gradually incorporate new commands into your flow
| westoque wrote:
| yes! my path to "expert" was more in the lines of questioning
| my commonly used editing functions:
|
| 1. how to delete text inside a double quote and go to insert
| mode? - c+i+"
|
| 2. how to move to the end of line? - $
|
| 3. how to delete everything before "x" character and go insert
| mode" - c+t+x
|
| ...
|
| EDIT: updated mistakes.
| nsomaru wrote:
| > 1. how to edit words inside a double quote? - "ciw"
|
| ciw will change inner word, ci" will change inside quotes
|
| > 2. how to move to the end of line? - "g_"
|
| $ is generally used as the noun object to represent "end of
| the current line"
|
| > 3. how to delete everything before "x" character" - "ctx"
|
| dtx would delete everything before the next x. ctx would
| delete and then put you in insert mode :)
| westoque wrote:
| thanks for correcting my mistakes :)
| phonebucket wrote:
| > For example I mostly use w, d, o, hjkl, y, p, w, b, t and
| recently discovered the `c+i` combo which is awesome.
|
| In addition to these, I've found (my personal experience,
| ymmv):
|
| 1) f/F to jump to next/previous occurrence of character to help
| navigating within a line very effectively, in conjunction with
| ; and , to jump around within these occurences. 2) use relative
| line numbers in conjunction with your hjkl.
|
| E.g. jump up 5 lines and go to the start of a bracket is
| '5kf('. If it's a nested bracket you want, then '5kf(;'.
| fokinsean wrote:
| nice, thanks for the tips
| jchook wrote:
| Maybe try vim golf for fun.
|
| I would recommend using vim in the console without the mouse
| because your editor will always give you a way out of learning.
|
| Every time you get stuck or feel inefficient, do a web search
| and learn one thing.
|
| Learn to use and love :help.
|
| I think a few plugins can really improve the experience such as
| coc, ultisnips, vim-surround. Also set some settings like
| relative number and highlighted yank.
|
| Some other stuff to investigate... zz and scrolling, folding,
| G, macros, registers, f, $ and ^ and 0, %, }, ctrl-o, ctrl-]
| and ctags, formatting gq = etc
|
| Edit: also remembered enable set hidden and use buffers and
| splits (eg :sbp). Use markers. Also I like the fzf plugin for
| quickly opening files etc.
| blueagle7 wrote:
| Mayte try learn vim the hard way?
| https://learnvimscriptthehardway.stevelosh.com/
| fokinsean wrote:
| This looks great! Thank you!
| RMPR wrote:
| Practical Vim by Drew Neil is definitely a way to go. It
| teached me stuff I wouldn't have discovered otherwise.
| colinbartlett wrote:
| I've been using Vim for many years and felt like there was
| constantly stuff to learn. So a partner and I started an email
| newsletter that sends tips twice a week:
|
| https://vimtricks.com
|
| The idea was that by forcing myself to write about Vim
| consistently, I would learn and absorb more and boy has it
| worked.
| clashmeifyoucan wrote:
| thanks for making this! The undo from insert mode1 one sold
| it for me :)
|
| [1] https://vimtricks.com/p/undo-from-insert-mode/
| yjftsjthsd-h wrote:
| Um. I think that's wrong, though. Pressing c-u just erases
| to the beginning of the line in insert mode, it's not an
| undo.
| clashmeifyoucan wrote:
| Ah, I guess should've tried before saying. Just excited
| there's a way.
| yjftsjthsd-h wrote:
| Oh, I was excited too:) So excited that I immediately
| tried it...
| colinbartlett wrote:
| Updated the post, thanks!
| fokinsean wrote:
| Looks great, subscribed!
| clashmeifyoucan wrote:
| As an aside, I love the vim keybinds with IntelliJ combo, vim
| makes it so easy to navigate and perform operations, eg. the
| one I use most being dt<some char> to delete until a char.
|
| Never can seem to get vim selections and deletions right
| though, because it deletes the character after the cursor as
| well so the mouse comes clutch there.
| ttt0 wrote:
| RTFM. Seriously.
| leokennis wrote:
| Hate to be a negative Nancy, but on a bog standard Chrome on a
| bog standard Windows 10, in the first exercise the HJKL keys do
| nothing. The arrow keys do work...
| CoffeePython wrote:
| Oh strange, I haven't had anyone report this bug yet. I'll look
| into it. Thank you for letting me know!
| cbm-vic-20 wrote:
| noremap <Up> <Nop> noremap <Down> <Nop> noremap
| <Left> <Nop> noremap <Right> <Nop>
|
| There, now your arrow keys do nothing, too! (This is a good way
| to "train" yourself to not depend on the arrow keys.)
| password321 wrote:
| Or just use vim adventures, vim tutor for free...
| godot wrote:
| A tangential question, why is .so the new cool TLD to use for
| tech startups/projects?
|
| I know the lack of availability of .com/other common TLDs is a
| problem. I understand the reasoning behind using .io to represent
| software/saas startups (stands for inputs/outputs). I don't
| understand .so though. From what I remember, Notion was probably
| the first high profile startup using it, and it just kinda took
| off. Searching "why .so domain" comes up with nothing except a
| Reddit thread with the Notion founder saying it was mostly
| because it was just an available TLD for "notion" at the time.
| ketanmaheshwari wrote:
| Just last week we took a detour from our normal project that I am
| doing with my daughter and started teaching her vim. We used
| vimtutor and found it quite useful. I will definitely give this a
| fair trial.
| chris_wot wrote:
| Can I get a list of the areas you cover?
| CoffeePython wrote:
| There are 10 exercises and 1 video that shows how I use vim in
| my normal development workflow.
|
| The lessons are:
|
| - Basic Navigation
|
| - Command Basics
|
| - Insertion
|
| - Append
|
| - Deletion
|
| - Word Level Navigation
|
| - Select Mode
|
| - Advanced Word Level Navigation
|
| - Yanking/Putting
|
| - Matching within tags {} () "
| chdlr wrote:
| Or maybe just read/bookmark this single post:
| https://stackoverflow.com/questions/1218390/what-is-your-mos...
| Havoc wrote:
| That's neat. Inspired me to give it another go. Thanks
| farbrortumm wrote:
| Quick tip, this would make a great gift for people. Would be nice
| to have a "Send this as a gift to someone" option.
| ilaksh wrote:
| I know I felt a constant social pressure to learn vim or emacs
| over the years in order to fit in with those religions.
|
| I gave in to that social pressure early on. But even 30 years ago
| in the early 90s when I started learning vim (and Linux), vim and
| emacs were very dated programs.
|
| Over the course of thirty years I have managed to finally learn
| how to set up syntax highlighting, terminal colors, and spaces vs
| tabs and do a basic cut and paste operation. But the cut and
| paste never works in a sensible way for me and I always end up
| having to fix something after pasting. So I am probably still
| doing that wrong after thirty years. Lol.
|
| I suggest using sshfs or Docker and then you can just use a
| graphical client. Even gedit is a huge advantage over vim in my
| opinion (especially if you also have fish in another window). I
| like how lightweight and simple it is and I think it's really
| underrated. But also VSCode, Sublime, maybe Atom. Maybe WebStorm.
|
| There is nothing wrong with using nano in the terminal. It's more
| modern than vim and probably going to be much more productive. I
| recommend if you are embarrassed about using nano and someone
| asks, think of it as if someone asked you if you are Christian or
| Jewish. You can just say you are agnostic about editors, and use
| a modern tool.
|
| Also take a look at TextAdept in the terminal. It is customizable
| with Lua.
|
| I really like Jupyter Notebooks for lots of things. It's a great
| implementation of literate programming, especially if you take
| advantage of the markdown to explain things thoroughly. Of course
| a lot of teams are not going to like that but there are projects
| where you can.
|
| Back in the early 90s there was this thing called Borland Turbo
| Pascal which had things like mouse usage, automatic syntax
| highlighting, F1 for instant contextual help, an integrated
| debugger. Those were the days. Lol. You can configure vim to do
| all of those things in kind of a janky way, but it's so
| convoluted, I feel like they should award a PhD if you achieve
| that. And they don't. So it's not worth it.
|
| People love to glorify the "power" of vim commands. But it's not
| that way because the original author knew some secret to power
| editing. It's that way by default, because when it was created,
| commands and modes were the paradigm by default because of
| historical terminal limitations. A few people were still using
| Teletype at that time. Real-time editing was not even a thing.
|
| The terminal they initially developed vi on did not have separate
| cursor keys. That's why it doesn't use cursor keys, not because
| it's some deliberate choice they made to save time and be more
| "advanced".
|
| http://xahlee.info/kbd/keyboard_hardware_and_key_choices.htm...
|
| I just feel like not only are people repeating the mistakes of
| their fathers, but even their grandparents at this point. It's
| not 1978 anymore. It's 2021.
| necrotic_comp wrote:
| That's fine!!! I don't think vim (esp. neovim) is janky at all,
| but part of it is how your brain works. If you want to use nano
| or vscode or whatever, there shouldn't be any social pressure.
|
| I think it comes down to how people like to use their tools and
| how they like to shape their working environment. I've gotten
| my vim/linux machines into a place where editing code is
| comfortable, and I'd love to share it with people, but I
| understand that they may not want to do it. And that's fine!
|
| Use what works for you to get your work done!
| ilaksh wrote:
| Also I actually use vim a lot more than VSCode which I have
| not used much.
|
| But I also think I wasted a lot of time over the years
| figuring out how to use it and how to set it up. I am trying
| to save some people a lot of time. I actually think I am
| still wasting time with it and its because of social pressure
| to use an outdated program. Its like some kind of
| psychological thing that has me compelled to be irrational to
| fit in.
| ilaksh wrote:
| It's not something about "how my brain works". That's a
| sneaky way of accusing me of being too dumb to use those
| editors. But the user interfaces from 35-40 years ago are
| bad. Objectively. Unless you are using them on the terminals
| from the 70s or 80s.
| necrotic_comp wrote:
| I am absolutely not calling you dumb! Emacs doesn't work
| for my brain at all, but Vim does. There are lots of tools
| that are made for different kinds of people and they all
| help us towards getting to a certain result.
|
| I don't think it's fair to say that the user interfaces are
| bad, though. The defaults may be bare bones, but the point
| is that they are programmable environments that allow you
| to tailor them to your needs if you want to.
|
| That's it.
| ilaksh wrote:
| Ok, I'm sorry but I believe you are incorrect. People do
| not have different brains that way. Just like they don't
| have different 'learning styles'. That sort of thing is a
| discredited myth.
|
| I also think that it is objectively true and not only
| fair but also important for people to start to point out
| how bad these interfaces are. At some point traditions
| start to become a drag on society.
|
| One of the core principles of user interface design is
| useful defaults. And there are many better modern editors
| with equal amounts of programmability as well as useable
| and useful defaults.
| necrotic_comp wrote:
| I don't understand that line of reasoning, and it seems
| like you're being obstinate for the sake of being
| obstinate. I hope you understand that even though you
| might feel one way, other people may think another and
| there's no orthodoxy.
|
| Have a good day.
| ilaksh wrote:
| Of course people have different opinions.
|
| That's not what you said though. You said brains work
| differently.
| necrotic_comp wrote:
| Brains do work differently - if they didn't, everyone
| would learn at exactly the same pace if given exactly the
| same input, and people would all have the same
| preferences. There's a reason why the term "neurotypical"
| exists.
|
| You don't like what I like, and that's fine, but I can
| tell you that I _like_ the design of older computer
| systems more than I like the design of modern computer
| systems. There 's a reason why I use the tools I do and
| why I can write really good software really fast with
| them.
|
| You can argue that they're dated, and that's fine, but
| you're arguing that if we like them that we're wrong, and
| that's not okay.
|
| I'm realize I'm shouting at the wind, though.
| AlchemistCamp wrote:
| I don't think calling the subject matter the OP is trying to
| teach "a religion" or predicting downvotes on your comment is
| productive.
|
| The 2nd is definitely against the site guidelines.
|
| To address your other comments, I can share a personal
| anecdote. When I started programming, I basically just learned
| the bare minimum VI commands to get around. I didn't see it as
| "a religion" or a relic from the past, but I saw a fairly steep
| learning curve that wasn't a high priority for me to tackle at
| the time.
|
| Years later, I did get into it. It's been good for me in terms
| of efficiency, but much more importantly, it's been good for my
| health. At the end of 2017, I had severe RSI and from working
| an extreme schedule on a startup and a poor ergonomic setup. My
| wrists were so injured that it hurt to even brush my teeth.
|
| I got an ergonomic keyboard, and made a concerted attempt to
| use the mouse as little as possible (and balance that little
| bit between both hands). I made VIM my primary driver,
| regardless of what other editor I was using. Even on web pages,
| I attempted to use keyboard navigation where feasible,
| especially in email and similar apps.
|
| As a result, I've no healed to where I do full-time weeks at
| the keyboard again and I will probably always be grateful to
| VIM (and Kinesis!)
| ilaksh wrote:
| I'm not allowed to predict the downvotes? I'm just supposed
| to "take it like a man"?
|
| It absolutely is like a religion and an enormous amount of
| time has been wasted with people feeling they need to learn
| how to use these extremely outdated programs with user
| interfaces invented 40 years ago.
|
| I am trying to save some people some time. The fact that you
| are trying to stop me from doing that indicates to me that I
| have committed heresy. That is why you want to have my
| comment declared invalid. It contradicts your worldview.
| Zababa wrote:
| > I'm not allowed to predict the downvotes? I'm just
| supposed to "take it like a man"?
|
| In the guidelines
| (https://news.ycombinator.com/newsguidelines.html):
|
| > Please don't comment about the voting on comments. It
| never does any good, and it makes boring reading.
| ilaksh wrote:
| Okay, if someone shares the same specific type of disability
| due to repetitive stress injury, then yes, that is a good use
| case for vim.
| cupofcoffee wrote:
| Lots of people use vim just to appear hardcore and not because
| it confers serious editing advantage.
|
| Vim itself is a really really bad editor. It's so obvious that
| it was written by a programmer with commands like 5dd, 6gg etc.
| I find it so ridiculous that a computer program can be that
| much loved and yet it doesn't even provide line numbers out of
| the box nor indentation. Does a person really need to spend
| half an hour googling just to tell vim to indent Java code as
| they type.
| __m wrote:
| I think it does offer editing advantages, though they don't
| matter that much unless you work in a sweat shop. For me it's
| just fun going like "look mum, no mouse"
| Bluecobra wrote:
| Thanks for posting this. I have been using vi(m) for at least 15
| years and finally got the hang of yy only recently. I used to
| work at a Solaris shop a long time ago and had to learn vi to get
| anywhere. I wish I had this then!
| jehlakj wrote:
| This is neat but newcomers beware. This is the easy part. Setting
| up your config and plugins is why most people go back to ides
| triangleman wrote:
| Aren't you supposed to avoid plugins and config so that vi/m
| will be familiar everywhere you go? That's the advice I've
| gotten on this board.
| bdamm wrote:
| My approach is to just use all the tools. I use clumsy IDEs
| when I really need powerful debugging. I use vim when I need
| powerful editing/macros. Sometimes I do code browsing with
| ctags. Sometimes I do code browsing with Eclipse. There's no
| need to be a purist.
|
| Except vim. No plugins into vim. That is sacrilege.
| qwerty456127 wrote:
| Does it include practical use cases demonstrating how vim tricks
| can really come in handy in real life? This probably is the
| hardest part for me - I can't imagine a case where I would like
| to use any of them I've ever read about (yet I still feel
| interested).
| corytheboyd wrote:
| Not a mega power vim user, but maybe this qualifies. I use vim
| as my git editor. When doing interactive rebase, if I want to
| squash/fix commits, for example, I go to the first commit I
| want to change the command for, 'ciw' to change the command,
| 'esc' to exit exit, then for the subsequent commits I want to
| squash/fix, just use '.' to replay those same commands to the
| new line. Works very well! I love using vim as the git editor,
| it's stupid fast, and doesn't take you away from the command
| line
| julianlam wrote:
| That's a neat tip, thanks for sharing that, this is the exact
| use case I was looking for.
|
| I was hoping to kick the can on learning vim macros down the
| road, and so here we go...
| corytheboyd wrote:
| No problem! Happy to help with things I wish people told me
| long ago :)
| CoffeePython wrote:
| Yes it does, all the exercises past the basic navigation one
| are real life use cases for how it can be used.
|
| I need to add some better copy and examples on the landing page
| so people will know what they're getting.
|
| Here's a video on twitter that demonstrates one of the
| exercises
| https://twitter.com/KennethCassel/status/1351178904686514178...
| h2000 wrote:
| Nooooooooooooooo!
| ryeguy_24 wrote:
| I never buy things but this just hit on my exact pain point of
| trying to get good at VIM. The one thing that's holding me back
| is understanding how much content there is behind the 15 dollars.
| I really liked the demo exercise but are there only 10 more
| behind that?
| Deivuh wrote:
| I'm considering learning more vim besides "esc /insert and :q :w"
| and this might be a great start.
|
| As an emacs user it's frustrating having to install emacs to do
| some config editing whereas in my experience vim is included
| anywhere. e.g. my router.
| swirepe wrote:
| You've also got "u" for undo. That's another one for you.
| corytheboyd wrote:
| This looks great! Do agree with others though, that you should
| expose the course sections. I don't use vim as my main IDE but I
| still do use it for quick edits and commit messages, so I don't
| know nothing about it. Would be great to see if the course is
| more/less/same as my current working knowledge. But also a one-
| time $15 isn't bad at all, thank you for not trying to make this
| a subscription :)
| __m wrote:
| Most IDEs have a vim extension that gives you the basic vim
| editing behavior. It's great to get into it without having to
| dive into plugins, buffers, windows etc.
| viach wrote:
| The typical conversion rate is ~1/100, so you'll need 10000
| visitors to earn 1500$ this month (optimistically). The next
| month you'll need another 10000 to earn the same amount. Taking
| into account the amount of work put into this project, what's
| your marketing strategy besides Show HN posts?
| CoffeePython wrote:
| I worked on this for 3 days. I've been getting around 1k on
| average visitors from direct traffic and twitter since I
| launched it into access around 10 days ago.
|
| I'm going to work on SEO next for it :)
| heroHACK17 wrote:
| This is great!
|
| Another great resource I gotta plug is
| https://github.com/ThePrimeagen/vim-be-good. Essentially the same
| but it's a native vim plugin. It's free, doesn't require a login,
| and did I mention it's a native vim plugin?
| cbm-vic-20 wrote:
| This guy also streams on vim topics frequently on Twitch.
|
| https://www.twitch.tv/theprimeagen
| andai wrote:
| Also YouTube!
| https://youtube.com/channel/UC8ENHE5xdFSwx71u3fDH5Xw
| CoffeePython wrote:
| Oh this is neat! I haven't seen this one around before :) I'll
| have to check it out. Thanks for sharing
| wes-k wrote:
| I'm tempted to buy it, but I don't know what I'm getting. What
| will this teach me? Do I already know it?
| ctrlp wrote:
| I you want to learn vim movements quickly, start using a browser
| plugin with vim keybindings like VimFX it Vimium. Stop using the
| mouse to browse the internet. You'll get hours of practice doing
| something you'd do anyway. The muscle memory will be there when
| you open vim. Also, turn off arrow keys in vim. Vim is keyboard
| and home row centric, all else follows. Also doing dojo exercises
| like on commandlinefu.cim helps.
| rohithkp wrote:
| Need something like this for Emacs/org-mode
| claytongulick wrote:
| My (issue?) with vim is that I've been using it so long, all day
| every day, that I can't remember any of the commands - I only
| have muscle memory.
|
| If someone asks me how to do something, I have no idea, I have to
| physically pretend like I'm doing it on a keyboard to figure out
| the command.
| andreygrehov wrote:
| Pro tip to exit vim: Shift+Z+Z
| i_am_andy wrote:
| I have to recommend this too:
|
| https://vim-adventures.com/
|
| I used it to get to grips with vim
| buzzerbetrayed wrote:
| I love vim-adventures. It was the only way I was able to stay
| motivated to learn vim well enough for it to "stick". I just
| hate that you can only buy 6 month access to it. I'd happily
| pay 2-3x the price for lifetime access, but the fact that I can
| only buy 6 more months makes me pretty sure that they won't be
| getting any more money from me. I think I would still hop on
| for a few minutes every few months to practice up on some stuff
| that I forgot.
| ignitionmonkey wrote:
| Have you tried contacting the developer?
| greenbay20 wrote:
| Awesome idea, gamifying learning vim seems the way to go.
|
| Minor detail: I would recommend you set up the keyboard focus on
| the game as soon as the page loads. Saw a comment mentioning that
| the HJKL keys were not working and the same happened to
| me...right until I clicked on the command-line box in order to
| have my keyboard focus it.
| slowhand09 wrote:
| $15 for lifetime access... rubs chin... I'm old. Would you take
| $5 as my life is 2/3 gone?
| tux1968 wrote:
| No offence to OP intended at all, but as these things often go,
| you're paying for the lifetime of the site, not your own.
| simonebrunozzi wrote:
| Even though, admit it... If the course is really good, the
| extra $10 are nothing compared to the several hours of
| frustration that you could save.
| irrational wrote:
| Or save all frustration and just don't use vim ;-)
| pc86 wrote:
| It seems one of these vim tutorials comes up every 6 months
| or so, and the one thing they're all missing is a
| convincing explanation of why someone should learn all the
| esoteric incantations of a 30-year old text editor.
| pletnes wrote:
| If you think vim is frustrating for a beginner, you have no
| idea what it feels like to edit text in non-vim for a half-
| assed vim user. Really, I don't master vim after >1decade,
| but that's not necessary.
| NovaDev wrote:
| Pair programming is a real pain for me when most of my
| colleagues just don't use Vim.
| ranit wrote:
| irrational indeed :-)
| chongli wrote:
| I've used vim for many years now. It is true, learning vim
| makes it very frustrating when you find yourself having to
| use another editor. Luckily, vim is pretty much everywhere
| so those situations are rare.
| maskedoffender wrote:
| I find that vim really shines in editing text on touch
| screens with on-screen keyboards. I can do complicated
| commands without doing too much typing out digging
| through menus or using ctrl alt whatever keys.
| stingrae wrote:
| it's actually the lifetime of your email address
| medecau wrote:
| you're going to outlive the site
| shafin_ wrote:
| Easiest way to learn vim is to force yourself to use vim
| noarchy wrote:
| The only time I use vim _is_ when I am forced to use it.
| bdamm wrote:
| Then you will never learn vim. Which is fine, not everyone
| needs to be a vim ninja.
| Vaslo wrote:
| In the same vein, we learned excel shortcuts by unplugging the
| mouse
| vz8 wrote:
| Show HN: I built an online interactive course that helps you
| learn vim* faster
|
| *You have a small typo in your title: should be spelled "emacs"
| ;)
|
| Kidding aside, the course is fun, nice work.
|
| Per other comments in the thread, if you want to integrate vim
| muscle memory and browsers, check out the Vimium extension for
| Chrome (granted, I've overwritten the defaults with emacs, but
| the idea has still been helpful and minimized mouse use).
| SiteRelEnby wrote:
| Emacs tutorials can be one line: "ctrl-x ctrl-c".
| mettamage wrote:
| So can vim by typing: vimtutor
| yjftsjthsd-h wrote:
| That's, ah, not the same joke:)
| vz8 wrote:
| An Ode to Quitting Vim:
|
| ESC
|
| Ctrl-C
|
| ESC
|
| Ctrl-Q
|
| ESC
|
| Ctrl-Z
|
| * dangit, suspended *
|
| fg
|
| ESC
|
| :q
|
| E37: No write since last change (add ! to override)
|
| !
|
| E37: No write since last change (add ! to override)
|
| !:q
|
| E37: No write since last change (add ! to override)
|
| @!&^#!&!!:q
|
| E477: No ! allowed
|
| _Reboots Server_
| dubya wrote:
| Teach a man to fish: Ctrl-Z kill -9
| %1
| geordigeordi wrote:
| I've been considering Vim for a while now.. If I do choose to
| pick it up this will definitely be my first choice! Looks great
| :)
| CoffeePython wrote:
| Wow thanks! Learning vim is fun :) I'm glad to see so many
| people interested in it
| unwoundmouse wrote:
| Do macros -> delete % break it? I tried to race the first
| exercise by setting up a macro to speedrun the first example and
| i got something where multiple % showed up
| CoffeePython wrote:
| I guess it does! Haven't seen anyone do this before. I'll look
| into fixing this though!
___________________________________________________________________
(page generated 2021-01-20 23:00 UTC)