Vim > VSCode
Vim > VSCode
Vim > VSCode
I've enjoyed JetBrains over either so far.
Laughs in Zed
vim was such an unimaginable improvement over nano for doing stuff on linux servers. Having an in-shell-editor search-and-replace function alone is worth everything you have to do to learn vim.
And after I was comfortable around vim because of all the "training" on servers, I just switched to vim fulltime. No more GUI editor for me!
Nanos search and replace is Alt+R
as far as I remember
Ha, that would've helped me a few times. Good to know!
Still, I wouldn't switch vim for nano ever again. nano is a good and easy start, but I think if you do more than just basic editing of a few files every now and then, learning vim is the way to go.
vim is pretty customizable, widespread and it has been around for quite some time after all. If you think you need it, somebody most likely already made it as a vim-plugin :)
I like VSCodium, a vscode build without ms telemetry and such
sounds interesting enough to try, thanks! :D
it’s identical to vscode, except that a few extensions don’t work (notably, intellicode and the ms c/c++ extensions)
You will be tempted to think that by learning how to use (neo)VIM your coding skills will magically improve tenfold.
It won't
Wait really? Shit I’m like 1 year into learning vim. What editor should I switch to that will magically make me a good coder?
Jokes aside, all of my favorite IDEs have an option to use VIM key bindings so learning VIM makes it easier to learn other IDEs.
That alone was enough to convince me to learn VIM
The best thing about Vim is that despite having all the features of a modern IDE it starts in 0.1s and you can start editing right away while the code data is loading asynchronously.
The worst thing about Vim is that... just kidding, there's nothing bad about it.
Vscode I'm always like all right let's code... Ah shit, the "what's new" window has popped up again in the middle of my typing...
I never close my IDE or reboot. Problem solved.
Also had to update virtually every time I touched it and half the time those updates would break it so I had to reinstall. I didn't use it on a daily basis or anything and it's been a few years so maybe they fixed that but it's why I don't currently use it (along with the fact that it's a microsoft product and I'm trying to stay away from all their shit as much as possible).
People meme about “q!” but it is super helpful to have that extra step, because sometimes your fingers are moving faster than your brain is. That quick switch back-n-forth vim - gcc - ./a.out loop and my probably ADHD mean that vim saying, “hey, remember you haven’t saved this yet” is a godsend.
You are right about the best part about vim - you can work as fast you type.
0.1s is way too long, you need to optimize your startup time. /s
There also IDEs that start instantly.
They don't ship a whole browser though.
It’s a trade off for sure. I think the area editors like Vim totally win in is when you need to ssh into a server and edit something. I think it will always exist because of this use case
I can ssh in with Krusader and edit from Krusader's GUI editor. I would probably still do it from the terminal because it's faster, but it's good to have more than one way to do things.
Is it bad that vscode is my favorite ssh client
Fly in fly trap:
Recording @q
I thought flies use ZZ
for the onomatopoeia
So ZQ
comes from the sound of a fly being swatted?
But if you accidentally typed a
or i
, press ESC first.
I remapped the power button of my computer to whatever that series of keypresses is that exits vim.
That's really smart. That way if I ever figure out the command to exit Vim, it'll behave the same as my current method (powering off the PC.)
that series of keypresses is that exits vim
One of the great mysteries of the universe. However, I can confirm that my standard power button also exits vim.
helix btw
When the pluggings system drops it's going to be wild.
Helix is “it just works” but it actually does, without having to get lost in the (config) sauce.
It’ll be unstoppable once they finalize and ship the plugin system.
Edit: and I haven’t even mentioned the descriptions above commands, the command palette-like functionality in <Space-?>
, nor the tutor yet. It’s just so much more beginner-friendly.
Yeah, so many things are so easy to configure with less moving parts, plus the window splitting is amazing.
HAHAHAHA I know the secret passcode to escape!
Incidentally, it's ctrl+]. But I remap it to 'kj', and somehow have never typed 'blackjack' in all my years of using Vim!
I just use cntrl-z and then kill %1
Seems like overkill to escape from insert mode. Then you just have to open vi again!
I fucking love that 😆
So... we meet at last, Doctor Evil!
Emacs with evil mode
So kind of off topic. Like 15 years ago emacs vs vim split in engineering was like 50-50. Now I see more like like 90-10 with vim winning. What happened? I always assumed they are equivalent more or less.
Emacs has scripts that can do almost anything. If you wanted to, you could pretty much replace your graphical desktop with Emacs and still do pretty much everything you do. vi is an editor.
There's been a lot more evangelism about emacs lately.
Also the fact emacs has doom and spacemacs to ease new users in while vim drops you into :
and tells you to swim means that it's easier for emacs to get new users.
Ah! I loved using Doom EMacs for a while!
… but alas I came back to my initial love with Neovim 😜
Yeah, this is the best solution at the end of the day for most would be text wizards, emacs is beautiful, vim keybindings are beautiful.
lisp makes my brain relax
Vim and VScode are my favorite code editors but I admit that Vim is better :]
Knowing how to actually navigate vim is worth learning. Especially if you work in embedded systems where a lot of the time you're on setup that is running barebones and likely just has vi as a text editor.
But I used VSCode for dev work with the VIM plugin.
Why not both?
When the debate revolved around Emacs vs. Vim, I used Spacemacs. It seem we moved on from that?
Is it now about VScode vs. (Neo)Vim?
Guess that means Vim won the Emacs vs. Vim debate then, when it got into the next round.
It was never really a competition - just some misguided people who liked Emacs
Hmmm there seems to be a vscode in my vim.
wait what?
It's VIM features and key bindings that you can toggle on and off with a hotkey in VScode.
Very handy when you have a task that VIM is better at (for your workflow), like recording s macro and replaying 100 times.
This is alright if you only know the basics of vim and then learn further from within that environment. If you're already an intermediate to advanced user, then the keybindings between VSCode and Vim tend to interfere with each other. You'll have to relearn how to do it.
Thats why I bind toggling them to a hotkey. One or the other at a time, never both.
I used to know a developer who wrote all his code in Notepad. This was around 2005 or 6. We had just starting to replace our legacy ASP code with ASP.Net, which he was determined to do in Notepad. I was gone before I could see how that worked out.
Do you mean Neovim?
Surely you aren't comparing a flat text editor to an IDE that has language server support, debuggers and refactoring tools?
Vim and VS Code are both text editors that can become IDEs with plugins. You can use vim with language servers if you want, as there are plugins for it.
Thanks, I wasn't aware of that!
Makes sense though. Vim plugins exist so anything is possible. Neovim having native support for LSP and DAP makes it a lot easier though.
Wouldn't the one that ops you into telemetry be the trap?
The trap is that you should use vi. Don't wuss out.
Too much pain there, sorry.
Yeah. A lot of people who use vim don’t know how to use the full power of vi. They’ll often install plugins to do things they could have easily done with built in features!
The one area where regular vi sucks though is undo. If you want multiple undo then you’ll have to at least go with something like nvi.
vscodium slightly better than vscode tho.
honestly all ide's are rubbish - especially electron ones. for a gui editor, i've just gone back to sublime text and have never been happier.
Tbf codium is a very well optimized electron app. Don't believe me? Try discord
very well optimized electron app
It's like a very light Elephant
Notepad++ is good but a bit bloated. Would not call it rubbish. Node is solid.
Is there a stable way to use closed extensions (like the MS Python one) with vscodium by now? I'd love to get away from MS' grasp, but it's much harder if I'll be missing out on language integrations.
Is there a stable way to use closed (edit: intentionally DRM-ed) extensions (like the MS Python one) with vscodium by now?
Yes. Use this config edit.. Everything (edit: not written by assholes) works fine.
Edit: Damn. PyLance's developers are up to some bullshit. I would take a hard look at who I'm accepting free candy from, if I used it.
Zed for lightweight, Kate for regular text and the Jetbrains suite for when I want something that uses all of my RAM, but has a lot of niceties.
The only time I open up vscodium is when I want to conveniently edit files in a docker container that are part of the image rather than mapped from my filesystem
Are there big reasons people will choose one or the other between Sublime and BBEdit?
What is your opinion on Lapce ?
What is your opinion on Lapce ?
& then there's emacs
(& this-post (there-is emacs))
Helix tho
There's no way to emote it, but you know when those old Italian ladies spit at people to keep the evil away from themselves? I just did that in your general direction...
lmao gramps. Real old lady energy here
Though I use neovim as a text editor, Zed is my IDE of choice. I think it’s a good alternative for most people that don’t like Electron-based applications.
As a long, long, long time vi/vim/neovim user, zed is just a breath of fresh air. It’s feature first like neovim, but doesn’t suffer from them being half baked somehow
Zed is good but still in its infancy, but it has new content and sees many improvements quickly, needs more extension developers and I had to make my own extension for a language that was not well handled by zed
After years of using Linux, the last time I used Vim, I remembered for the first time how to go into command mode, exit, and save the file I was editing without looking anything up.
I'm the opposite, I sometimes find :w or :wq written in text files I have edited with non-vi editors.
I made :q alias to exit in my shell
Tbf, how many plants are carnivorous monsters that dissolve your flesh
And how many animals can melt Rocks into Magic snap Rocks camouflage them and plan months in advanced
And how many developers can
export EDITOR=nano export VISUAL=nano
Zed is better. The AI stuff can be disabled.
It's wild to me that people that people use VIM in professional software development settings (especially front end).
Like, I get it if you're a sysadmin who's spending all day in command lines and ssh terminals, but when you're working on high level, user facing software, it's just absurd to have the mindset that a command line interface will be better than a command line interface + a graphical interface.
GUI || command line
, objectively provides you with more UX tools and ways of presenting data and interactions to the user, than just command line
. Everything you can do in VIM, you can do in VSCode running VIM in a terminal, but not the other way around.
Maybe it's because I got my start programming 3d modelling software, but there are fundamentally things that command lines are bad at representing.
You have overdone the pedantic part, so I will do the same: GUI has objectively way more visual noise, so exactly in professional software development setting I prefer using NeoVim with plugins, configured by me for my convenience, because I have no intention of spending any extra effort, and more importantly, thought, on whatever the IDE decided I must need. I want to think about the task at hand, not memorize the finger-twisting magical shortcuts or mouse-clicking several menu layers to do one damn simple thing
Everything you can do in VIM, you can do in VSCode running VIM in a terminal, but not the other way around.
You would sure think so, right?
But the VSCode plugin ecosystem still lacks some features available in the Vim ecosystem, and (fl just for example) LazyVim has most of the features available in VSCode.
At the end of the day, the biggest difference is speed. Even very brief unexpected delays can break my concentration. While VSCode is no slacker, it still has some delays, probably mainly because it's still JavaScript under the hood.
Once there's a GoLang, Rust or C port of VSCode, I may well switch permanently.
But the VSCode plugin ecosystem still lacks some features available in the Vim ecosystem, and (fl just for example)
Isn't that basically the same as Command Shift P and / or the search feature?
At the end of the day, the biggest difference is speed. Even very brief unexpected delays can break my concentration. While VSCode is no slacker, it still has some delays, probably mainly because it's still JavaScript under the hood.
Once there's a GoLang, Rust or C port of VSCode, I may well switch permanently.
I can 100% understand how big of a deal speed delays can be, but at the same time, not to probe too hard, but what are you experiencing delays in? In all honesty waiting for ohmyzsh to start, or waiting for a git pull to run, takes far longer than any task I can think of in VSCode. Files open faster than notepad, the file browser is fast, the shortcuts and commands are fast, I honestly haven't experienced any slow downs with it anywhere, and I've used it with monorepos that are TB in size.
Like, a GUI plus command line, objectively provides you with more UX tools and ways of presenting data and interactions to the user
My long list of vim plugins and adhoc macros would like a word. I don't doubt VSCode can do something similar, but I love that I can script vim to do basically whatever. Also, it feels much faster to not need to touch a mouse at all.
I've posted a reply that basically covers my feelings on this here: https://lemmy.ca/post/41497148/15556917
you lost me at that 'but not the other way around' part
If you open a repo / folder in VSCode, you immediately have a terminal window pointing to that folder that you can execute any of your VIM or other command line programs in. You also immediately have a graphical file browser that's always available in a pane to the side if you want, a visualizer of your current git branch and history, tooltips and the ability to hover over things for more info, panes that can preview images, pdfs, 3d files, assets etc, tooling and plugins for things like your dev servers / kubernetes / docker so that you can immediately see what services are running in what state, rich debugging, etc.
Fundamentally, I just don't understand ideologically insisting on using the command line for everything. There are times when keeping it simple and text based makes sense, and it's almost always necessary as a fallback, but if you have the option, you can represent things faster and more cleanly with modern graphical interfaces.
Like just compare the command line version of your git history:
With the Git Graph extension version in VS Code:
The Git Graph extension is built on top of those git CLI commands, but it's an actual GUI that let's you represent your git history in a much more readable and scannable format, with quick and immediate access to related commands like viewing the files that were changed in a commit, or jumping to specific commits and branches.
Ignoring the related workflow improvements, even just from a pure graphical standpoint, if a developer honestly cannot comprehend why the human brain more easily processes stuff like a single connected git branch like the above, compared to a bunch of disconnected pipes | and slashes \ on separate lines, then I feel like they need more design training, or perhaps they've just evolved into such pure text based beings that they can no longer comprehend how normal people's brains work, but either way, it's not going to tend them towards good frontend development. I've worked at MAANG companies and I've seen the internal research on how much of a difference a slight feeling of being overwhelmed can make towards someone's enjoyment and usage of software, I don't see why that's so controversial or unexpected in some circles.
Like at work, if a developer wants to use VIM and command line tooling to do their job and has a setup that lets them work as fast as someone using a graphical IDE, I have zero issue with it, but the default Dev Environment that we're going to setup and document is going to use something like VS Code that can do more OOTB without a huge amount of learning CLI commands and workflows.
I agree. I hate using a mouse and generally avoid it, and still the productivity gains I get from using something like VS Code versus Vim with plugins to the max are impossible to ignore.
When I'm juggling like 3 development contracts at once, it's dumb of me to not use every little gain in productivity possible. I don't have time to spend a day recreating a plugin to my liking in Vim when something already exists that gets me 99% of the way there. I don't care about the extra RAM use because I have plenty of that.
I think some people just like to die on this hill out of principle, and that's whatever, more power to them.