9 ms·
Show HN: I built an online interactive course that helps you learn Vim faster
- CoffeePython 6y agoHey 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 :)
- enriquto 6y agoI 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 6y agoAwesome, 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 6y agoIf you use vim inside vscode check Onivim 2 out
- ahussain 6y agoI 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 6y agoThanks for the feedback
- arthurcolle 6y agoWhat does the dot command do?
- flaviuspopan 6y agoRepeats 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 6y agoI 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.
- max_entropy 6y agoThank you for informing us. If the course doesn't even cover the dot and dw movements then I'll avoid it.
- alfiedotwtf 6y agoWell done on building this. For some meta-advice: ignore all the salty comments in this thread... it must be a full moon
- Bluecobra 6y agoHello, I tried purchasing the lifetime access earlier with Google Pay and accidently bought it twice. I did not get any order confirmation email nor do I see the transaction within Google Pay. I was able to get in and do the lessons What should I do? I apologize for reaching out on a public website but there is zero contact information on vim.so.
- CoffeePython 6y agoHey, I just saw this. Please email me. Email is firstnamelastname@gmail.com I’m Kenneth Cassel. I think the confirmation should have gone to whatever email you use for google.
- heroHACK17 6y agoThis is great! Another great resource I gotta plug is https://github.com/ThePrimeagen/vim-be-good 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?
- CoffeePython 6y agoOh this is neat! I haven’t seen this one around before :) I’ll have to check it out. Thanks for sharing
- cbm-vic-20 6y agoThis guy also streams on vim topics frequently on Twitch. https://www.twitch.tv/theprimeagen https://www.twitch.tv/theprimeagen
- andai 6y agoAlso YouTube! https://youtube.com/channel/UC8ENHE5xdFSwx71u3fDH5Xw https://youtube.com/channel/UC8ENHE5xdFSwx71u3fDH5Xw
- geordigeordi 6y agoI'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 6y agoWow thanks! Learning vim is fun :) I’m glad to see so many people interested in it
- ehershey 6y agoIt would be nice if you at least listed what the exercises are before asking for money.
- geordigeordi 6y agoI 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 6y agoWow, 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 6y agoCouldn't find it anywhere either. Here is the list from twitter https://twitter.com/KennethCassel/status/1351916897823059970 https://twitter.com/KennethCassel/status/1351916897823059970
- xwdv 6y agoBut why? Vim comes with a tutorial: vimtutor
- kaladin_1 6y agoIt'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 6y agoIf 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.
- 0xTJ 6y agoIt seems cool, though I agree that not knowing
- DeanWormer 6y agoI 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.
- leokennis 6y agoHate 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 6y agoOh strange, I haven’t had anyone report this bug yet. I’ll look into it. Thank you for letting me know!
- cbm-vic-20 6y agonoremap <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.)
- ketanmaheshwari 6y agoJust 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.
- greenbay20 6y agoAwesome 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.
- vz8 6y agoShow 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 6y agoEmacs tutorials can be one line: "ctrl-x ctrl-c".
- mettamage 6y agoSo can vim by typing: vimtutor
- yjftsjthsd-h 6y agoThat's, ah, not the same joke:)
- vz8 6y agoAn 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 6y agoTeach a man to fish: Ctrl-Z kill -9 %1
- unwoundmouse 6y agoDo 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 6y agoI guess it does! Haven’t seen anyone do this before. I’ll look into fixing this though!
- ilaksh 6y agoI 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.html 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.
- i_am_andy 6y agoI have to recommend this too: https://vim-adventures.com/ https://vim-adventures.com/ I used it to get to grips with vim
- buzzerbetrayed 6y agoI 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 6y agoHave you tried contacting the developer?
- anonymoushn 6y agoI have contacted the developer and offered $10,000 for a perpetual license, but it was not for sale.
- reasonabl_human 6y ago/s? If not, I’ll rebuild that and offer you a lifetime license for $9,999 as a hackernews discount ;)
- anonymoushn 6y agono sarcasm, not currently on offer
- varbhat 6y agoBefore trying these courses , Please try vimtutor that comes bundled with vim . After practicing with vimtutor , you can try these additional courses.
- mhaberl 6y agoFor 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 6y agoHow fitting that the tutorial for vim needs its own pre-tutorial for exiting.
- Izkata 6y agoIt'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 6y agoBefore replying to your post I upvoted, I had to hit a link called [REPLY]
- alfiedotwtf 6y agoHaving 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
- johannes1234321 6y agoLuckily vim finally got a bit better with that: on a Ctrl-C newer versions now show instructions for quitting. I remember my first vi sessions (typically via something like `crontab -e` where it wasn't clear to me it picked my "default" editor ... thus didn't know where to read up on it ...) some long time ago, where i knew `kill` before the right command ...
- brazzy 6y agoSee also https://www.openvim.com/ https://www.openvim.com/
- ystad 6y agoAny similar course for tmux ?
- fokinsean 6y agoDoes 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?
- blueagle7 6y agoMayte try learn vim the hard way? https://learnvimscriptthehardway.stevelosh.com/ https://learnvimscriptthehardway.stevelosh.com/
- fokinsean 6y agoThis looks great! Thank you!
- colinbartlett 6y agoI'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 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.
- fokinsean 6y agoLooks great, subscribed!
- clashmeifyoucan 6y agothanks for making this! The undo from insert mode¹ one sold it for me :) [1] https://vimtricks.com/p/undo-from-insert-mode/ https://vimtricks.com/p/undo-from-insert-mode/
- yjftsjthsd-h 6y ago
- password321 6y agoOr just use vim adventures, vim tutor for free...
- chris_wot 6y agoCan I get a list of the areas you cover?
- CoffeePython 6y agoThere 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 {} () "
- Bluecobra 6y agoThanks 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!
- qwerty456127 6y agoDoes 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 6y agoNot 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 6y agoThat'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 6y agoNo problem! Happy to help with things I wish people told me long ago :)
- CoffeePython 6y agoYes 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?s=20 https://twitter.com/KennethCassel/status/1351178904686514178...
- corytheboyd 6y agoThis 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 6y agoMost 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.
- slowhand09 6y ago$15 for lifetime access... rubs chin... I'm old. Would you take $5 as my life is 2/3 gone?
- simonebrunozzi 6y agoEven 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 6y agoOr save all frustration and just don’t use vim ;-)
- pletnes 6y agoIf 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 6y agoPair programming is a real pain for me when most of my colleagues just don’t use Vim.
- chongli 6y agoI'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 6y agoI 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.
- rav 6y agoNice 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!
- mdaniel 6y ago> backspace on the start of the line doesn't seem to move the cursor at all. AFAIK that's controlled by "set backspace=" and thus will vary based on one's .vimrc (or the system vimrc, installed by the package manager): https://stackoverflow.com/questions/18777705/vim-whats-the-default-backspace-behavior https://stackoverflow.com/questions/18777705/vim-whats-the-d... One can see the current value of the backspace setting via <ESC>:echo &backspace
- rav 6y agoActually, the 'backspace' setting only governs what the backspace key does in Insert mode. In Normal mode, which is what I was referring to in GP, has the behavior I describe regardless of how 'backspace' is configured.
- mdaniel 6y agoAh, my apologies; I had never considered using backspace as a navigation operation. I would guess vim does not offer customization over what the backspace key does for the same reason they don't allow changing how many spaces pressing Tab while in Normal mode moves the cursor forward, either I was inspired by this newfound "using unexpected keys for navigation" discovery and found that (at least in my vim 8.2) holding down space in Normal mode similarly travels across the EOL boundary, just as backspace reverses that trend, so at least it's consistent
- rav 6y ago> they don't allow changing how many spaces pressing Tab while in Normal mode moves the cursor forward I'm pretty sure vanilla Vim doesn't do anything when pressing Tab in Normal mode - at least for me it certainly doesn't move the cursor.
- billars 6y agonow 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.
- Deivuh 6y agoIs there anything similar for emacs?
- teddyh 6y agoMaybe this: https://www.masteringemacs.org/ https://www.masteringemacs.org/
- amelius 6y agoIs 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?
- farbrortumm 6y agoQuick tip, this would make a great gift for people. Would be nice to have a "Send this as a gift to someone" option.
- wes-k 6y agoI'm tempted to buy it, but I don't know what I'm getting. What will this teach me? Do I already know it?
- zappo2938 6y agoMake it multi player via websockets and a server
- chapium 6y agoThere 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.
- rohithkp 6y agoNeed something like this for Emacs/org-mode
- asciimov 6y agoWhat does $15 get me? I don't see any listing of the lessons. Why is this better than vimtutor?
- blangk 6y agoI would also like to know this - as far as I could see, there was only one pretty meaningless lesson about alternate arrow keys - IMO, this doesn't sell Vim to a newbie, nor does it sell the $15 product
- tyingq 6y agoI 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/ https://ace.c9.io/
- gnubison 6y agoImplementing 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 6y agoThere's a WASM port of Vim: https://rhysd.github.io/vim.wasm/ 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.
- fctorial 6y agoAnother useful resource: http://vimcasts.org/ http://vimcasts.org/
- h2000 6y agoNooooooooooooooo!
- shafin_ 6y agoEasiest way to learn vim is to force yourself to use vim
- Syzygies 6y agoI 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.)
- viach 6y agoThe 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 6y agoI 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 :)
- joemclarke 6y agoHe also extracted the tech to build his next product, slip.so which should generate some nice revenue for him as well.
- Twisell 6y agoWell 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 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.
- enriquto 6y ago> 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.
- MetalGuru 6y agoOn the contrary, having a giant monitor with two tabs open... /s Who cares? So nit. You could hotkey to switch between two windows of the same program.
- tasuki 6y ago> " 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...
- X6S1x6Okd1st 6y ago/%<CR>qqnxq19@q is clearly the solution to the "navigate to % and delete it"
- biohax2015 6y ago
- andreygrehov 6y agoPro tip to exit vim: Shift+Z+Z
- mr-wendel 6y agoWant 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.
- _steady 6y agonice 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> ); } ```
- akho 6y agoI don't want to spend $15. Does it just tell you to run vimtutor? It should just tell you to run vimtutor.
- fingerlocks 6y agoCan 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?
- bdamm 6y agoBecause 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.
- Tepix 6y agoIf 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 6y agoSorry, 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 6y agoIf 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.
- bspammer 6y agoVim removes mental load while typing. It won’t make you significantly faster, or even really a better programmer in any measurable way. What it does is make the experience of writing text, and especially writing code, far more pleasant. If I ever have to write something nowadays without vim, everything feels clumsy and imprecise. If I want to go back a couple of words and change something, I feel like I’m playing a timing minigame. I have to hold the left arrow key exactly the right amount of time. Most of the time I overshoot a couple of characters, and have to tap the right arrow key to get to the right spot. Now repeat the same timing minigame holding backspace. Ah crap I deleted too much better undo a couple of times. Now I can finally make my change. All of this is just unnecessary friction between your brain and the computer that anyone who hasn’t learned vim accepts as a fact of life, but it becomes completely intolerable after spending the time to learn.
- ctrlp 6y agoI 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.
- claytongulick 6y agoMy (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.
- Tepix 6y agoIf 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 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).
- godot 6y agoA 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.
- CoffeePython 6y agoIt was just a good domain name that was available and I bought it lol. Not sure why the trend exists.
- 488pista 6y agoThanks 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.
- ryeguy_24 6y agoI 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?
- _jcrossley 6y agoEnormous 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 6y agoI’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
- jehlakj 6y agoThis 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 6y agoAren'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 6y agoMy 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.
- krysp 6y agoIf you setup your dotfiles correctly, your vim environment should be accessible with a simple `git pull`. The plugins are very worth it, there's no need to handicap yourself locally just so your environment matches some bare bones server config. And regardless, the basic vim motions are always there - you don't lose much when just editing some config files on a server even if you have to use vanilla vim
- maddyboo 6y ago/%<cr>qqnxq@q@@@@...
- chdlr 6y agoOr maybe just read/bookmark this single post: https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim#1220118 https://stackoverflow.com/questions/1218390/what-is-your-mos...
- Havoc 6y agoThat’s neat. Inspired me to give it another go. Thanks
- xalava 6y agoI 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 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 6y agoDoes 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 6y agoThe 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 6y agoI 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?
- CoffeePython 6y agoThere’s been decent demand for some more advanced lessons. I’m considering adding more. Anyone who has bought already would get the additional lessons for free
- Deivuh 6y agoI'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 everywhere. e.g. my router.
- swirepe 6y agoYou've also got "u" for undo. That's another one for you.
- elliotec 6y agoI'm bothered by this because Vim is free, with only a hopeful plea for a donation to a charity for helping Uganda as the "payment." It feels a tad unethical to be charging for a slightly more fancy, maybe kinda gamified, vimtutor. Like, just make a vim plugin that does this in vim and let that be your community donation. But I suppose business is business eh.
- umvi 6y agoI'm not bothered by it. I've thought about making a SaaS where I basically just host pre-compiled FOSS packages for esoteric cpu architectures. So that way if you have a <insert random CPU> embedded linux system, you can quickly grab a precompiled `tshark` for example without figuring out how to build it yourself. Sure, it would be better as a free service, but I'm not super motivated to do that in my highly limited spare time. I would be super motivated if I were compensated for my effort with cash, however. Making something paid vs. free can be the difference between it existing and not existing. I'd rather have this exist and be a paid app than not exist and be free.
- ivanhoe 6y agoyeah, but again nothing stops you (or me, or anyone else reading this) to do it for free... except we will not, as we're busy earning money in other ways, so I don't think any of us can really claim a moral high ground here - and tutoring people for money is certainly much better than not tutoring them at all...
- thotsBgone 6y agoIt's not "unethical" to charge money for a product that you made from scratch. People on this website really like that word, "unethical". Makes me wonder if they even know what it means. "Unethical: something you don't like."?
- CoffeePython 6y agoI don’t agree with the viewpoint but the revenue here has helped me sponsor one of my favorite open source projects FastAPI at $250/mo. There’s value in providing teaching on something that is free. I’ve bought learning tools/apps for many different programming related topics and loved the value they provided.
- thotsBgone 6y agoCan't remap keys, so colemak/dvorak users are hooped.
- spondyl 6y agoI have Vimari (Vim keybindings for Safari) installed and so pressing Esc and trying to navigate inside that window just scroll my actual browser window :( The irony
- ryan-allen 6y agoIs there a list of all the types of lessons?
- mrslave 6y agoI advocate organic learning for Vim and often other tools like it. Learn to do the bare minimum first, which for Vim is modes and how to exit. Then, after you find yourself doing something slowly a few times over, search how to speed it up (e.g. yank & paste, different buffers, macros). This is also a good counter argument for "the learning curve is too steep".
- exabrial 6y agosudo apt -y autoremove nano Sorry plebians
- koolk3ychain 6y agoHey, would you be open to selling the front end code you've used to stand up your course? Very curious of your billing backend as well!
- TsukiZombina 6y agoNo
- smogger914 6y agoHey, this looks interesting, but I am getting an error trying to checkout. VM465:1 POST https://api-vim-so-prod.onrender.com/api/v1/billing/create-checkout-session https://api-vim-so-prod.onrender.com/api/v1/billing/create-c... net::ERR_CERT_INVALID
- basher 6y agohttps://vim-adventures.com/ https://vim-adventures.com/ -- this one is perfect for kids (and free iirc)
- russdpale 6y agoIm immediately in a situation by where my cursor will not move but rather types letters.
- deleted 6y ago[deleted]