Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
I still don’t get why people use vim... it seems dated to me.
No disrespect but someone tell me how awesome it is so I feel the need to learn? -
@jamescodesthing 1) It’s almost on every Linux machine by default, or you’d probably have Vi (Vim is Vi Improved) on em 2) Working via ssh 3) Less mouse movement is more productive for a lot of peeps 4) Certain Vim commands are actually useful and you probably can’t get em on most other editors
-
@jamescodesthing Feeling like you can talk to editor is awesome. Better than that, with more experience vim user -> we think about what we want vim to do and it magically happen in a blink of an eyes.
simplest example would be ->
1) you want to change some word
other editor : use backspace multiple time or mark that word by mouse
vim : press “cw” and enter new word.
.
and all of this is not about memorize the whole combination of command, Its about grammar of vim.
.
like in cw -> is translate to “change word” (action + context)
.
by combine action + context -> u tell vim what u want to do.
and u can combine more
.
like example “d” (action to delete), “G” (last line in file)
press “dG” (delete until last line)
.
we just memorize action and context. not a whole combination of it.
(we not memorize like “dw, d$, dgg, etc... but in (action, context and combine those our self)
@jamescodesthing -
@CSaratakij on any editor you can change a word to another. Even better, IDEs offer to change an identifier across the whole project.
-
@AndSoWeCode vim is still special in that regard... The same command pattern allows you to
- change X words instead of just one
- change X letters
- change the whole paragraph
- change everything until the end of the line
- countless more options -
Froot75397y@Ashkin Doesn't mean you need to code in it. Sure you should be able to tolerate it when needed but that doesn't mean you can use something else on your own machine
-
@theCalcaholic vim has its features. Mostly useless stuff or stuff that you can find in other editors/IDEs, or stuff that you can easily do in a way that's slightly different and as efficient.
However it seriously lacks crucial features that just don't make it a viable main working tool. -
@AndSoWeCode Well, it doesn't lack them. But they require a sometimes insane amount of configuration to set up.
-
@theCalcaholic quickly navigate to file and keep it open in a tab to be able to quickly switch to it and be in the same row as you left it, with the same stuff selected. Constantly see your changes highlighted in the editor. Navigate to symbol definition, refactor code, analyse code and highlight what might not make much sense (like that if(a=2) after days of writing only SQL)
-
@AndSoWeCode Im pretty sure all of these requirements are possible. Some are solved by the fuzzy finder plugin. Having the cursor start at the same position in an once opened file is default.
Jump to definition/declaration is possible with 2 key strokes by default. Linter and auto formatter can be integrated for any language - in most cases just by downloading a vim plugin. -
@AndSoWeCode okay.. I know that IDE already have that feature
(but that is just a fraction of what vim can do)
vim is special for me cuz I don’t need mouse usage and editing text with out thinking about shortcut is a nice feature for me. U know, as I mention up there “I talk to vim”. (Its like muscle memory for me now)
This make me more efficient and more productive than any text editor I have ever used.
but sure, it wont fit in with everyone and I understand.
(if vim make u less productive then, don’t use it) -
@theCalcaholic I've looked for hours for something that would jump to definition. It's not there. Not by default. Only for C++ code, and it's unreliable.
-
@AndSoWeCode This seems to be the best solution to it: https://stackoverflow.com/questions...
Leaves a lot to be desired though...
Jumping to local declaration seems to work fine though (gd). But that's hardly sufficient. -
Froot75397yWe all know that vim can do anything. You could just as well recommend people write their own editor in assembly, then too you can do anything. The question is how long it takes to get shit done.
Some people enjoy fiddling with their tools and others want them to just work so they can get shit done. And that's fine, whichever side you're on. Just don't pretend it's the be -all-end-all solution -
xorith26767y@AndSoWeCode Plugins...
I prefer an IDE when writing Go because it's definitely easier to visualize everything... but when I'm working from home and can't be fucked to recreate my dev environment, I have a server I can ssh into and use vim all day long.
I don't understand the hate. It's another tool. You sound like a carpenter swearing off a hammer because they got a nail gun. It's just stupid. -
xorith26767yWith a few vim plugins, I can jump to definitions. I can tab-complete the API. I can even run tests and builds from within the editor.
I can have multiple files open at a time on the same shell terminal.
I'm by no means a pro with vim either. I don't agree with the elitist notion that using vim makes you better. On the other hand, only a fool would bitch about a versatile and flexible tool that can literally be used from nearly anywhere. -
@xorith where did I express the hate? I'm just debunking some arguments that sound more like fashion decisions than a tool choice. I don't care really. Maybe I'd be a few seconds faster had I used vim in some cases, and I might have benefited from it. But I just don't like it when it's presented as with big promises, that in the end it just can't fulfil.
-
xorith26767y@AndSoWeCode But your arguments seem to be rooted in ignorance and not doing proper research. If you're not willing to learn about something before "debunking", why are you even commenting?
-
@xorith now you're being offensive to me. I've wasted lots of hours exploring the possibilities of this mythically great editor. I searched for demos by its most fervent fans, I looked at plugins, etc. That's my research in its capabilities.
In all of this, it just seems that you have never come up across scenarios that require the feature that I'm describing, and you just don't understand what I'm describing. From my perspective, it looks like you've never fully used a modern IDE. -
xorith26767y@AndSoWeCode
In a given month:
Visual Studio
IntelliJ
Gogland
WebStorm
PHPStorm
DataGrip (counts)
VS Code (not an IDE, but still)
I may try Rider again in the future.
I'm pretty sure the monthly I pay for the JetBrains suite isn't going to waste. :)
The point I'm making about your points in our pointless keyboard war here is that your points fall flat with a small amount of research.
Take it how you will. I can simply yield to your greater skill at wielding a keyboard. -
To douse the fire that I may have somehow started 😅, I am a Vim and Sublime Text user, on a Mac, and I switch around using them, as one can be faster than the other depending on context for me. Vim needs a lot of configs, but so does Sublime (I do use Vintage mode though). While there may be plugins that can make them come close to behaving like an IDE, it’s not what they’re designed to do. I can understand why @AndSoWeCode is trying to say all that, given that there are a lot of Vim preachers out there, but his approach wasn’t the best. I know we’re kinda treading on Editor Wars here 😂, but I think we should just use the right tool for the right job. If there are tools to choose from, use that that is the most comfortable to you.
-
Dayuum this started an interesting debate. I’m trying to change just because atom takes up to much ram and after a while it starts behaving slow.
-
@futoricky Atom IS kinda slow. VS Code is faster, takes up less memory, and is more extensible. I'm not sure at this point why Atom even exists instead of just pouring in resources into VS Code development.
-
@xorith "your points fall flat with a small amount of research." - and if you did even a small amount of research into what my points actually are, you would lay flat.
By functionality, vim is similar to Atom VS Code. Its code analysis is done in a similar fashion as plugins for VS Code and Atom. And that is SHITTY. And that is just one small part of the bigger problem.
When you work with a ton of code files that form a dependency tree, you can't be bothered to remember their name. That's where GUI elements come in handy - tabs, tab reordering, tree view with all the code files.
Like currently I'm working on a project that's more than 500 source code files, and more than 2Mb of pure manually written code. In an average day I make changes to around 20 of these files, and in another day - to another 20. A bug or small feature implies changes to around 4-5 files.
All coding demos on vim however focus on 1, maybe 2, very large and poorly written code files. And for good reason. -
@xorith given that work load, I need to see small status screens, like a small desktop of stuff that's relevant in that sea of irrelevant stuff.
Sometimes I remember the file name well, and I can navigate to it with a keyboard in the same way you would do on vim, but when I don't, vim becomes a completely useless piece of garbage.
And when you don't know where some piece of code is, a MOUSE is actually pretty handy, as you can SCROLL fast or slow, and with precision, back and forward while you are reading code. Something for which vim is a complete piece of garbage.
And when you made a typo in the line you're typing, you can go back with the same arrows you always use, and not confuse it with letters, without switching modes twice, etc. Something at which vim is complete garbage.
Now this may sound like I'm hostile to vim, but no, I'm hostile to assholes that tell me that I'm ignorant for saying that vim isn't all powerful. -
Root797677y@AndSoWeCode IE doesn't follow the Unix standard of "do one thing and do it well." Vim does.
Unless you think vim is terrible... which is your opinion. It's incorrect and uninformed, but you are welcome to it.
The short is: there's a great, full-featured editor already installed on virtually every linux machine in the world. Learning to use it well is totally a good investment. -
@Ashkin It's also a very expensive investment. I've come to doubt it really pays off.
I can use vim reasonable well for maintenance work on my server, I've also developed go and JS with it for a few months - but it costs to much time and investment to get as productive as with other popular IDEs imho - and I'm not convinced I can get a much higher level of productivity with vim anyways (even after having invested many years). -
Root797677y@theCalcaholic My argument isn't for vim as a primary editor, but for basic proficiency.
If people like it enough to use as their primary, that's great! If they don't, that's great too.
But hating on a useful, always-present tool is just pointless and awful. -
@Ashkin I like how you first go against things I actually said, and label me so that you can take me down easier, to then spew out the "opinion" mantra, and immediately declare it incorrect, because for some reason you have the authority to do so.
Nothing like that cliche to drive a home point without a single piece of evidence to invalidate my point. -
Froot75397y@AndSoWeCode Sorry for repeating myself but... Text book alt-right tactics. YouTube comments are filled with that stuff 😄
Before you guys jump me, I don't actually know what you're arguing about, just made an observation on how it's going 😄 -
Root797677y@AndSoWeCode
I see no labels in my comments.
What I meant by my "opinion" sentence: if you don't like vim (which is your opinion) that's fine; don't use it. but arguing that it's terrible just isn't true. Difficult to learn, but not terrible.
Here's a different version of my argument:
There's a toolbox in the closet of almost every building, and it's publicly available for everyone who needs it. The tools are high-quality, but take expertise and training to use.
You can either a) learn to use the tools, or b) bring your own. Either is acceptable.
The upside of a) is that those tools are literally *everywhere*, so that saves you some effort every time you switch buildings. On the off-chance that the public toolbox is missing, getting another is very easy.
If you like the toolbox, that's great. If you don't, you can use your own. Nobody will judge you for either.
How this is "labeling" you or "taking you down" (or "alt-right tactics," for that matter) I have no clue. :/ -
@Ashkin "but arguing that it's terrible just isn't true. Difficult to learn, but not terrible." - and did I say that?
Related Rants
When you try to learn vim to change from the memory hog Atom and you start to get the hang of it 🙌💯
rant
ide
atom
vim