14 ms·
I Still Use Vim
- exabrial 6y agoI love vim. Easy to use, just works. EDIT: I use Eclipse and Visual Studio code on any sort of larger project. Learning to use code completion, embedded debuggers, and embedded test tools is what makes some programmers way more productive than others. But, vim is my tools of choice for any other text editing (oh and TextMate I guess if I have to).
- rco8786 6y agoI also, still use vim. Along with millions (or at least hundreds of thousands) of others I'm sure.
- cromantic 6y agoHow can someone learn how to use/how to tweak Vim to its full capabilities? Coming from someone who does minimal tweaking on their environment beyond theming, I enjoy using Vim but always feel like I'm barely scratching the surface.
- godelski 6y agoI'd start with `vimtutor` and then there are some tutorials I wrote that start from the very beginning. (I'd greatly appreciate feedback from others). A big tip I have is watch youtube videos and search new tweaks. While learning commands add a few on a post-it note and use that for a week. After the week is over you either learned those commands or aren't using them and don't need them. https://stevenwalton.github.io/tutorial/vim/2019/08/31/vim-basics.html https://stevenwalton.github.io/tutorial/vim/2019/08/31/vim-b...
- Aperocky 6y agoSpeaking from experience, you force yourself to use it for a period of time, preferably in a time where the task load is slightly smaller than usual. After a full month and half of this, vim commands has more or less burned into my muscle memory. This did result in many useless :wqa being typed on other software but it was absolutely worth it.
- daotoad 6y agoThe next step is to pay attention and note when you are doing something that seems to take a lot of commands or just generally be inefficient. When you notice this happening, search docs and articles to see if there is a better way to do it. Over time, you will accrue the things you need to know to use vim effectively.
- elitepleb 6y agoSame as most everything else. `vimtutor` is the official starter guide :help is an inbuilt manual, with a section for every topic you could think of
- Zhyl 6y agoThere's always this classic [0]. [0] https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim https://stackoverflow.com/questions/1218390/what-is-your-mos...
- ethagnawl 6y agoRegarding usage, you should start with the built-in vimtutor tutorial (separate binary which was most likely installed alongside vim). From there, read the manual and start looking at resources like vimcasts.org, /r/vim, _Practical Vim_, etc. _Learn Vimscript The Hard Way_ is also a great resource, but heavy on Vimscript, which you may or may not need on a regular basis. I'd argue it's worth taking a crash course so that you can try to debug third-party plugins or write your own. Really, though, the best way to learn is to jump in with both feet and search for solutions when you want to do something that you don't know how to do. As for "tweaking" Vim, I'd suggest checking out open source vimrcs, like ThoughtBot's or Steve Losh's. You should also browse vim.org/scripts and check out plugins by people like Tim Pope and Junegunn. I can't think of any at the moment, but I know I've seen analogues to ruby-toolbox.com and clojure-toolbox.com which index plugins and let you search by topics and are a little more curated and user friendly than vim.org. You may also want to consider an opinionated Vim distribution (Janus, Space Vim, etc.), which comes with non-standard .vimrc settings and plugins.
- lc9er 6y agoRun through the tutorial a couple times, so you learn the basics. Once you've internalized them, then start exploring the plugin ecosystem. A lot of people dive right in to customizing their vim, completely reinventing the wheel or copy/pasting configs without understanding what they do. https://vimways.org/ https://vimways.org/ is also a great resource. 'Death by a Thousand Files' in the 2018 edition is one of my favorite vim articles.
- deadbunny 6y agoA simple method is to use it at it's simplest: Open vim Hit i Type the things you need to type Hit esc :wq Continue like this for a few days (maybe even map the arrow keys to hjkl, like a heretic), then I'm sure you'll think something along the lines of "hmm, I wonder how you do X in vim" learn that and continue along. That's what I did all those years ago.
- Aperocky 6y agoI'm a new gen vim user, defined as in having lived a shorter time then vim itself. the learning cliff is significant, I've spent a whole month doing everything in vim to burn everything into muscle memory, and once that period is over, it becomes self reinforcing. The payoff is significant, I don't leave the terminal to go to some graphic IDE anymore, unless it's Java. And my vim setup started to look more like an IDE - but an IDE that comes with the full power of vim and it's different modes. Once you get over the initial excitement over keystrokes, you'd realize that modal editing is actually the biggest draw. People have different preferences, but for me, vim has been absolutely worth it.
- commandlinefan 6y agoOnce you've learned it/internalized it, there's no good reason to stop using it - it's fast, available and effective.
- unemphysbro 6y agoI only recently switched (not completely) from vim to vscode while learning a bit of web dev and rust. I like simplicity and granular control which vim provides. At some-point I had a mouseless linux box with vi-like keybinding for everything (vimperator, muttator eg). That said, the instant compilation and error feedback developing in rust in vscode is amazing, especially while learning.
- elitepleb 6y agoOne good thing to trickle down from vscode was the idea of language server protocols. Have you tried `nvim-coc`? `coc-rls` might be a good option.
- joelthelion 6y ago> That said, the instant compilation and error feedback developing in rust in vscode is amazing, especially while learning You can get pretty much the same experience in vim, using the exact same language servers as vscode. It's not even hard to setup.
- hamaluik 6y agohttps://github.com/fannheyward/coc-rust-analyzer https://github.com/fannheyward/coc-rust-analyzer works a treat.
- ogre_codes 6y ago> My vim config is 600 lines. I have fixes for small annoyances. I have a bookmarking system set up in 45 lines. I have extra syntax highlighting for code snippets that are important to me because I’m doing things the original syntax maintainers never even considered. I create impromptu keyboard mappings and abbreviations and autocommands as needed for given tasks. I can move around in the design space at will. I use VIM on and off, but I wanted to post the above because I think it exemplifies who might like using VIM. VIM is ideal for people who find it worthwhile to spend the time building their configuration out. VIM is the productivity tool that gets better as you put the time and effort into building it out. If you aren't the kind of person who wants to put that time and effort in, it is still decent as a basic editor, but it doesn't really shine.
- tombert 6y agoI don't disagree with your thesis, but I should point out that I have been using Vim almost exclusively for almost six years now (well, NeoVim for 4 of those years), and my config is only about 40 lines, and most of it is just installing plugins for whatever languages I'm using. Despite me not hacking it like crazy, I still think it really shines as an editor; Vim macros were sort of life-changing to me once they clicked for me. I also just think that modal editing is superior once you get past the initial learning curve.
- hwayne 6y agoThere are many ways to use vim and they're all valid! People who love barebones vim are cool. People who love configuring vim are cool. People who love embedding vim in larger programs are cool. We have way more in common than vim squabblers pretend!
- Scarbutt 6y agoAre evil users cool too? BTW, your main point about using vim is emacs greatest strength.
- 6y ago
- waynecochran 6y agoLong live emacs! Still use it more than any other program.
- bjoli 6y agoI would argue that, apart from startup time if your are not using the Daemon, Emacs is a great vim. The vim emulation is close to perfect.
- clashmeifyoucan 6y ago> The IDE can be the “Swiss Army Knife of features” and I’m glad it’s there, just like the Victorinox I keep in my backpack. I feel like it's the opposite, vim is my swiss army knife for working with rust or cpp or python whenever I want whereas the IDE is something I open to work on specific, more complex projects where I just care about getting something done (like my homework).
- hwayne 6y agoIMO neither of them are really "Swiss army knives". Multitools are pretty bad as actual tools, we just use them because carrying around an entire toolbox is nuts. It's not the versatility that makes them good, it's the form factor. If I had to compare tech to real life tools, then IDEs would be food processors: heavy, extremely good at what they do, make some things possible and other things trivial, best at scale. And vim would be, I dunno, a really nice chef's knife? But you can't serrate a chef's knife. Whatever, analogies are dumb. (Emacs of course would be a smart fridge running emacs as an OS.)
- zabzonk 6y agoAnyone wanting to learn vim should probably start off by learning how to use vi, and then get into vim configuration. For learning vi, you can't do better than Linda Lamb's book, which you can pick up for peanuts: https://www.amazon.co.uk/Learning-Editor-Nutshell-Linda-Lamb/dp/0937175676 https://www.amazon.co.uk/Learning-Editor-Nutshell-Linda-Lamb...
- jaimebuelta 6y agoDrew Neil’s “Practical Vim” is absolutely fantastic, and really explain the mindset and way of thinking to use Vim. It’s probably the best technical book I’ve ever read... https://pragprog.com/titles/dnvim2/practical-vim-second-edition/ https://pragprog.com/titles/dnvim2/practical-vim-second-edit...
- tuatoru 6y agoAnd of course there's the famous stackoverflow reply, "Your problem with Vim is that you don't grok vi".[1] Reframing vi(m) usage in my head as a conversation, a linguistic back-and-forth, really helped me understand how to use vi(m) effectively. 1. https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim https://stackoverflow.com/questions/1218390/what-is-your-mos...
- leafmeal 6y agoWhy would you learn vi when you could just learn vim? To me that seems like saying "Anyone wanting to learn C++ should probably start off by learning how to use C".
- myth_drannon 6y agoI recently saw Gary Bernhardt's video on Typescript(so not related to Vim) but I was astounded at his Vimfoo skills. Looks like magic. https://www.youtube.com/watch?v=GrnBXhsr0ng https://www.youtube.com/watch?v=GrnBXhsr0ng
- robotmay 6y agoI can boil my preferences for Vim down to a single thing that I can't find anywhere else: it's fast. I can open stupidly large files and not worry, or mash page down and have no lag. It's a pretty much invisible part of my daily workflow and any time I have tried another editor the speed is the first difference I notice and find immediately frustrating. Every other editor I have tried, even including Emacs (sorry), has at least a slight, but perceptible, difference in speed. Yes I probably shouldn't open massive log files and hold page down, but it's nice to know that I can.
- jcranmer 6y ago> I can open stupidly large files and not worry, or mash page down and have no lag. In my experience, vim tends to start choking on files in the 100MB/1GB range.
- robotmay 6y agoHaha yeah that's probably close to my experience too. But I wouldn't even dare try in other editors. My experience with vim always seems atypical when I read blog posts like this. For me it's a hard-to-kill, reliable text editor. I barely know any of the commands (despite using it for a decade) because I've honestly never felt like I was missing anything. Just having something reliably fast lets me get away with inefficiencies that are problems elsewhere. I can't stand hjkl navigation, or remember anything more complex than how to find/replace strings. But I'm perfectly happy with it just like that.
- tutfbhuf 6y agoFor files that big I often find myself switch back to vi. However, vi also has its limits. If the files are really huge, then grep, head, tail and awk are my best friends.
- Osiris 6y agoI love vim for quickly looking at files, but when it comes to working in a large codebase, I like to have a lot of information visible at once, such as having a Find panel with results, multiple files open in multiple panes, a file list, list of currently changed files, etc. Oh, and I use proportional fonts so VIM is out.
- meagher 6y agoI started learning Vim in February after using VS Code/Sublime for a long time. I wish I started learning Vim ten years ago. There's not many other things I can say that about. Sure, someday I might switch to another primary editor or split time between a few, but learning Vim changed the way I think about editing text forever (and it's really fun).
- axegon_ 6y agoTo be fair I only resort to IDE's when I have to jump into a new and unfamiliar project. Once I know it well enough, I switch over to vim. Recently I got told that I might have a Stockholm syndrome. Jokes aside and all, the truth is once you learn the basic 20-30 commands, nothing will be able to match your speed.
- Koshkin 6y agoOne of the best and extremely productive programmers I have known had cerebral palsy. He typed slowly, with one finger, while holding the right hand steady with the left.
- hodgesrm 6y agoVim and vi before it are like QWERTY keyboards: ubiquitous and productive once you memorize a 30 or so commands. I use IDEs for editing languages like Java that have a lot of dependencies but vim works for just about everything else. I don't see a compelling reason to change.
- pritovido 6y agoVim is a tool. The more knowledge you have, the more powerful it becomes. Vim was my first editor in Linux. Before that I used Borland, VS(Visual studio) and MASM(Microsoft assembler) editors. After learning regular expressions, I felt superman with Vim. I started doing incredible automated work that was impossible or very hard to do in anything else like VS, netbeans or whatever. Then I learned Lisp, so I forced myself to master eMacs. It happened again, I felt super-superman once you understand Lisp and can use it to automate everything on the editor. IDEs are great for starting to program. But if you plan on being a serious programmer I recommend that you download anki and start memorizing Vim or emacs or regular expressions commands. That will make you also a super human, able to do things in way less time that everybody else.
- Osiris 6y agoCan you give an example of "super human" regular expressions? I use regular expression search/replace (even across all files in the project) frequently in WebStorm. I'm really curious what functionality I'm missing out on.
- deleted 6y ago[deleted]
- konart 6y ago>But if you plan on being a serious programmer... Serious programmers don't say such nonsense. Serious programmers use whatever they are comfortable with. Whether it is vi or IDEA
- ncmncm 6y agoWe all start out with the same equipment; the only automation we get is muscle memory. We add software, and multiply that. If we add automation to the software, we multiply it again. There are reasons why some people can do more than other people. Some people have natural advantages, in certain directions. Nobody has them in all directions, but automation can often compensate in the other directions. If you don't have ambition to excel, you can stay with the minimum. If you have enough natural talent, you can play to your strengths and excel only there. It's a choice of where to invest your time and effort. It should be a conscious choice. IDEs are a trap because they automate only certain things the IDE author thought was important, and do not reward impulses to improve in other directions.
- AdmiralAsshat 6y agoNot sure why the HN article opted to go for "I Still Use Vim" instead of the article title, "Why I Still Use Vim". The former just makes you sound like an Arch Linux user.
- Jtsummers 6y ago"Why" is removed from posts by default, the submitter (or a mod) has to edit the title to reinsert it if it's correct. Same thing happens to numbers (10 Ways to ...). It's a quality of title thing, I vaguely recall but can no longer describe well the rationale for why "Why" is removed but I think it was to do with it being superfluous for many titles.
- Koshkin 6y agoFunny enough, when I used a news aggregator I eventually decided to hide posts with titles that start with "Why" (along with a few others; I don't think I missed much).
- gorgoiler 6y agoText editors edit text. Many many things that are important in life have little to do with computers. But the important things which involve computers are usually text based. You edit them with a text editor. IDEs, at their best, edit one family of languages. At their worst: Java. They do that very well, but general purpose text editors they are not.
- Koshkin 6y agoI looked in Wikipedia and saw this: "In discussing the origins of vi and why he discontinued development, Joy said: I wish we hadn't used all the keys on the keyboard... I think as mode-based editors go, it's pretty good. One of the good things about EMACS, though, is its programmability and the modelessness. Those are two ideas which never occurred to me."
- hatmatrix 6y agoSo the popular qualities of vi came into existence by accident... Joking aside, I could never be efficient in vi or vim because I need to edit simultaneously as I type. In vim, I'm slowed down by the fear "not to mess up", since I have to switch to normal mode to edit before switching back to editing mode and continue to type. Or, for instance, in languages without a function composition operator (or pipes), typing out nested functions in order of application (which is not left-to-right) requires A LOT of switching between editing and normal modes just to complete the thought. I've never been able to figure out how others find this desirable.
- scns 6y agoIn Haskell you can use & (equivalent to OCamls |> operator) to compose the other way around. edit: s/corresponding/equivalent/g
- jakearmitage 6y agoI would still use Vim if it had a decent multi-caret support just like Sublime. I want alt + shift, I want ctrl + click, and I want it to just work.
- deadbunny 6y agohttps://github.com/mg979/vim-visual-multi https://github.com/mg979/vim-visual-multi
- seifferth 6y agoIf you're looking for multi-cursor support, you might want to take a look at https://github.com/martanne/vis https://github.com/martanne/vis. It doesn't support ctrl + click, but I find ctrl + n and ctrl + j go a very long way. For anything more complex, vis supports structural regular expressions.[^1] Those work for both replacement (as is customary) and for multi-caret text selection. [^1]: These structural regular expressions took me a bit to get used to, but by now I really like the concept.
- WalterBright 6y agoI'm still amazed that someone wrote a TECO macro for TECO (a line editor from the 1970's) that turned it into a screen editor. I used that macro for many years.
- WalterBright 6y agoOh what the heck. Here's the TECO macro for a VT52 terminal: [4 [5 [6 [7 [8 [9 +0U7 0,0X4 10U4 [4 ETU4 [4 EDU4 [4 EUU4 [4 ^D ET&(128#64#32#1^_)#512#16#8#2ET ED"G 0ED ' @^U5/U9 ET#1ET 27^T Q9^T ET&(1^_)ET/ @^U6/.U8 ZU4 -3U6 ^^HM5 13^T ^^KM5 10^T ^^KM5 13^T :G4 < ^TU7 !F! Q7^T ZJ Q7@I%% Q7-10"E 13^T ^^KM5 -1%6 ' Q7-21"E Q6^W 0U7 0; ' Q7-127"E -D Z-Q4"N -1AU9 -D Q9-27"E 32U9 ' Q9-31"G ^^DM5 ^^KM5 1+ ' 0"E 13^T -Q6-2< ^^KM5 ^^AM5 > 10^T 13^T :G4 Q4,ZT ' ' ' Q7-27"E ^TU7 Q7-27"E !F0! 27@I%% Q4,ZX4 ^^HM5 13^T -1U7 0; ' Q7-^^?"E ^T^[ @O!F0! ' @O!F! ' > Q4,ZK Q8J Q7/ 0,0X7 G_ ^YX8 ^YK 0,0X9 ^^HM5 13^T ^^=M5 < !A! 0U4 0U6 !B! 1U5 ET#32ET ^TU7 ET&(32^_)ET Q7"L -1^W ^TU7 ' !V! Q7-127"E .-Q5"L .U5 ' -Q5D @O!A! ' Q7-31"G Q7@I%% @O!A! ' Q7-26"E 0; ' Q7-21"E 0K @O!A! ' Q7-11"E Q5K @O!A! ' Q7-8"E Q5L .-1"G 2R ' @O!A! ' Q7-4"E Q5K @13I%% 10@I%% 2R @O!A! ' Q7-3"E 0; ' Q7-27"N Q7@I%% @O!A! ' ^TU7 Q7-^^C"E Z-.-Q5"L Z-.U5 ' Q5C @O!A! ' Q7-^^D"E .-Q5"L .U5 ' Q5R @O!A! ' Q7-^^?"E ^T&31#32U7 Q7-^^0"E Q5L @O!A! ' Q7-^^1"E Q5-1"E 0U5 ' Q5J @O!A! ' Q7-^^2"E ZJ @O!A! ' Q7-^^3"E 0L @O!A! ' Q7-^^4"E -Q5L @O!A! ' Q7-^^5"E Z-.-Q5"L Z-.U5 ' Q5D @O!A! ' Q7-^^6"E @FR%% @O!A! ' Q7-^^7"E Q5< 13@I%% 10@I%% 2R > @O!A! ' Q7-^^8"E Q5P @O!A! ' Q7-^^9"E Q5-1"E ^TU5 ' Q5@I%% @O!A! ' Q7-045"E @^U4%Search: % M6"F @O!A! ' G4 ^Y-2X8 ^YK @O!S! ' Q7-^^."E 0U6 !S! Q5:@S%^EQ8%^[ Q6"N Q6^W ' @O!A! ' @O!A! ' Q7"D 0U5 < Q510+Q7-^^0U5 ^TU7 Q7"D > ' @O!V! ' 0U8 Q7-^^A"E -1U8 ' Q7-^^B"E 1U8 ' Q8"N Q5Q8U5 Q6"E 0U7 .U8 0L Q8-.%6< 0A-32"L 0A-27"N 0A-9"E 6-(Q7&7)%6^[ -2U7 ' %7 1%6 ' ' C %7 > ' Q5L -Q6U9 0U7 Q6< .-Z; 0A-32"L 0A-13"E 0; ' 0A-27"N 0A-9"E 6-(Q7&7)%9^[ -2U7 ' %7 1%9 ' ' C %7 1%9"G R ' Q9; > 0U4 @O!B! ' Q7-^^Q"E @^U4%Command: % M6"F @O!A! ' G4 ^YX9 ^YK @O!C! ' Q7-27"E 0U6 !C! ]4 Q4EU ]4 Q4ED ]4 Q4ET ]4 Q4-10"N ^O ' M9 10U4 [4 ETU4 [4 EDU4 [4 EUU4 [4 ^D ET&(128#64#32#1^_)#512#16#8#2ET ED"G 0ED ' -1EU Q6"N Q6^W ' @O!A! ' Q7-^^R"E G7 @O!A! ' Q7-^^P"E Q4"E .+1U4 ' Q5L Q4-1,.X7 Q4-1,.K G7 0U6 @O!B! ' > ET#16ET ^^>M5 ^^YM5 23+32^T 0+32^T ^^KM5 13^T !Z! ]4 Q4EU ]4 Q4ED ]4 Q4ET ]4 Q4-10"N ^O ' ]9 ]8 ]7 ]6 ]5 ]4
- WalterBright 6y ago
- typicalbender 6y agoTo me the biggest power of Vim is modal editing which you can now get emulated to varying degrees of completeness in your favorite editor. Whether or not a command line editor is your bag, learning modal editing and Vim keystrokes can be a huge productivity improvement and applicable to a large number of different editing environments.
- shrimp_emoji 6y agoHard disagree. Modal editing makes no sense in current year. It and vi were designed for terminals without Pg Up/Down keys.[0] Looks like no End either, although there's a Home. Times have changed. It's so awful to get used to, and the alternative is just reaching for Home/End/Pg Up/Pg Down. Gimmie a break, fam. (What's ironic is that most people I know who love vim do use those keys, so they're paying the speed penalty of not having to reach for them for nothing -- plus the million penalties of using a terminal editor, and a byzantine one at that.) Also, ever wonder why the movement keys are HJKL and not the home row's JKL;, which would be far better and more intuitive? Glance back at that picture; for no good reason, the manufacturer of those terminals decided to put arrows on HJKL. And so, in inertial carryover of dumb design, vi's creator decided those should be the movement keys. Sorry, time to eject from this fossilized ride from the '70s and into the 21st century. 0: http://vintagecomputer.ca/wp-content/uploads/2015/01/LSI-ADM3A-full-keyboard.jpg http://vintagecomputer.ca/wp-content/uploads/2015/01/LSI-ADM...
- jen20 6y agoSorry to burst this bubble for you, but there was no “no good reason” to put the arrows on HJKL [1]. [1]: https://twitter.com/hillelogram/status/1326600125569961991 https://twitter.com/hillelogram/status/1326600125569961991
- ptaffs 6y agoone thing i love about using Vim, may only apply to using it in a text based terminal, is that the input cursor is not the text select cursor. This may also apply to emacs. Useful in many instances to select text from one portion of a document file for copy, and to paste into another, without losing the insertion point.
- arkj 6y agoIt was a struggle in the beginning, often wondering why they didn’t make it like notepad. Then came h, l, j, k and life started getting easier. Later came w, b, G, gg, c$, d^ and it clicked, that’s when it became vim for everything ascii. The vim plugin for vscode keeps the feel going.
- ElHacker 6y agoMy favorite code editor by far is Vim. But I've tried newer ones over the years: Sublime, Atom, VSCode, etc. None of them seem to stick with me and I always go back to Vim. I think I've developed some sort of dependency to Vim shortcuts and on every new code editor I try I immediately install a Vim shortcuts plugin to make it feel more familiar. I still find the editors mentioned above to lack the "ease" of customization you can have with VIM. I put ease in quotes because learning vimscript is not simple, I highly recommend taking a look at https://learnvimscriptthehardway.stevelosh.com/ https://learnvimscriptthehardway.stevelosh.com/ to learn how to do it. Thanks to that guide I was able to write my first simple plugin https://github.com/ElHacker/vim-gitstatus https://github.com/ElHacker/vim-gitstatus I'm working on building VR applications with Unity and C#. For that task I have to say that VSCode works pretty well, it has a ton of really nice features I regularly use: like debugging unity code, autocomplete/snippets from the unity API, and my favorite Zen Mode. My biggest complain with VSCode is how slow it runs sometimes, I can type faster than VSCode refreshes which adds noise to my flow, note that I don't consider myself to be a fast typist. If they would only fix that I would be very happy with it.
- lilyball 6y agoThe ability to customize Vim is precisely why I can't use Vim plugins for other editors. They never capture my customizations, and never offer the ability to replicate them. So I just live with non-modal editing when using other editors. Speaking of modal editing, I'm really interested in Kakoune's model. With Vim, you type the action, then type the motion, and it performs the action immediately. This often means I have to repeat actions a few times if I'm unsure quite what motion I want, or I have to pause and count things (e.g. if I want to delete from the beginning of a token until a close paren, doing that with a single "d" command requires me to mentally balance parens to find what count I want to give to the motion). Kakoune flips this around, you do the motion first, then do the action. Of course Vim has its visual mode which is similar, but that puts you into a different mode entirely that you then have to exit if you change your mind, and not all commands work in visual mode. Kakoune also has far better support for multiple selection than Vim. The problem with Kakoune is just that I can't use it anywhere except in the terminal, which is a barrier to adopting it (whereas I use MacVim often). I'm also not sure offhand what the plugin situation is like (I know it supports plugins, but I don't know how powerful they are; I recall when kakoune first came out all extensibility was done by shelling out to external commands but I don't know if that's still the case).
- andrewem 6y agoThanks for the mention of Kakoune, which I hadn't heard of. This page on its site makes a pretty interesting case for the power of its command model over vim's (though I haven't been a regular vim user for many years): https://kakoune.org/why-kakoune/why-kakoune.html https://kakoune.org/why-kakoune/why-kakoune.html
- gyre007 6y agoOver the years I've been trying different editors but they're either overly complex to configure (yes I'm aware of the irony here) or I just can't make them work the way I want. I always fall back to vim, but I never top giving them a chance.
- rendall 6y agoI hopped on the Vim train about 2-3 years ago and haven't looked back. That said, I do use VSCode with Vim key bindings more than anything. It doesn't have everything Vim does, but it does have Tim Pope's almighty surround plugin, out-of-the-box. https://github.com/tpope/vim-surround https://github.com/tpope/vim-surround ys2w) will put brackets around the next 2 words. That is a beautiful thing.
- rendall 6y agoI didn't quite understand what the author meant when he said that VS Code was a 'lite' IDE. Any ideas?