14 ms·
Vim GIFs
- jegutman 10y agoWow, this is really cool.
- kartD 10y agoGreat idea, vim is intuitive ( -ish?) once you understand what each character means ( y for yank being a simple example ). If anyone is looking to learn vim or any IDE really, check this place out. https://www.shortcutfoo.com/app/dojos/vim https://www.shortcutfoo.com/app/dojos/vim
- tkjef 10y ago+1 for shortcutfoo.com been using it since beta. has grown to cover quite a bit more since then.
- klue07 10y agoCall me old fashioned, but I still think the best way to learn Vim is vimtutor. Then just google whatever you might need or consult :help.
- ycitm 10y agoSome nice intuitive stuff in the help, too. :help paragraph [...] The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp" [...] (they're nroff macros, but pretty baffling to a beginner)
- mrb 10y ago+1 to vimtutor. I learned with it 15 years ago and this was the fastest way for me to memorize many vim features.
- wodenokoto 10y agoIt seems to me there is a lot of VIM vocabulary that is very different from what is common on the desktop today. I don't know what yank means. I don't think I have a desktop app that has a yank function. The current front page example is using 'z' to "redraw the cursor". I know what all those words means, but put together they are complete jibberish. Looking at the gif, it appears that redraw is VIM-speak for scrolling. Also "z doesn't do anything on it's own. But it pairs with a number of other things. It is used for redrawing the screen, saving and quitting, as well as manipulating folds." doesn't sound intuitive at all.
- jzymbaluk 10y agoIt's intuitive once you already know what it means and have sunk dozens of hours into memorizing what the shortcuts do /s
- HiroshiSan 10y agoNext you're going to tell me you don't know quantum physics...
- MichaelGG 10y agoI did VIM Adventures. Then I installed VsVim for day to day work. A while later, it just makes sense. I'm so fast, it's like magic. Vim macros alone make it worth it. At any rate, I never spent much time memorizing keys. I'd look up a thing or two, apply it, and it'd just sink in.
- cpdean 10y agoActually it takes more like 2 months for the Stockholm Syndrome of vim to sink in and then you don't want to use anything else ever again.
- Spivak 10y agoAnd that's not a bad thing. I don't think it's right to call Vim intuitive unless you're used to reading a book to understand 35% of the features of an editor. But Vim isn't about being intuitive, it's about being efficient. Once it 'clicks' you will be able to express incredibly complex text manipulations in only a few keystrokes. And with configuration you'll build the most powerful but comfortable environment that you'll miss anywhere else.
- TeMPOraL 10y agoIn other words, Vim is a professional tool, not a toy for causal user. It offsets steeper learning curve for much more powerful and efficient way of editing text. It's a feature.
- optimuspaul 10y agoWhat!?! vim is the most unintuitive application I have ever used. Having to understand that y means yank (and then what yank means) is one of the very reasons it is not intuitive. it's like the masonic editor, don't know the right handshake or password you don't gain entrance to productivity.
- CaptSpify 10y agoI love vim, but it really is the anti-thesis of intuitive design. I think that's actually it's strength, in a weird way.
- cgag 10y agoYeah, I'm not here for intuitive, I'm here for power.
- beefield 10y agoI find it somehow odd that often many people equal good UI with easy to learn UI. They _can_ be the same, if we have an application that is rarely used more than once, but for an application that is used often and a lot, they typically seem to be very different animals. Notepad has probably the easiest UI to learn while being as probably the crappiest text editor for any serious use with any significant installation base ever created. Vim is the other way round. It is extremely easy to do something with data using Excel. For any serious data management you are doing much better working with a database.
- joemi 10y ago> vim is intuitive ( -ish?) once you understand what each character means That is a much different statement than simply saying "vim is intuitive", which is the statement it appears you're arguing against. I doubt there's anyone in the world who would attempt to make such a bold claim as that. I've found the "vim is intuitive once you understand what each character means" claim to be pretty accurate. Before learning what the keys did, it seemed like a laughably impossible-to-use program, but after learning what the keys do, it feels very natural and composable. Sure, some of that is due to muscle memory, like hjkl for movement, but a lot of that are things like "p for paste", "d for delete", "n for next", and so on. Those, to me, seem like very intuitive mappings.
- gnaritas 10y ago> im is intuitive ( -ish?) once you understand what each character means If you have to understand it first to find it intuitive, then it isn't intuitive.
- nemetroid 10y agoOnce you understand what c, 2, a and w mean (individually, in context), the command "c2aw" is intuitive.
- gnaritas 10y agoThat command might be intuitive to a vim user, but vim itself is anything but intuitive to someone who doesn't already know it. I'm disputing the intuitiveness of vim, which is what was claimed, not the intuitiveness of a key combination to a vim user.
- aninhumer 10y agoIs it? I know what those characters mean, and I used to use vim, but I'm really not sure how they'd compose here. What does it mean to change and append at the same time? In fact I just tested it and I'm still not clear what c2aw does. It seems to just do the same thing as c2w.
- jonchang 10y agoIt does something similar to c2w if your cursor is at the beginning of a word. But if your cursor is already in the middle of a word c2aw may be faster / more intuitive than doing bc2w. "a" can mean "append" but in this context (as the argument to a command) it means to change "a word". See :h aw for details.
- JetSpiegel 10y agoIt's better to think of it as "all word", as opposed to "iw" as "inner word". It's easier to think about with "it" for "inner XML tag", apply stuff only between the opening and closing tags, of "at" for the whole thing, tags included. So "dat" would delete the tag and its content, while "cit" would change the content of the tag.
- _virtu 10y agoJust want to plug that it's worth the money. I mastered all sections of the vim course and it has definitely proven me useful over the last year. I don't normally develop in vim, but IDEAVim for Intellij products seems to be enough functionality to make me happy. Just remember, it takes consistency, lots of consistency.
- randomdrake 10y agoUnderstanding what each character means isn't necessarily the goal, however. They're the basic words and commands to manipulate text, but really you should be learning how to speak to Vim to get it to do what you want. You need to string together multiple words to make a sentence sometimes. Vim lets you do that. If you're not willing to take the time to do this: you're right, Vim isn't for you. It definitely takes more effort and practice than a lot of other editors. Intuitiveness becomes more clear once you realize you need to learn the language to make things intuitive. You can't just start speaking Spanish to someone and expect to get them to do what you're asking if you don't know how to speak Spanish, yet. You can poke and prod at words here and there (memorizing what each character means) but you still aren't very effective at that point. Can you ask where the bathroom is? Sure. But can you effectively tell someone where the correct bathroom is? Probably not. "I want to yank those two lines, paste them over there, select them, and replace all instances of 'foo' with 'bar'." Vim: > 2YjjpVj:s/foo/bar/pg Like speaking other languages, there are a number of ways you could tell Vim to to do what you want. Now let's look at other editors when you want to tell it what to do. Other editors: > Remove right hand from keyboard and put it on mouse > Move cursor to appropriate position > Click the button down, and drag it until the two lines are highlighted > Crtl+C > Move the mouse cursor > or move your right hand again to the arrow keys > Ctrl+V > Ensure your text is still highlighted in some way > (May require repeating previous steps) > Ctrl+F or Ctrl+R or something, depending on the app > Get into one box and enter "foo" > Get into another box and enter "bar" > Ensure you have selected "selected text" so everything doesn't get replaced > Hit <enter> or click The infamous Stack Overflow answer, "Your problem with Vim is that you don't grok vi," is an oldy but a goody. http://stackoverflow.com/a/1220118 http://stackoverflow.com/a/1220118
- aninhumer 10y agoOf course, if you expand every input out to a full line, it's going to look worse than a string of keypresses. However if we compare more fairly: vim: 2YjjpVj:s/foo/bar/pg Sublime: ^L^L^C↓↓^V↓^Ffoo<Esc>^Dbar (This assumes there are only 2 instances of "foo", but you'd just have to press ^D a few more times otherwise.) And sure moving your hand to ↓ takes slightly more time, but it's still no where near as bad as your screed makes out. And if you really care, you can make new shortcuts for movement (by editing a simple JSON file). Personally, my experience is of using vim for several years, and then becoming approximately as proficient in Sublime in a matter of weeks, and then much more productive in a matter of months. And sure, I wasn't putting that much effort into learning vim, but then, I wasn't putting that much effort into learning Sublime either.
- pawelduda 10y ago+1 for shortcutfoo.com. This is the tool that made my transition into Vim really easy. I cannot recommend it enough.
- ue_ 10y agoThe performance could be increased (i.e less choppy) and filesizes could be decreased (i.e taking up less transfer of data for the same quality) by filming webm or similar rather than gif. The only disadvantage visible is Internet Explorer users who don't have the plugin installed, in which case you could provide a gif fallback.
- ataylor32 10y agoChanging the desktop background to a solid color would help too.
- cridenour 10y agoBut then they would need a new domain.
- iBzOtaku 10y agoNot really. gfycat does both gifs and webm.
- chungy 10y agoMS Edge supports WebM, and that's basically the current version of Internet Explorer.
- vinchuco 10y agoIt would also be more efficient to be able to tell when the gif started
- _vya7 10y agoSpeaking of vim, just a reminder that @antirez made a terminal based text editor in pure C with no dependencies, not even ncurses, in under 1000 lines of code, complete with search feature, and customizable syntax highlighting for variable number of languages. https://github.com/antirez/kilo https://github.com/antirez/kilo Lots of people have forked it and are actively making it their very own editor. Sure, none of them may ever take off and become a new emacs or vim competitor. Or maybe they will. Let's not discount innovation. Plus it's amazing to me that to make a full fledged terminal editor, almost all you really need is the ability to read from stdin and write to stdout. Only a tiny little bit of glue C code is needed (for handling signals like SIGWINCH, or for setting or unsetting raw mode in the terminal), but almost the entire rest of it can be written in, say, Lua.
- kartD 10y ago+1, to complete the editor love, people should also give the https://github.com/google/xi-editor https://github.com/google/xi-editor a look. "The xi editor project is an attempt to build a high quality text editor, using modern software engineering techniques. It is initially built for Mac OS X, using Cocoa for the user interface, but other targets are planned."
- throwanem 10y ago> almost the entire rest of it can be written in, say, Lua Or Lisp. :)
- cschmidt 10y agoI I were going to hack on an C based editor, I think I'd use vis as a starting point: https://github.com/martanne/vis https://github.com/martanne/vis It already has Lua extensions. Or I might play with a pure python editor https://github.com/jonathanslenders/pyvim https://github.com/jonathanslenders/pyvim which is based largely on prompt_toolkit that iPython just adopted Both editors are "vim like".
- vegabook 10y agoThis is actually very good! My initial reaction was to roll my eyes at another Vim tutorial, but this suits my (low) attention span by giving me exactly what each letter does in a spoonfeed (read animated) way. Brilliant taxonomy (a-z) and brilliant bite-size aborption medium that doesn't require me to trawl through a tutorial. Bookmarked.
- foota 10y agoOne of my coworkers once shared the use of set relativenumber, which causes line numbers to be relative to your current position in the file. Great for movements.
- MrQuincle 10y ago+1 Minor point. Somehow I first checked f, it gives me the description for b.
- deleted 10y ago[deleted]
- zerocrates 10y agoMost of them seem to be mismatched.
- chestervonwinch 10y agoI think "b" might be a default? "a" also gives "b": http://vimgifs.com/07-18-2016/a/ http://vimgifs.com/07-18-2016/a/
- hosh 10y agoThis is a great idea! At least until I started to seriously use it to level up my vi skills. Some of the links (say, for `a` or `g`) goes to the wrong places -- to the entry for `b`. When I stepped back and looked at how to navigate it, I realized the structure is disordered so I have no idea how to get to the info I'd like to see.
- captn3m0 10y agoThis is a very creative (and definitely not bandwidth-happy) way of teaching vim. Bookmarked.
- zuck9 10y agoI've never understood, what does Vim or Emacs have to offer that people use it over Atom or Sublime Text? I think I can edit and navigate through text as fast as Vim users, using the native OS text editing hotkeys.
- dopamean 10y agoDifferent strokes for different folks. For me, the first editor I ever used was vi and I just stuck with it. I've never used Atom or Sublime but from what I can tell they're nice editors too.
- rotten 10y agoBecause vi is installed on almost every unix or linux system you will encounter. Many of the other editors require explicit installation, which may, or may not be possible depending on your bureaucracy and where the system is running in your infrastructure. If you know vi/vim you can work on files everywhere. Using the same editor everywhere is much less confusing than trying to learn several different editors and mentally flip back and forth between them.
- lparry 10y agoProperly learning any editor is like learning an instrument. Once you're comfortable with one, you're going to be more comfortable with that one than the others. Likewise, some editors are similar enough that you can chop and change quickly, others not so easily. Atom and sublime are like members of the guitar family, while vim is like a piano. They can all produce lovely text files in the hands of a skilled musician
- skylerberg 10y ago> I think I can edit and navigate through text as fast as Vim users, using the native OS text editing hotkeys. This is where I think you are wrong. An experienced vim user has so many faster ways to edit text than someone limited to what the OS provides. Here are some examples: yt( - Copy characters up to the nearest ( ci{ - Replace text enclosed by curly braces :g/\(['"]\).*\1/d - Use regex to delete every line containing a string literal A vim master has thousands of permutations of commands at their disposal the specify exactly how they want to manipulate text in 5 or less keystrokes. But navigation is just one great feature. Vim users can travel backwards in time (:earlier 10m), can have multiple clipboards with different content at the same time, easily record macros on the fly.
- hbz 10y agoDoes anybody know what program was used to generate the gifs?
- OneNoteIsFree 10y agoI'm an expert in Vim but what strikes me as curious is that despite the seeming claim that emacs is better, I never see quick-start guides for emacs here. Also, would somebody know who these gifs are created?
- stockkid 10y agofeedback: 'b' section: http://vimgifs.com/07-18-2016/b/ http://vimgifs.com/07-18-2016/b/ has instructions about some other keys. Similarly http://vimgifs.com/07-19-2016/g/ http://vimgifs.com/07-19-2016/g/ has instructions about 'b'.
- devin 10y agoI've used Vim, and I don't get it. I have no idea why this is useful. Is this about generating gifs? Why is the alphabet shown with dates?
- pssdbt 10y agoThis is useful because it shows how to do many things in vim in easily consumable gifs. The letters are shown with dates because that's when the author posted each one. Probably not for everybody, I think it's kind of neat though!
- devin 10y agoThanks for the explanation. Apparently not understanding this immediately counts as downvote-worthy. I was not trying to be snarky, it simply did not make sense to me. A better explanation on the page seems like it wouldn't be asking too much?
- naviehuynh 10y agofinally a comprehensive list of vim shortcuts
- mrmrs 10y agonot comprehensive yet, but we will get there!
- roansh 10y agoDoes anyone know a similar site for Emacs users?
- atsaloli 10y agoVery nice. I've added VimGIFs.com to my list of resources for learning Vim (http://www.verticalsysadmin.com/vi.htm http://www.verticalsysadmin.com/vi.htm)
- Philipp__ 10y agoVim may be daunting at first, but after you use it for some time, things just sink into your brain and fingers. As some of you mentioned here, it is a professional tool, not easy to learn, requires patience and dedication, but I think in a long term, you will save much more time by doing so and mastering it, rather than sticking to some gui editors where you select with mouse.
- mrmrs 10y agoHi everyone. Crazy to see this thing on the front page of hacker news. First off - I JUST started putting the site together and didn't expect any attention yet. So apologies for the bugs and mismatched content. Pull requests welcome at github.com/mrmrs/vimgifs :) I created vimgifs because I have found gifs to be an effective way to help people learn vim commands. And I really like helping people become more efficient at building out their ideas. The long term vision is to have a comprehensive set of examples that can be searched in a myriad of ways i.e related commands, all motion commands,all commands available in insert mode, .etc. If it's in :help I want a gif of it! I don't have an opinion on whether or not vim is 'intuitive' but I will say it is much easier to learn than people make it out to be. I'd say it is infinitely less complex than whatever language you are trying to write in. It took me less than a week to become more proficient in vim than in textmate - and I knew most of the command and shortcuts in textmate. To people who say they don't have time to learn vim, a counter: If you are pressed for time so much that you are debating whether or not you have time to learn something... it sounds like vim is definitely for you! Vim isn't just about key strokes, commands, shortcuts, and the like. The more I learn about vim's capabilities the more I fundamentally think differently about editing and manipulating text. It has branching history, native ability to step through compile errors for ANY language, and navigation methods that truly changed how I think about exploring/navigating a code system. It's also ubiquitous which is pretty rad. I can't remember the last time I touched a computer that didn't have my favorite editor already installed. I would encourage people not to denounce something they have never possessed. If you are not proficient in vim - it is difficult to denounce how intuitive it is. It's tough to denounce its ways and how much time they might save you. I have become quite proficient in atom, sublime, textmate, and a few other editors. Even with 'vim mode' enabled these editors do not come close to the power that lies within vim. But rest assured you can write amazing software with any text editor. I've met a lot of people who are excellent at writing code that never use vim and don't like it much. In short - I hope this project makes it more fun and less intimidating to learn vim. I was lucky to have some amazing teachers when I got going and would love to pay their efforts forward a little bit. Thanks for flying vim.
- i336_ 10y agoThere's a truckload of feedback already so I'll keep it short. Two things: 1. A "TV mode" that cycles between examples with a pause in between so I can sit going "oooh, okay!" for a few minutes 2. A random mode, with a link that's accessible without scrolling the page down Bonus: Maybe using cookies/localStorage, remember what's already been seen, and avoid showing it again too quickly.