> 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.
I 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.
My problem is that some of that building should've been sensible defaults, and the community tends to outsource those responsibilities to extensions.
Which means your Vim experience now has some risk of rot. Once and awhile my configurations/extensions rot and I have to go and update myself as to what happened in the ecosystem, or what is interacting with what. One day I decided I'm too tired and switched to VSC.
Also the author failed to talk about the #1 killer feature of VSC, the reason for its meteoric rise in popularity — intellisense.
My .vimrc is around 80 lines including 15 plugins. It's mostly like that for last 8 years. And i don't have any problem using using unmodified vi/vim on servers, which is a big plus.
My vim config is empty. I use it periodically and know the basics. I prefer it over nano and pico by a mile.
600 lines seems pretty long to me. I don't even know what I would put in a .vimrc file. Obviously I don't use it enough to even have annoyances.
The nice thing about have no config is that I can hop into vim on any computer or server anywhere and be able to use the editor. I don't have to worry about having muscle memory of using keybindings/aliases that don't exist.
> VIM is ideal for people who find it worthwhile to spend the time building their configuration out.
I've been using VIM for over a decade and currently my customized config consists of a half a dozen tweaks, such as YAML-specific settings stashed in ./.vim/after.
The 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).
Thanks 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):
Vim 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.
“IDEs are for beginners” and “IDEs are not for serious programmers” and “Vim/Emacs make you superhuman” are myths we should not perpetuate as programmers.
I like Vim/Emacs, but they succeed in making programmers feel like magical wizards more than they succeed in making them super human.
I've also paired with vim/Emacs users who are fast at manipulating text, but terrible at all the things you can do in a couple of seconds with an IDE (rename a file/function/class/parameter and have all references update, jump to a failing test, jump to a definition of library code that isn't stored under the working directory path, structural search and replace[1], extract JSX code from the render method to create a new component etc. etc.).
For many, it's easier to add vim emulation to an IDE than it is to add the IDE features they care about to vim/Emacs. You can still be a passionate, professional, productive developer and use an IDE.
Can 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.
I 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.
Try nvi. It'll open files vim chokes on. Try Ni string esc where N > 1000000 (insert 1000000 copies). Or however high you need to go to watch vim choke and gasp and wheeze and make you think your computer hung. Then go do the same thing in nvi and watch it happen in one second.
Likewise, find the file of size that vim can't handle on your machine, then open it with nvi.
For those virtues, speed and opening large files, nvi eats vim's lunch.
I 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.
My 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/ 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
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.
To 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.
One 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.
Vim 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.
I 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).
Anyone 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...
Drew 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...
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).
"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.
Funny 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).
I 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."
So 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.
I 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
ys2w) will put brackets around the next 2 words. That is a beautiful thing.
I'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.
> 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).
IMO 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.)
I 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.
To 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.
Hard 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.
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.
I 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
[+] [-] ogre_codes|5 years ago|reply
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|5 years ago|reply
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.
[+] [-] threatofrain|5 years ago|reply
Which means your Vim experience now has some risk of rot. Once and awhile my configurations/extensions rot and I have to go and update myself as to what happened in the ecosystem, or what is interacting with what. One day I decided I'm too tired and switched to VSC.
Also the author failed to talk about the #1 killer feature of VSC, the reason for its meteoric rise in popularity — intellisense.
[+] [-] raverbashing|5 years ago|reply
Vimscript is weird. Sometimes the answer to "how to do this" comes in the form of "just install this package manager...". Stop. No.
Sure, I'm ok with adding a couple of lines to vimrc, copying some files, but don't push it.
I get much more out of the box from Vscode, PyCharm, etc. Why can't it be the same with vim?
[+] [-] masa331|5 years ago|reply
So no, vim shines and it's pretty bright
[+] [-] Osiris|5 years ago|reply
600 lines seems pretty long to me. I don't even know what I would put in a .vimrc file. Obviously I don't use it enough to even have annoyances.
The nice thing about have no config is that I can hop into vim on any computer or server anywhere and be able to use the editor. I don't have to worry about having muscle memory of using keybindings/aliases that don't exist.
[+] [-] barumi|5 years ago|reply
I've been using VIM for over a decade and currently my customized config consists of a half a dozen tweaks, such as YAML-specific settings stashed in ./.vim/after.
[+] [-] heelix|5 years ago|reply
[+] [-] lilyball|5 years ago|reply
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|5 years ago|reply
https://kakoune.org/why-kakoune/why-kakoune.html
[+] [-] pritovido|5 years ago|reply
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.
[+] [-] modernerd|5 years ago|reply
I like Vim/Emacs, but they succeed in making programmers feel like magical wizards more than they succeed in making them super human.
I've also paired with vim/Emacs users who are fast at manipulating text, but terrible at all the things you can do in a couple of seconds with an IDE (rename a file/function/class/parameter and have all references update, jump to a failing test, jump to a definition of library code that isn't stored under the working directory path, structural search and replace[1], extract JSX code from the render method to create a new component etc. etc.).
For many, it's easier to add vim emulation to an IDE than it is to add the IDE features they care about to vim/Emacs. You can still be a passionate, professional, productive developer and use an IDE.
[1]: https://www.jetbrains.com/help/webstorm/structural-search-an...
[+] [-] konart|5 years ago|reply
Serious programmers don't say such nonsense. Serious programmers use whatever they are comfortable with. Whether it is vi or IDEA
[+] [-] Osiris|5 years ago|reply
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.
[+] [-] robotmay|5 years ago|reply
Yes I probably shouldn't open massive log files and hold page down, but it's nice to know that I can.
[+] [-] theonemind|5 years ago|reply
Likewise, find the file of size that vim can't handle on your machine, then open it with nvi.
For those virtues, speed and opening large files, nvi eats vim's lunch.
[+] [-] Osiris|5 years ago|reply
Oh, and I use proportional fonts so VIM is out.
[+] [-] jcranmer|5 years ago|reply
In my experience, vim tends to start choking on files in the 100MB/1GB range.
[+] [-] ElHacker|5 years ago|reply
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.
[+] [-] axegon_|5 years ago|reply
[+] [-] Koshkin|5 years ago|reply
[+] [-] hodgesrm|5 years ago|reply
[+] [-] meagher|5 years ago|reply
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).
[+] [-] scns|5 years ago|reply
[+] [-] guytv|5 years ago|reply
[+] [-] zabzonk|5 years ago|reply
[+] [-] jaimebuelta|5 years ago|reply
https://pragprog.com/titles/dnvim2/practical-vim-second-edit...
[+] [-] leafmeal|5 years ago|reply
To me that seems like saying "Anyone wanting to learn C++ should probably start off by learning how to use C".
[+] [-] exabrial|5 years ago|reply
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).
[+] [-] AdmiralAsshat|5 years ago|reply
The former just makes you sound like an Arch Linux user.
[+] [-] Jtsummers|5 years ago|reply
[+] [-] Koshkin|5 years ago|reply
[+] [-] Koshkin|5 years ago|reply
[+] [-] hatmatrix|5 years ago|reply
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.
[+] [-] commandlinefan|5 years ago|reply
[+] [-] rendall|5 years ago|reply
ys2w) will put brackets around the next 2 words. That is a beautiful thing.
[+] [-] WalterBright|5 years ago|reply
[+] [-] WalterBright|5 years ago|reply
[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
[+] [-] clashmeifyoucan|5 years ago|reply
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|5 years ago|reply
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.)
[+] [-] unemphysbro|5 years ago|reply
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.
[+] [-] joelthelion|5 years ago|reply
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|5 years ago|reply
[+] [-] elitepleb|5 years ago|reply
Have you tried `nvim-coc`? `coc-rls` might be a good option.
[+] [-] typicalbender|5 years ago|reply
[+] [-] shrimp_emoji|5 years ago|reply
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-ADM...
[+] [-] gorgoiler|5 years ago|reply
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.
[+] [-] myth_drannon|5 years ago|reply
[+] [-] rco8786|5 years ago|reply