@@_orangutan Dark mode, black sweatshirt, black background and green text, lot of beeping noise when he types at 1000 WPM, RGB in everything and more...
I disagree with Prime on one point: The typical zoomer profile picture is not a selfie with a phone in front of your face. It is either an anime profile picture, or a photo of a funny looking animal with enough jpeg artifacts, that you're unsure if it was originally a cat or a dog.
MPLAB: You can't compile and emulate code outside the IDE Xcode: You can't make compliant code without Xcode (this was to force people to buy macs to develop for macs) Yeah, sometimes the magic is just an artificial wall of bullsh1t
And that's why some people went to alternatives. Some people really like the freedom to choose they own environment. Arduino is one of the HW platforms that brings that, and then was followed by a few others. Ofc u can use Arduino IDE, but u can, if you want use other tools. Cause in the end, its ecosystem don't force you on that. I mean, with the exception of the Apple products, you can always find alternatives that gives u some kind of freedom to make ur sh1t your own way.
MPLAB is shit and 8051 is overhyped. Debugging 8051 is way too complex. They don't have a single programming board like Arduino or NodeMCU. Sometimes the signal is garbled and you get nothing on the console. Then you need to bring out an entire oscilloscope to debug the debugger. and we keep getting gaslit that this is what "raw" low level coding should be like.
It's not so much that Apple *forces* you to use XCode, it's more like no other IDE would care to have iDevices simulator, neither will package your final product, or have the system library to test. It's more a practical issue. The same is true on Microsoft Windows, how will you code for windows without .net or Visual Studio?
Quote: "Xcode: You can't make compliant code without Xcode (this was to force people to buy macs to develop for macs)" How are you going to test your application to see if it even works properly before shipping it to users if you don't have a Mac? Do you not see how stupid that sounds? Beyond that, Apple has always been pretty harsh when it came to developer tools on Macs. This has always been the case, since decades before OS X was released. This is why the 3rd party Developer Tools market pretty much bottomed out on the Mac OS platform in the 90s.
Another thing about my terminal-based tmux+nvim workflow is that it's gentle on my particular flavor of ADHD. Distractions are minimal. Important messages show up in the same spot, and they're all just text - okay maybe an emoji or Unicode-rendered border sometimes, but all constrained by what my terminal emulator can render. IDEs and IDE-like editors try to be so dang helpful that I spend more time reacting to the tool than working on my code. Plus I can more easily mentally map plugin features as bindings behind `` than as menu entries or mystery meat sidebar icons.
If I was a pure CLI dev, I would probably install Linux without a GUI just to kill distractions. My ideal world is pretty much a typewriter with highlighting. Cant do that as a webdev tho.
And my Adhd flavour is forgetting about assignments because im writing regex for new movments, something which will never be useful in any other context
Just want to mention, Bill Joy, who created Vi worked on the ADM-3A terminal computer where the HJKL keys were in fact the Arrow Keys on the keyboard (printed with arrows on them). The Tilde(~) key was also the HOME key, and the Escape key was in the place where modern keyboards have a Tab key (much more convenient for Vim). So yes, they were correct in saying that Vi is an arrow-controlled universe of keyboard shortcuts.
Still with this context doesn’t seem like a correct statement, I think most people who use vim barely rely on hjkl to do most things. Regardless it shows that the author of the article probably doesn’t know much about vim.
That explains to me the horrible decision to go for hjkl (and maybe the fact of english layout). Because using say a nordic layout you can't help but wonder why can't it start from j where you got the guiding bump for your default writing anyway (nordic has ä and ö to the right so you have letters to use without changing positions). It just feels so wrong to jump one position to the left from your "home position" to edit. The esc position makes a lot of sense too, I always thought that's the number one inconvenience in vim that you have to regularly jump that far. Unless you do alt+your first command which is brilliant to compensate for switching modes.
@@YupppiThere are a lot of threads of people asking why it's still hjkl and was never changed to jkl; . Non-QWERTY keyboard layouts are the most compelling reason.
didn't realize that's where the escape key used to be but I've been swapping caps and escape for a decade and it's the best choice I've ever made. vim is a joy to use this way, it makes sense that this was what was originally intended
I've tried VSCode with vim extension after ~20 years of using VIM. What I found is that with vscode is much easier to install extensions, github copilot works better in vscode, also I find it much easier in vscode to move directories, files, rename symbols project-wide. As an isolated per-file editor though VIM is better. Where I found difficulties in vscode is moving around in the project, and finding what I need - I'm more comfortable for that in the command line. Tracking open files is easier in vim with the :buffers command (the open editors view in vscode is unreadable and I so far did not find a better extension alternitive).
Besides the tabs, explorer, and search sidebar, I use breakpoints for navigation in VS Code: File, Preferences, Keyboard Shortcuts and set (Shift+)Ctrl+F9 to navigate between them, even across files.
I have set up my neovim to be able to refactor, move directories etc. Also I made the experience that copilot works much better than in VSCode, as it does not disconnect randomly so that I have to reauth (never had to reauth). But yeah, installing extensions in vscode is easier, that's true.
@@some1csgo i never had copilot disconnect tbh i moved from Vim too so my setup in vscode is almost same as my old vim shortcuts... It's just good to wake up and see your extensions stable instead of one of them breaking with a update and affecting others. edit: NVM I'm back to neovim now, it pulls me back in
This article is an important reminder to accept and welcome people with special needs. These two authors may require each other to successfully proompt Chat GPT, but that does in no way diminish their value as human beings. Peace and love, yall!
My only experience with emacs was trying it for a week and giving up (due to time/motivation, not because I hated it), and the one Operating Systems professor who did everything short of saying "if you're not using emacs you're a lesser being"
Curious, did you try out a pre-configured distribution like Doom or Spacemacs, or just raw dog it on your own? I found spacemacs to be pretty essential to getting started and getting comfortable, both for the pre-configuration and their pretty solid docs, but now that I daily drive spacemacs I have been fantasizing about redoing my emacs configuration from scratch because I know there is some bloat I could get rid of. I haven’t pulled the trigger yet tho because I really like spacemacs’ approach to logical keybindings. Anyway, TL;DR I find that buying into a system like spacemacs or Doom helps make it easier to get started.
What I like about IDEs is that they tend to deal with a bunch of ceremonial setup and config that terminal based stuff just doesn't handle... but I'm a biased C# Visual studio developer ;)
Absolutely! If you're jumping between languages or platforms, sure, a more generic text-editor makes sense. If you're on an MS stack that isn't going anywhere? VS (or Rider, my new main squeeze) all day long, for the reasons you mention and others. The point of an IDE (quite literally in the name) is that the tools/utils you need are integrated into it. C#/.NET and Visual Studio (proper) are a match made in heaven. VS Code? Not so much.
@keyser456 When I have the choice I prefer Rider to Visual Studio, as well. Specially the File and Text search capabilities. Although ReSharper could be used with VS to compensate, but IMHO a bit slower.
Tbf visual studio is very specialized for developing windows applications for C++, C#, etc. But for other situations having a well configured vim or emacs is better
I love this article. It's so confusing you don't know at times if they're speaking for or against certain editor/IDEs. You should build up a steelman argument for your opponent, but when your steelman becomes a juggernaut and sounds more compelling than your proposal, something's gone wrong. And the other part of confusion is how separated from observed reality they seem to be, like they read somewhere that people argue about these ancient editors called vim and emacs, and decided to write a mockery article. But as a consequence got everything wrong except when they were building up the steelman argument. And on top of it they threw in cultural references that are "hip" but further solidified the idea how out of touch they are by using them wrong.
I use JetBrains products for most of my coding needs. If I were to get used to the shortcuts in Neovim I'd probably be able to switch easily though, because I really only use my keyboard. It's just convenient to do everything with the keyboard since you don't have to move your hands as much, no need to find the cursor and so on. Everything is just there.
I'm just annoyed that vi was designed for an old keyboard layout from the 1960's or something, where h,j,k,l were the actual arrow keys, and numpads didn't exist. If they had just updated it when everyone switched to the 101 key keyboard I think it would be a lot more intuitive. And commands should start with a character that does not require shift, like /. Or, wild idea, use the Alt key for commands like every DOS, Windows, and Xlib program ever. But above all else, there's one reason to use an IDE over a terminal based text editor, and that's debugging. I'm with John Carmack on this one.
Hey, used JetBrains products for the last couple years for nearly everything. A month ago switched to neovim (used nvim kickstart as a base configuration). Can confidently say, that to move to nvim is more scary than hard. Once you get used to the shortcuts it gets really simple to do anything. And i know it's different for everyone but for me it took around a couple of days to get used to neovim. Would never be sorry for that switch, and definitely won't go back to anything even so good as JetBrains package
@@DFPercush I rarely find myself using the debugging functionality in the IDE. It rarely feels useful. I can think of a couple of times when a debugger has actually been useful in the last few years. Most of the issues are edge cases that are more or less impossible to catch beforehand and are better solved by logging. This doesn't mean a debugger isn't a vital tool, but not all jobs or tasks need them. Say I were to use Vim or similar, there'd be nothing stopping me from using a debugger when I actually need it.
@@justanotheruser7843 Considering I used to juggle between IDEs depending on the language, I'm pretty sure I'd be able to figure it out in a similar time. Can't afford to do it during work hours though, so I'd have to do it while working on my own projects.
🙏👍 I read that article a couple of years ago when VS Code was gaining popularity. I felt that the article didn't consider providing thoughtful and constructive insight. I wasn't offended. The level of absurdity rendered me bewildered.
This is mostly a debate among developers/programmers. But for sysadmins/systems engineers/sysops, there is no debate. VIM is the only solution. You might have to manage hundreds of systems, or access systems you don't own, or handle thinclients which only have a few hundred megabytes of harddisk space, or access systems in a place with slow connection. Vim is ubiquitous, fast and reliable. Even if that systems person doesn't like remembering keyboard shortcuts, he would still use vim (despite only using insert mode and never edit mode). I remember seeing a systems engineer who had to delete the beginning space in every line and what he did was 'down-arrow + right-arrow + backspace' a thousand times!! LMAO
Рік тому+50
I hope they're not referring to built in FTP/SFTP clients as "automated deployment systems" 🙃 One thing I really miss in vim is something akin to JetBrains' suggested refactors. Just hit alt+enter and you can quickly swap things around while maintaining the same logic. But that's honestly the main thing I use it for.
I tried hard to like IntelliJ, and for the life of me, couldn't get what people are so in awe with. The only reason why IntelliJ rocked for Kotlin (which I had to use for the job) is because _the language is made by the same people who make the freaking IDE_ , and that LSP for Kotlin sucked, at least at the time.
I see all this vscode vs vim thing kinda stupid. Whenever people are arguing over these things they typically code on server side languages or web development or system level languages. They tend to forget there is whole world of development which deals with other things such as android development, game development and so on and they each need their own set of tools in order to have a good development experience. Just use whatever you feel comfortable with and gets the job done. If someone is doing android development then android studio is the only way to go as there is no other tool which will have as extensive support from google as android studio has. No need to configure vim or neovim to do android development because people calling it “the greatest editor on earth” as it will take a lot of time and still it will be bad and no way near to the actual tools.
Performance. Most people don't shell out $10k+ for a high performant build server. When travelling, a laptop that invariably has lower specs, is used. Most devs just need ssh+tmux, vs the CPU-intensive VSCODE that falls over when a browser with 20+ tabs is opened. Plus, most IDEs have telemetry, feature bloat, and other ick.
A few reasons: - I dig the oldschool look - A terminal makes you learn more stuff about computers, in general - Makes you less reliant on visual cues, auto-completion, etc… - cant stress this enough but I HATE USING A MOUSE.
As a new programmer (literally 20 lessons into a 190 lesson course), I already see both of your last points. I feel I can write code but have little understanding of what's going on behind the scenes. I keep avoiding the terminal and choosing the IDE because it's easier. Also, I want to be able to write code without autocompleting everything even though I think I know what I'm about to write. Picking up my phone to work on lessons is annoying because there's no autocomplete, and I type slow. I also find the cursor slow, but again, I type slow. Almost feels like I should add typing lessons before or after my coding lessons. That was I can type faster, use more shortcuts, etc
Nobody cares about your age kid, you are a programmer at that age ? Neat, you started early than a lot of us. But it's not a flex though, it cringes me out
Using Emacs because I don't need mouse, there is no space for the mouse at the place where I'm using the computer, and I can use xah-fly-keys to avoid pinky pain for long time working on the computer. Plus I can use org mode to write config in one place then tangle them, no need to cd cd cd cd cd.
I wish I could be as productive in emacs or vim but damn, so much work. So many things to learn and revamp on, this always falls at the bottom of list.
0:15 Personally, because VIM is light weithand dosn't require DE. lately it became handy since i can use it on my andorid phone trough Termux, i broght cheap (like 3-4 $) bluetooth keyboard. So i can carry my phone everywhere, i can ssh into my phone with computer and have my projects, without using cloud. If i'm on the train i can pull out my keyboard and use phone as laptop. Yes screen is small but it's price i'm willing to pay for not having to carry my big laptop, risking using my work laptop, or bying new laptop. Especially considering size of final setup.
I've discovered an IDE that I actually like more than emacs is IntelliJ. One thing I really like about it is that it doesn't really get in your way when you want to do something that's not within the realm of what it supports. It doesn't try to force you to adapt to it and what it thinks is the right way to do things. Both CLion and PyCharm are very nice to use. One of the most amazingly powerful features is the ability to rename things and have it automatically rename exactly the right things because it knows the AST of my code. I still use emacs sometimes. And I also use vi sometimes. The thing the IntelliJ products get wrong, IMHO, is source control. But, I'm far more deeply immersed in the details of how source control works than most programmers, and I'm really picky about my tool doing exactly what I want.
What frustrates me most with IDE's is becoming dependent on them to work on a project. My code has enough requirements, the IDE shouldn't be one of them. When I tried to develop a GTK app in Rust, the tutorials directed me to use Gnome Builder. When I tried to separate my app from Gnome Builder, I couldn't do it. If I ever want to work on that code again, I need a compatible installation of Gnome Builder. That's a serious limitation in my mind. Regardless, I hate VIM. As a former FPS gamer, I am really fast with my mouse and I like being able to use it. Now that Atom is dead, I use VS Code. Now how do I build a GTK Rust app in VS Code? Regardless, auto complete, lint highlights, auto suggestions, etc all are great tools.
Gamers usually always have one hand on their mouse while gaming. But programmers don't write code with just one hand. Switching hands is what takes time, not the actual mouse movements. Also: :set mouse=a
You can absolutely use your mouse in nvim, if you want. I basically never do, unless I am showing some code in a pair programming kind of way, and I need it to point at something, but you absolutely can.
I hate it when people try to abstract away the obvious underlying shell scripts it makes it infuriating to build stuff especially when dealing with a very poorly written project config in IDEs
The Automatic Deployment System is when you use EX: Jetbrains suite to autodeploy code to a folder on a remote server, IE: Say you work in office + remote, rather than having your code different or .envs different in other places, it'll all be the same cause it's hosted on the internal servers, that you can just mount and deploy to. It's very handy. Also extremely useful if software doesn't run locally. IE: Windows devs that want to run PHP without needing admin access to the machine to set it up. It might surprise you, but developers can be horrible at PC configuration and keeping on top of that.
DataGrip comes included with many JetBrain IDE's and that alone makes it worth for many people. Plus, not everyone has the time to install and configure 100 plugins, yes their IDE's cost some money, but they are worth it.
Does anybody know how he did that on 1:00 ? I mean highlighted everything pressable on the page so it can be interacted with key strokes? What browser and what shortcut?
After my quest through the editor realms, I found I loved Kakoune's editing grammar. But I've found over and over again that when I make a solid choice of language for a project, the benefits of speeding up editing are dwarfed by the time I spend actually solving math or architecting a model for the problem. So Sublime and Merge it is. They are as close to an "intuitive" set of keybinds and UI design as I think there is. Not hyper-optimal. But intuitive and easy to remember, with lots of IDE-ish features built in. And also they're just OpenGL windows so they're fast and memory-light.
Рік тому+1
I primarily use PHPStorm for development, but that's mostly because I can't be bothered to set up vim to do all that stuff. But I do use vim bindings all the time, and vim itself for all of my editing needs when I do sysadmin things (basically a 50/50 split).
EDIT: My reading comprehension failed, you don't actually use kak any more. Oh well. Another Kakoune user! There's at least a dozen of us! I reinstalled neovim yesterday to look at something and was appalled at the lack of discoverability by default.
I had been a long term user of vscode and JetBrains products, but since picking growing confident with vim I’ve found it hard to go back to the other tools (even with vim plugins) I love that if I go onto any Linux system I can pull my dot files and have a consistent DX anywhere (sure you can argue that I can do this with VScode and it’s extension syncing), but I’m also able to ssh into any Linux based machine, pull my vim config and do any sysadmin tasks with my normal workflow (without having to attach an LSP and cripple the performance on the server) When using VSCode I had some issues in the past when installing vscode remotely incurred perf issues in the server. My workflow with vim and tmux now feels really fine tuned and I feel super productive. I’ve yet to find anything that I can’t do in my terminal now that I could do in an IDE. It feels to me this article is written by people who haven’t had enough experience with vim/nvim due to the learning curve being slightly steeper
Having used VIM (or Emacs + Evil mode) for about a decade now, VSCode's VIM integration feels off and just doesn't work for me. The JetBrains VIM integration is actually good though. For big projects it's really hard to argue against JetBrains, the refactoring tools are top tier.
Vi isn't actually always available on server installations anymore. Ubuntu server minimal doesn't have it as an example. It can be a bit frustrating, but of course simple 'apt install vim-minimal' (though probably better just go with vim instead at that point) will bring it back. :X I'm seeing more and more often Nano as default $EDITOR as well, though I wouldn't say that's a bad thing. Someone who might not know Vi all that well will be better off with that, but it does drive me nuts if I don't realize that and run, for example, visudo and it starts with Nano. I'm actually lost for a moment every time that happens as I try to figure out why the cursor isn't moving as expected.
I sometimes feel this frustration. Like, I saw people on youtube who are clearly bright and talented, and talk deep and interesting about python, but use nano as their editor and say things like "xterm is not configurable at all". I guess we have to accept that the knowledge of vim and Xresources is slowly fading away.
Started with sublime, then atom, then vscode. Always hated vim, hated the keybinds. But after experimenting with it for a few days on my laptop, I get it. I always hated working on my laptop before getting neovim set up and customizing it a bit. Now I actually prefer it even tho I have less features and I'm a bit slower, because its very comfortable
Your journey is similar to mine. I now use neovim because I love how configurable it is but I truly hate vim motions. I've ended up remapping a lot of the keybinds for this reason, but its no longer "vim" at this point lol.
You had me at 2:55. And that’s why I use a vi[m] plugin in my IDE. Using “c-tags” navigation keys to jump around a Java or JS code base is much nicer than mousing around to find the definition, then try to fumble back to where you were before checking what was called. Using h, j, k, l is nice, too 😁 As well as yy, p, etc.
I use Vim because I like to stay close to the terminal, along with learning a minimal set of keybindings and a basic config...is all you need! NEOVIM just makes that simple experience a whole lot better.
I use NV because 1) because it's terminal based, 2) because it's terminal based 3) I can have my text at 25, or whatever 4) it's clean and uncluttered 5) It's visually very satisfying 6) It works fine ....... Not really used an IDE. I tampered a few years ago, but I found them incredibly clunky and maladroit. Maybe now they are better. But I'm happy with NV, and I feel that I am better adapted for server work, should that arise
This is how I remember the history of the Atom editor. Atom was really good. When it came out, the only real alternative was sublime which cost money, so you had to pay for the best editor (if you hadn't learned about Vim) or settle for atom which was open source and free. Atom had the best Git interface at the time (in my opinion) and I think it's package manager was great for its time. Since atom was made by Github, Microsoft owned it after acquiring Github. VSCode only became good after that. Atom had the essential features that made VSCode great... except for performance.
Counterpoint: Git has the best Git interface. Because it isn’t trying to use a visual interface to hide the details of git. Git CLI is the epitome of WYSIWYG. Everything else is interpolation and abstraction so you _think_ you know what’s happening, but actually don’t.
When I asked how old you were a few days ago, I didn't realize it would make you come after my whole generation! Damn! Anyway, Gen-X Emacs user here. I use it for longevity. It's managed to grow and change and adapt right alongside me for the almost thirty years I've used it (I started out in various DOS and Windows editors and didn't find my way to Emacs until the mid-90's when I started using Linux extensively).
What people often forget to mention is what constrains you when writing code. I, personally, think about the code structure, possible solutions, etc. more than actually writing it, so I have no reason to switch to Vim, since it won't make me more productive whatsoever. I'd prefer to have a better GUI than brag to people how I can control their lives with Vim shortcuts.
The "I think more than I type" argument is one of the most mentioned things about vim though. The problem with this argument is that you don't actually know how much time you're saving unless you do both and test the result. There's definitely reasons to not use vim, but not using vim bindings is just a bad idea. Besides, the faster you can type the faster you can get back to thinking about actual problems.
I don't use vim to be "more productive" and I definitely don't use vim to "brag to people"... I just like the interface. Also I don't exclusively use vim, I also use a GUI text editor, which is a more standard interface that I also like.
In the end you use what you are comfortable with. I mean, I've tried NeoVim and Emacs. They are not my cup of tea since my windows mouse sicking unconscious mind goes to it naturally. Tried Vim for a month and Emacs for about a week. It was like learning to walk again I was not patient enough and to this day I won't be. In the end what matters the most is what tools fit your work-style and work requirements to get the job done. I don't really care what other people's personal workflow preferences are. so long as we are in the same page when getting things done.
i use jetbrains, i code for a game using unreal C++ (fairly different, but close enough), the engine is massive enough that the hints and suggestions make coding very fast the debugger is also too damn useful... vim is great! and i used on the vanilla C++ project i worked on my previous job
I like Emacs (with EVIL mode) or neovim for web dev (although i'm not effective in it yet) but whenever I work on my C side project I really miss an IDE just because of the debugger and the additional tools available to me. For web dev you can't debug in the same way so there is less of a need for that suite of tools imo
The DAP plug-in (I believe it’s part of the LSP mode package) is actually pretty sweet. Docs are decent at helping with installation, and once it’s up and running I can run different debug templates, save and create my own per project, etc. It’s probably a little more ready out of the box for a C project, I was getting it set up for a rails project and that was a little too finicky for my tastes, but it works great for non-web stuff in my experience.
This entire post is the most braindead take on editors I've seen yet. So they're both too boomer to try out something new, but then at the same time hate people who use old stuff. On top of that, they think Notepad is the future of programming, and deny themselves literally any modern tool, but then also praise Atom for being "suited for javascript", whatever that means
I have always thought of Emacs as in IDE. More like Eclipse than IntelliJ due to its clunkyness (ah, those freezes when Emacs single-threaded Emacs Lisp got clogged by something, numerous but rather unpolished packages, sometimes getting in each others way). There was one area where it excelled: Clojure or lispy languages in general.
The unpolished packages and single thread freezing are truly ugly blemishes here in the 21st century. The only reason to continue using it is the complete freedom to customize everything about it, including its own source code, and in most cases while it's still running.
No prime vi was originally arrow controlled. But originally the keyboards didn't have arrows so they used most logical thing hjkl for arrows. Since it will keep your hands at the typing position at all times
@@FlanPoirot emacs is the better text editor. the only thing you take from vim are merely the keybindings. the functionality that emacs provides, vim can only dream of.
I started using vim professionally because my work machine did not have enough memory to run vscode on top of the servers I was working on. I don't hate vscode, I still like it; I just couldn't use it. Now I use vim on my personal machine because I prefer it. Vim shouldn't die; I don't know where I would be without it. I would have been editing files in notepad or having to tell my boss that I can't work on the project because my laptop is crippled.
So before watching the video and reading the article: for me the big deal is that i know how fast computers are in 2023, so when it takes ages for things to load in these IDEs, I just lose my mind. It's immensely frustrating every single time.
What desktop environment is this? Pretty sure that was all keyboard typing to tab post to twitter and set the windows back to the previously set window sizes. I need me some of that in my life
I liked eMacs when did pure backend work, but for full stack and doing html, css etc I preferred VS Code with some plugins and sublime text before that. Was too easy to mess up tags etc with eMacs and just way slower. I could care less what editors others use .. but it was a good way to learn efficiency trips when pairing to see tricks others used in their editor of choice
I'm probably just not at that level yet but I never write enough code in one go so that vim feels worth using. I have neovim installed and it's really cool, it feels so smooth and looks sexy, but I'm switching between my files, projects, branches, browser and other windows so often, I'm using my mouse anyways. I also do so much copy pasting that I might as well stick to vs code and let the GUI help me.
I do all of that and also don't use Vim or Neovim but i find my keyboard is fine. I mean alt tabs, win key and vs code menus and shortcuts make nagivation so easy and fast
once u have neovim setup switching between files and projects is a non issue also I don't see how constant copy pasting is an argument, u can copy paste in neovim the same way as in anywhere else, u can even make neovim use ur system's clipboard instead of its own (but I personally like the separation) there really is nothing that u can do in a gui that u can't do in vim or with the aid of a command line tool but the biggest thing for vim for me are the motions, if u get a vim emulation extension and change some of the default keybinds of the editor so u can do all ur text editing and completion previewing without leaving the keyboard u'll be pretty close to the vim experience once u adopt the shortcuts mindset you'll find urself navigating ur system way faster and more efficiently. it's the same way as trying to leverage ur tools as much as possible really. if u can use globbing, shortcuts, little utilities etc, ur life will be much easier in the end but it does incur a steeper learning curve than just clicking around ig, but it's just a matter of getting exposed to it often enough
Neovim is not meaningfully faster than vscode. Whatever you learn to use is going to be what you like. Both have extensions and customizability. It really doesn’t matter. It’s 90% memes and 10% idiots who think it matters.
eMacs has a in it so you’ll never have to leave! Start using the built in shell and you’ll get trapped forever! Jokes aside, there are answers for all of these gripes if you really _want_ to get into it, but vim emulation plugins are everywhere now so you can also probably take the approach of using your current tools but adding better keyboard oriented workflows. I switched from Jetbrains to EMacs this year and have been loving it, but I just as easily could have done more research on keyboard shortcuts and gotten used to ideavim and I probably would have been happy. I mostly started getting into eMacs and then really liked the open source ideology behind it so I stuck with it until it felt comfortable.
I'm all Emacs, including bindings. I did use Evil mode before. But I switched to the Workman keyboard layout due to carpal tunnel, which has been one of the best decisions I've ever made. I'm more of a writer not a coder, so for me the keyboard layout takes precedence over Vim bindings. I switched back to Emacs vanilla which honestly makes incredibly well on Workman. Far better than it does on QWERTY. Maybe one day I'll add back Evil mode, and remap HJKL to YNEO or maybe even NEOI to keep it pure homerow. One day.
My first programming job, the deployment pipeline was my IDE. We didn't have an automated deploy process, I was green as radioactive grass and quickly became responsible for all releases. It just seemed easier to save all of the config for releases into my IDE and be able to do a 2-click release.
I use vim primarily, but I had to setup spacemacs for some proof assistant tools. (You basically have to have a good IDE plugin with a dependently typed language.) Since then I've started using spacemacs for Haskell, and while getting it properly set up was annoying, it's definitely paid off. I assume neovim could be similarly good with a solid LSP plugin. I've mostly just found myself loving the spacebar centric hotkeys.
Memorizing hundreds of arbitrary shortcuts... That, for me, is the definition of hell. Just like we used to have to memorize phone numbers in the past. Nothing against those who like to use their brains that way. Just not for me.
I've been using vim for 3 or 4 months so maybe an opinion from someone who spent more time with nvim will have another opinion but it doesn't seem like I really need to memorize hundreds of arbitrary shortcuts because my unconscious brain worked with that with muscle memory. It doesn't seem to equally be the same than memorizing a hundred words in another language. It's all about getting your hands used to it until you become more efficient I think.. I may be talking out of my ass since 4 months it's not too much experience but I can't go back to normal editing anymore. I'm ok with people who use vscode, I used to use vscodium with a vim plugin and it's relatively similar. The reason why I ended up using nvim was because it was faster in my slow computer.
I still remember those phone numbers after decades of not using them. I don't remember the names of people in my office after weeks of seeing them daily.
it's just something you get used to you use basic arrow keys and word navigation and deleting and you just learn new commands over time before you know it you have hundreds of commands memorized
I mean running an ide in my potato PC is just overkill, that why I prefer VIM, less bloat, fast, I'm still not used to every Vim motion out there but as long as I get the job done I truly don't care, like heck why do you feel entitled to tell people what to use and whatnot, IT DOES NOT MATTER. edit: and of course one of the main reasons is to feel and look superior at college, quick story: the other day i saw a girl editing HTML in visual studio, like i get it I'm broke i can't afford a modern laptop but like damn running visual studio for that is crazy
Jon Blow uses Emacs btw. Personally, I'd use MSEDIT if that were still a thing. So, now I'm using the simplest text editor I can find (which on the terminal would be nano, on the desktop would be notepad++ or equivalent). I won't touch anything that runs on electron.
Started exploring neovim as IDE just recently being professional dev for 7 years and having JetBrains' "All Products Pack" subscription (before it I was and still am using PhpStorm for 6 years). Stackoverflow blog posts are full of *it. It's mind blowing to see such low quality writing in their official blog, while they slaughter daily thousands of noobs for slightest deviations from the question posting guidelines.
You land on vim if you know how to identify greatness and endgames in life, and pursue it. I found - within 1 year of learning how to code - that Linux, i3wm, xterm, and nvim were the endgame just through research and trying shit out. So, i dove into it and forced myself to learn. Still using Debian sid tho, so I think I haven't found the linux endgamr (probably gentoo or from scratch?) Fast, tiling, no mouse, low latency, high customization, written in C. Also, the argument that its a generational thing is fucking hilarious. I'm 28 and I started coding at 27 (and was using windows from age 4 to 27), and I hate anything other than nvim.
Don’t do LFS for any other reason than hobby. If you want a usable OS i suggest gentoo. Maintaining and updating LFS installs takes more time than it’s worth. LFS is a phenomenal learning tool. I learned a lot about Linux when I did it (I couldn’t even properly use the terminal at the time) but finished with a pretty in-depth knowledge of how Linux works, how to properly use the terminal, how to build from source, etc etc etc. But it isn’t “endgame” the effort required to maintain it for practically no benefit other than telling people you use LFS isn’t worth it. You have no package manager, and the moment you need to upgrade a dependency things fail like dominos. Then you need to boot into a recovery system, chroot in and fix it all by hand. Endgame in Linux is just finding the distro you enjoy the most, and learning to stick with it instead of distro hopping every month. For me this is arch (I use arch BTW)
I use vi for bash scripting. It's a great text editor for the command line. On Windows machines, I tend to use notepad++ for writing scripts. The IDE that I use depends on the coding language or the database that I am working with.
"There is but one true editor and Stallman is its prophet." Jokes aside, while I did use emacs for many years, I have been using Vim for a while now and I do not regret the switch. I have tried to switch to IDE:s (mainly to see what I'm missing) and found that they are bloated crap that hides the most important thing from the user, the actual code, with big info-dump fields that are only useful on rare occasions. The only reason to use an IDE is if you are forced to use a build system that is so convoluted that it is a pain in the A to run it from the terminal, which might be the case in the corporate setting.
I am not even a developer, and Vim (with the Goyo plugin) is still my go-to tool for writing essays, articles, notes, or anything really, despite having so many word processors to choose from. It is just that good.
One of other untold benefits of vim is that if you code in vim - instead of meeting more of these kind of dumb people, you meet more kind of smart ones haha :D It will be crazy to say, but when I was part of the HR process on the technical side, seeing a guy or girl use vim was HUGE plus. Not a win for sure, just it is like university - you know the person has at least basic skills and interest and such in computing and yes you can have the same "also as hobby" thing otherwise and I hired people otherwise, but its one of the indicators.
PS.: I did deploy from IDE and I hate that kind of project setup... its the worts thing and one of the first things I do is try to make itt buildable from command line whenever I see that shit..
@@crypticsailor No its not true that whatever deploys from an IDE is just running a command. It is not always just A command, but sometimes (maybe you haven't worked long enough to see this?) half of the build process is described by the gui and half by commands so its not always the case that the build tool just generates input for the CLI build... How you can imagine this is that there are many maven files and they never do anything alone so lets say an eclipse build plugin that used some kind of graphs of maven files is the one that drives the individual ones. Do I prefer maybe just a simple bigger maven or even a shell script to this hell? Yes. But the stuff was in this propriatery gui build editor shit and I had to decypher all the 30-40 steps of putting together plugins and stuff. So in order to make that script (or make a bigger maven that "calls" these or has them or whatever) would take me go through the xml or binary files of this plugin and copy the gui-only defined steps... Similarily I have seen people with jenkins setups for CI where they not only just call a single shell script or maven or whatever proper thing - but describe the steps in jenkins gui and buttons for example. I also dislike this way of doing things - but that does not mean other people also always dislike it. Whenever this happens, you can decypher this shit for sure if you really want - but sometimes there are other things to do and just do not worth the first effort on the named project because there are literally worse things elsewhere. So TL;DR is that you are not right in that "its just running a command" because sometimes literally the PROCESS is described in these gui things in ways that mix together a lot of commandline steps and instead of having a single commandline equivalent (like calling msbuild on the whole) its often not working without its editor plugin (ofc you can write a parser that parses their shit propriately xml that the gui build plugin tool generated but no one did that). In what you are right is that "you can make it build from command line" - but my point is that I know when it was too much effort because lets say I am on the given project for how much? Two days or a week? Have a clear task and not to decypher their bad build practices they payed me.... You get it?
@@u9vata I got what you're saying but you're still not correct because you're describing the exception vs the norm. Even for gui tools they're usually packaging something very simple and you can usually see all the commands it's spawning in your terminal view for the servers. If you need gui tools yes that's the benefit of a gui + extensions but you likely can find the same on sublime etc. More often than not you'll see it's pretty simple to automate the part you need on your workflow since you're usually given every command it uses. But if you don't prefer that then essentially you prefer an IDE or VIM. And there's nothing wrong with that.
As someone who uses jetbrains products with their vim plugin, AND neovim extensively, what draws people to use only vim? What do you do with it that you can't do in the IDE? I personally use vim for editing miscellaneous files and use jetbrains IDEs when I'm gonna sit in one project for hours.
I guess a clearer way to phrase my question is why turn Vim into an IDE when you can turn an IDE into Vim? (I guess other than cost, but my work pays for the license).
I'll answer with a question: why not? Or why the other way? I used Sublime for development for a long time, and vim for little edit for almost the same amount of time. When I finally got around to customizing stuff, I found vim to be easier to work with. So, I started using vim more, until it became my daily driver. If you found it easier to go the other way then cool, it doesn't really matter. If there's one place you might see a difference, it might be that vim will still work without a display manager. In my decade+ of mucking with linux, that's happened like once, really, so the situation is not a serious threat to IDEs. Hmm, that said, as I learn to use vim's filter command more, I might find that my entire cli knowledge can be leveraged with vim: who needs plugins when you can just fork+exec, y'know? We'll see 🤷
I know this is old but without the IDE you don't have any of the bloat. If you could get the exact same developer experience that you do now but everything is faster is that better? Now couple that with a much faster workflow with navigation and it's just hands down better in all ways. It just takes forever to learn lol.
@@WillTilton I know for a fact I can't get the same developer experience, because I've lived in vim for years. Also, you mention "faster", but vim is only faster to open. Once I'm in my idea the speed is identical. You also mention navigation, which I also get in my IDE, using native vim motions.
Actually started messing with neovim. As a developer I can see the benefits of having a code editor in the terminal, way better dealing with files , looking at logs, if you need to go in and make some minor code change remotely through SSH, which I do a lot through servers on AWS. Even crazier, might look into putting together a Linux machine in my home office..
more than 90% of these "programmers" do not even work in major companies. It's all about "look at me, I use vim, bro" syndrome. if it was otherwise - there would be comments like this: if i do X amount of work per Y amount of hours with IDE AND I can do X+Z amount of work per same Y amount of hours with VIM... ...WHY would I do that in a first place if I am getting payed by my employer same amount? Meaning, why would I strech myself and thus show my employer that I can do way more and he does not need to pay for more, if I can skip all of this and work comfortably
@@theobserver_ you. utter. moron. You'd use VIM to smash out the work fast AF and THEN SPEND THE REST OF THE TIME YOU SAVED DOING SOMETHING YOU WANTED TO WHILST STILL GETTING PAID!
Wasted time learning to max out vim. Now I only use it when I ssh in to make small edits to files. Wish I’d spent time doing project management, another language, aws or basically anything else. Not a good roi imho when vscode gets you most of the way there or even further with integrations arriving often before vim.
The thing I dislike about vim or Emacs is how inaccessible they are. I have a hard time memorizing 100 hot keys and would rather just go through a menu for actions I don't do several times a day. In an IDE with a gui that has thought put in I can really easily and quickly navigate to it find what I want. I never found hotkey spreadsheets useful or convenient if I can replace them with intuitive design.
start slow, use vim plugin inside an IDE and get used to vim motions. First movement with hjkl, get to know the differences between normal, insert and visual modes. Then start slowly to integrate more actions like yank, paste, create new lines. When you start adopting the "vim language", like when you think "I want to change this word" and your mind instantly translate that to ciw (change inside word), then you'll get hook into vim motions and you will not need to reach the mouse to get where you want and do the action you want, you will not need to think about it, your fingers will do it for you. Once you get to that point you can go with a preconfigured vim like astrovim or simply follow ThePrimeagen guide (from 0 to lsp) and get a basic (but pretty good) setup.
Thing about vim and emacs is you get faster if you learn and spend time on it but you wont get faster using any IDE with gui. Its not a short term positive, its a long term positive
@@LuisCassih I have always aspired to do that. I use programs like blender that very highly rely on hotkeys but I always seem to fall back to the ui or a search box for actions I do not use daily. And for those that I do, I remember their hotkeys as the program I am using has good UI where next to the button for an action I manually navigated to is the hotkey written down. So as I repeatedly find myself looking at that button with a hotkey next ti it, then the program will teach me to use it in a way as I am exposed to the sequence of keys. With a simpler editor there is no such UX I find it exponentially harder to keep hotkeys in my memory.
@@lapissea1190 I understand, then there's nothing wrong to keep usin an IDE and rely on the UI, if you're comfortable with and you get your job done, it's more than okay. Anyways, even if it's not for using vim/blender, I think you should work on your memorization techniques, such as using mnemotechnics, it will be useful for many things and will help you not only to get faster but also to be more efficient and have less burden in your mind.
With many emacs setups, it is very straight forward to fuzzy search through all the functions, and they are named very sensibly. When you find them, you can run it and/or it will show you the shortcut you can use to run it; very handy. Plus, you can run describe-key do see exactly what function a key combination runs. It can be very discoverable.
Рік тому
hey @primethanatos do you know of a screencast extension for neovim? Like the vscode screencast mode? I've been sporadically and nothing so far. I think something integrated to asciinema could work wonderfully.
11:00 You misunderstood that sentence. I didn't immediately get it as well. But he's talking about people who din NOT start in the last five years, people who program for AT LEAST five years and do vim shortcuts.
it's all about "cool code bro" attitude... in 90% of case has nothing to do with productivity... ...tbh... this guy made a video - he could have spent coding with ide instead of making this video... Any serious company nowadays uses IDE, that's just it
@@XGD5layer no, not really - more like arguing that it should not even matter what are you using as long as you are comfortable with it. Don't care about streamer, tbh, I do not look at them serious - it's all about e-begging
I just switched to using vscode from nano + screen. Still learning but I like it enough. The issue is all the highlighting from extensions can be distracting.
the issue with vim is how much time it takes to set up and learn how to set it up, for a beginner that's very difficult to overcome. IDEs come preconfigured and there isnt much that needs to be changed to have all the features you need
Pretty sure that’s the Vimium browser plug-in. It gives you vim like bindings for navigating web pages and “f” highlights clickable content on the page like that
I switched to vim from sublime about 8 years ago and it was basically just because of handpain. Holding modifier keys for everything sucks. I've used IDEs here and there at work when it was the only realistic workflow for running code but I typically wrote the actual code in vim. I don't mind using something graphical for debugging, it's not a big deal to use more than one code editor. For ages I had emacs running just for my org mode file for tracking issues and contracting hours. Obviously with a vim plugin in both cases.
it's amazing to me that anyone truly cares what editor other people use.
b...but how are we to distinguish who's a real programmer?
@@_orangutan HAHAHAHA TRU
i care.... otherwise how do i flex with vim...
i have to say vs code suck to a vscode user...
@@_orangutan Dark mode, black sweatshirt, black background and green text, lot of beeping noise when he types at 1000 WPM, RGB in everything and more...
The same way we care about what language other people use... For example, the one i use is the best, of course!
I disagree with Prime on one point:
The typical zoomer profile picture is not a selfie with a phone in front of your face. It is either an anime profile picture, or a photo of a funny looking animal with enough jpeg artifacts, that you're unsure if it was originally a cat or a dog.
AI alert??
UwU
Jesus. I have the cat photo in my profile. A true gen Z...
@Kuromika You are wrong. The claim was about what zoomers use, not about whether others use it too.
Fax
MPLAB: You can't compile and emulate code outside the IDE
Xcode: You can't make compliant code without Xcode (this was to force people to buy macs to develop for macs)
Yeah, sometimes the magic is just an artificial wall of bullsh1t
And that's why some people went to alternatives. Some people really like the freedom to choose they own environment. Arduino is one of the HW platforms that brings that, and then was followed by a few others. Ofc u can use Arduino IDE, but u can, if you want use other tools. Cause in the end, its ecosystem don't force you on that. I mean, with the exception of the Apple products, you can always find alternatives that gives u some kind of freedom to make ur sh1t your own way.
Even Xcode has a vim mode built in.
MPLAB is shit and 8051 is overhyped.
Debugging 8051 is way too complex. They don't have a single programming board like Arduino or NodeMCU. Sometimes the signal is garbled and you get nothing on the console. Then you need to bring out an entire oscilloscope to debug the debugger. and we keep getting gaslit that this is what "raw" low level coding should be like.
It's not so much that Apple *forces* you to use XCode, it's more like no other IDE would care to have iDevices simulator, neither will package your final product, or have the system library to test. It's more a practical issue.
The same is true on Microsoft Windows, how will you code for windows without .net or Visual Studio?
Quote: "Xcode: You can't make compliant code without Xcode (this was to force people to buy macs to develop for macs)"
How are you going to test your application to see if it even works properly before shipping it to users if you don't have a Mac? Do you not see how stupid that sounds?
Beyond that, Apple has always been pretty harsh when it came to developer tools on Macs. This has always been the case, since decades before OS X was released. This is why the 3rd party Developer Tools market pretty much bottomed out on the Mac OS platform in the 90s.
Someone should make a vscode plugin for vim
😂
and call it electronify
🤣🤣🤣
Funnily enough i think it already exists
@@SubhaagChowdhury v & nvim it seems
Another thing about my terminal-based tmux+nvim workflow is that it's gentle on my particular flavor of ADHD. Distractions are minimal. Important messages show up in the same spot, and they're all just text - okay maybe an emoji or Unicode-rendered border sometimes, but all constrained by what my terminal emulator can render. IDEs and IDE-like editors try to be so dang helpful that I spend more time reacting to the tool than working on my code. Plus I can more easily mentally map plugin features as bindings behind `` than as menu entries or mystery meat sidebar icons.
If I was a pure CLI dev, I would probably install Linux without a GUI just to kill distractions. My ideal world is pretty much a typewriter with highlighting. Cant do that as a webdev tho.
@@Tobsson Oh I still need *some* kind of shiny pretty. I just keep the terminal as my centerpiece (literally, since I use an ultrawide monitor)
I agree although i don’t have ADHD. I like how in vim the spotlight is on the code, everything else just sits in the background
And my Adhd flavour is forgetting about assignments because im writing regex for new movments, something which will never be useful in any other context
IDEs are distracting? What a mid take. There is so much you could have said to point vim superiority but you chose distracting?? uuugh
Just want to mention, Bill Joy, who created Vi worked on the ADM-3A terminal computer where the HJKL keys were in fact the Arrow Keys on the keyboard (printed with arrows on them). The Tilde(~) key was also the HOME key, and the Escape key was in the place where modern keyboards have a Tab key (much more convenient for Vim). So yes, they were correct in saying that Vi is an arrow-controlled universe of keyboard shortcuts.
(they didn't know that)
Still with this context doesn’t seem like a correct statement, I think most people who use vim barely rely on hjkl to do most things. Regardless it shows that the author of the article probably doesn’t know much about vim.
That explains to me the horrible decision to go for hjkl (and maybe the fact of english layout). Because using say a nordic layout you can't help but wonder why can't it start from j where you got the guiding bump for your default writing anyway (nordic has ä and ö to the right so you have letters to use without changing positions). It just feels so wrong to jump one position to the left from your "home position" to edit. The esc position makes a lot of sense too, I always thought that's the number one inconvenience in vim that you have to regularly jump that far. Unless you do alt+your first command which is brilliant to compensate for switching modes.
@@YupppiThere are a lot of threads of people asking why it's still hjkl and was never changed to jkl; . Non-QWERTY keyboard layouts are the most compelling reason.
didn't realize that's where the escape key used to be but I've been swapping caps and escape for a decade and it's the best choice I've ever made. vim is a joy to use this way, it makes sense that this was what was originally intended
is there vscode extension for Vim? I like neovim but I miss the telemetry from MS.
There's a neovim extension that integrates Neovim, not just emulates it. That means you can use a customized Neovim inside vscode.
@@NostraDavid2 r/whoooosh
I think there is an extension for neovim which adds the telemetry. It sends every last keystroke to Microsoft
@@Gapi505I love this. Sending Microsoft every single nvim keystroke, just to tell them how much their editor sucks.
@@StaringLonginglyr/boomerhumour
I've tried VSCode with vim extension after ~20 years of using VIM. What I found is that with vscode is much easier to install extensions, github copilot works better in vscode, also I find it much easier in vscode to move directories, files, rename symbols project-wide. As an isolated per-file editor though VIM is better. Where I found difficulties in vscode is moving around in the project, and finding what I need - I'm more comfortable for that in the command line. Tracking open files is easier in vim with the :buffers command (the open editors view in vscode is unreadable and I so far did not find a better extension alternitive).
Besides the tabs, explorer, and search sidebar, I use breakpoints for navigation in VS Code: File, Preferences, Keyboard Shortcuts and set (Shift+)Ctrl+F9 to navigate between them, even across files.
I have set up my neovim to be able to refactor, move directories etc. Also I made the experience that copilot works much better than in VSCode, as it does not disconnect randomly so that I have to reauth (never had to reauth).
But yeah, installing extensions in vscode is easier, that's true.
@@some1csgo i never had copilot disconnect tbh i moved from Vim too so my setup in vscode is almost same as my old vim shortcuts... It's just good to wake up and see your extensions stable instead of one of them breaking with a update and affecting others.
edit: NVM I'm back to neovim now, it pulls me back in
ctrlp let's you just type the file name roughly press enter and be there.
@@BeefIngot for me its ff
This article is an important reminder to accept and welcome people with special needs. These two authors may require each other to successfully proompt Chat GPT, but that does in no way diminish their value as human beings. Peace and love, yall!
Stop being reasonable on my internet! get out!!!
LOL :-D :-D Dying here :D
😂😂😂 Best take, love it
LOL
My only experience with emacs was trying it for a week and giving up (due to time/motivation, not because I hated it), and the one Operating Systems professor who did everything short of saying "if you're not using emacs you're a lesser being"
He was right.
based prof
Curious, did you try out a pre-configured distribution like Doom or Spacemacs, or just raw dog it on your own? I found spacemacs to be pretty essential to getting started and getting comfortable, both for the pre-configuration and their pretty solid docs, but now that I daily drive spacemacs I have been fantasizing about redoing my emacs configuration from scratch because I know there is some bloat I could get rid of. I haven’t pulled the trigger yet tho because I really like spacemacs’ approach to logical keybindings.
Anyway, TL;DR I find that buying into a system like spacemacs or Doom helps make it easier to get started.
@@0oShwavyo0 This is wrong on so many levels.
@@gagagero how so?
What I like about IDEs is that they tend to deal with a bunch of ceremonial setup and config that terminal based stuff just doesn't handle... but I'm a biased C# Visual studio developer ;)
Vs studio is great for sure
I basically use IDEs for the debugger features nowadays
Absolutely! If you're jumping between languages or platforms, sure, a more generic text-editor makes sense. If you're on an MS stack that isn't going anywhere? VS (or Rider, my new main squeeze) all day long, for the reasons you mention and others. The point of an IDE (quite literally in the name) is that the tools/utils you need are integrated into it. C#/.NET and Visual Studio (proper) are a match made in heaven. VS Code? Not so much.
@keyser456
When I have the choice I prefer Rider to Visual Studio, as well.
Specially the File and Text search capabilities.
Although ReSharper could be used with VS to compensate, but IMHO a bit slower.
Tbf visual studio is very specialized for developing windows applications for C++, C#, etc. But for other situations having a well configured vim or emacs is better
I love this article. It's so confusing you don't know at times if they're speaking for or against certain editor/IDEs. You should build up a steelman argument for your opponent, but when your steelman becomes a juggernaut and sounds more compelling than your proposal, something's gone wrong. And the other part of confusion is how separated from observed reality they seem to be, like they read somewhere that people argue about these ancient editors called vim and emacs, and decided to write a mockery article. But as a consequence got everything wrong except when they were building up the steelman argument. And on top of it they threw in cultural references that are "hip" but further solidified the idea how out of touch they are by using them wrong.
I use JetBrains products for most of my coding needs. If I were to get used to the shortcuts in Neovim I'd probably be able to switch easily though, because I really only use my keyboard. It's just convenient to do everything with the keyboard since you don't have to move your hands as much, no need to find the cursor and so on. Everything is just there.
I'm just annoyed that vi was designed for an old keyboard layout from the 1960's or something, where h,j,k,l were the actual arrow keys, and numpads didn't exist. If they had just updated it when everyone switched to the 101 key keyboard I think it would be a lot more intuitive. And commands should start with a character that does not require shift, like /. Or, wild idea, use the Alt key for commands like every DOS, Windows, and Xlib program ever.
But above all else, there's one reason to use an IDE over a terminal based text editor, and that's debugging. I'm with John Carmack on this one.
Hey, used JetBrains products for the last couple years for nearly everything. A month ago switched to neovim (used nvim kickstart as a base configuration). Can confidently say, that to move to nvim is more scary than hard. Once you get used to the shortcuts it gets really simple to do anything. And i know it's different for everyone but for me it took around a couple of days to get used to neovim. Would never be sorry for that switch, and definitely won't go back to anything even so good as JetBrains package
@@DFPercush I rarely find myself using the debugging functionality in the IDE. It rarely feels useful. I can think of a couple of times when a debugger has actually been useful in the last few years. Most of the issues are edge cases that are more or less impossible to catch beforehand and are better solved by logging.
This doesn't mean a debugger isn't a vital tool, but not all jobs or tasks need them. Say I were to use Vim or similar, there'd be nothing stopping me from using a debugger when I actually need it.
@@justanotheruser7843 Considering I used to juggle between IDEs depending on the language, I'm pretty sure I'd be able to figure it out in a similar time. Can't afford to do it during work hours though, so I'd have to do it while working on my own projects.
@@DFPercush nvim-dap exists though...?
Neovim is willing and breedable
Absolutely cursed
This is the craziest comment I've read in a while. 😂
Can't spell submissive with out vim
Why would you type this
🙏👍 I read that article a couple of years ago when VS Code was gaining popularity. I felt that the article didn't consider providing thoughtful and constructive insight. I wasn't offended. The level of absurdity rendered me bewildered.
Hahahaha lmao
level of ignorance got me offended. like if you want to counter, bring some valid points
@@crazycrazy7710 True. Ignorance combined with audacity. Probably the only valid points were these two.
I use vim and emacs. But I only use emacs with vim key bindings. So glad the Evil mode package finally made emacs usable as a text editor for me.
This is mostly a debate among developers/programmers. But for sysadmins/systems engineers/sysops, there is no debate. VIM is the only solution.
You might have to manage hundreds of systems, or access systems you don't own, or handle thinclients which only have a few hundred megabytes of harddisk space, or access systems in a place with slow connection. Vim is ubiquitous, fast and reliable.
Even if that systems person doesn't like remembering keyboard shortcuts, he would still use vim (despite only using insert mode and never edit mode). I remember seeing a systems engineer who had to delete the beginning space in every line and what he did was 'down-arrow + right-arrow + backspace' a thousand times!! LMAO
I hope they're not referring to built in FTP/SFTP clients as "automated deployment systems" 🙃
One thing I really miss in vim is something akin to JetBrains' suggested refactors. Just hit alt+enter and you can quickly swap things around while maintaining the same logic. But that's honestly the main thing I use it for.
That's basically what code actions are. What actions are available depends on the LSP you use.
I tried hard to like IntelliJ, and for the life of me, couldn't get what people are so in awe with. The only reason why IntelliJ rocked for Kotlin (which I had to use for the job) is because _the language is made by the same people who make the freaking IDE_ , and that LSP for Kotlin sucked, at least at the time.
I see all this vscode vs vim thing kinda stupid. Whenever people are arguing over these things they typically code on server side languages or web development or system level languages. They tend to forget there is whole world of development which deals with other things such as android development, game development and so on and they each need their own set of tools in order to have a good development experience. Just use whatever you feel comfortable with and gets the job done. If someone is doing android development then android studio is the only way to go as there is no other tool which will have as extensive support from google as android studio has. No need to configure vim or neovim to do android development because people calling it “the greatest editor on earth” as it will take a lot of time and still it will be bad and no way near to the actual tools.
Performance. Most people don't shell out $10k+ for a high performant build server. When travelling, a laptop that invariably has lower specs, is used. Most devs just need ssh+tmux, vs the CPU-intensive VSCODE that falls over when a browser with 20+ tabs is opened. Plus, most IDEs have telemetry, feature bloat, and other ick.
A few reasons:
- I dig the oldschool look
- A terminal makes you learn more stuff about computers, in general
- Makes you less reliant on visual cues, auto-completion, etc…
- cant stress this enough but I HATE USING A MOUSE.
As a new programmer (literally 20 lessons into a 190 lesson course), I already see both of your last points. I feel I can write code but have little understanding of what's going on behind the scenes. I keep avoiding the terminal and choosing the IDE because it's easier.
Also, I want to be able to write code without autocompleting everything even though I think I know what I'm about to write. Picking up my phone to work on lessons is annoying because there's no autocomplete, and I type slow.
I also find the cursor slow, but again, I type slow. Almost feels like I should add typing lessons before or after my coding lessons. That was I can type faster, use more shortcuts, etc
I'm 16 and have been using nvim for a few months now, i just love the shortcuts, it's good for my short attention span
@ahmed nano is disgusting
@ahmed I still use nano and I'm closer to twice that old
Nobody cares about your age kid, you are a programmer at that age ? Neat, you started early than a lot of us. But it's not a flex though, it cringes me out
Using Emacs because I don't need mouse, there is no space for the mouse at the place where I'm using the computer, and I can use xah-fly-keys to avoid pinky pain for long time working on the computer. Plus I can use org mode to write config in one place then tangle them, no need to cd cd cd cd cd.
19:46 what is an ADS: ADS ( Aim Down Sights ) is typically a procedure done when pressing RMB ( Right Mouse Button ) 😊
I wish I could be as productive in emacs or vim but damn, so much work.
So many things to learn and revamp on, this always falls at the bottom of list.
0:15 Personally, because VIM is light weithand dosn't require DE. lately it became handy since i can use it on my andorid phone trough Termux, i broght cheap (like 3-4 $) bluetooth keyboard. So i can carry my phone everywhere, i can ssh into my phone with computer and have my projects, without using cloud. If i'm on the train i can pull out my keyboard and use phone as laptop. Yes screen is small but it's price i'm willing to pay for not having to carry my big laptop, risking using my work laptop, or bying new laptop. Especially considering size of final setup.
Would use vim to flex
will use vim to flex, would use vim to flex
@@ThePrimeTimeagen will use flex to center a div, would use flex to center a div
vscode > vim @@ThePrimeTimeagen
I've discovered an IDE that I actually like more than emacs is IntelliJ. One thing I really like about it is that it doesn't really get in your way when you want to do something that's not within the realm of what it supports. It doesn't try to force you to adapt to it and what it thinks is the right way to do things. Both CLion and PyCharm are very nice to use. One of the most amazingly powerful features is the ability to rename things and have it automatically rename exactly the right things because it knows the AST of my code.
I still use emacs sometimes. And I also use vi sometimes.
The thing the IntelliJ products get wrong, IMHO, is source control. But, I'm far more deeply immersed in the details of how source control works than most programmers, and I'm really picky about my tool doing exactly what I want.
What frustrates me most with IDE's is becoming dependent on them to work on a project. My code has enough requirements, the IDE shouldn't be one of them. When I tried to develop a GTK app in Rust, the tutorials directed me to use Gnome Builder. When I tried to separate my app from Gnome Builder, I couldn't do it. If I ever want to work on that code again, I need a compatible installation of Gnome Builder. That's a serious limitation in my mind.
Regardless, I hate VIM. As a former FPS gamer, I am really fast with my mouse and I like being able to use it. Now that Atom is dead, I use VS Code. Now how do I build a GTK Rust app in VS Code?
Regardless, auto complete, lint highlights, auto suggestions, etc all are great tools.
Gamers usually always have one hand on their mouse while gaming. But programmers don't write code with just one hand. Switching hands is what takes time, not the actual mouse movements.
Also: :set mouse=a
You can absolutely use your mouse in nvim, if you want. I basically never do, unless I am showing some code in a pair programming kind of way, and I need it to point at something, but you absolutely can.
I hate it when people try to abstract away the obvious underlying shell scripts
it makes it infuriating to build stuff especially when dealing with a very poorly written project config in IDEs
acme? :P
The Automatic Deployment System is when you use EX: Jetbrains suite to autodeploy code to a folder on a remote server, IE: Say you work in office + remote, rather than having your code different or .envs different in other places, it'll all be the same cause it's hosted on the internal servers, that you can just mount and deploy to.
It's very handy.
Also extremely useful if software doesn't run locally. IE: Windows devs that want to run PHP without needing admin access to the machine to set it up.
It might surprise you, but developers can be horrible at PC configuration and keeping on top of that.
DataGrip comes included with many JetBrain IDE's and that alone makes it worth for many people. Plus, not everyone has the time to install and configure 100 plugins, yes their IDE's cost some money, but they are worth it.
Does anybody know how he did that on 1:00 ? I mean highlighted everything pressable on the page so it can be interacted with key strokes? What browser and what shortcut?
Trying to figure this out too
..
vimiumC chrome extension
After my quest through the editor realms, I found I loved Kakoune's editing grammar. But I've found over and over again that when I make a solid choice of language for a project, the benefits of speeding up editing are dwarfed by the time I spend actually solving math or architecting a model for the problem. So Sublime and Merge it is. They are as close to an "intuitive" set of keybinds and UI design as I think there is. Not hyper-optimal. But intuitive and easy to remember, with lots of IDE-ish features built in. And also they're just OpenGL windows so they're fast and memory-light.
I primarily use PHPStorm for development, but that's mostly because I can't be bothered to set up vim to do all that stuff. But I do use vim bindings all the time, and vim itself for all of my editing needs when I do sysadmin things (basically a 50/50 split).
EDIT: My reading comprehension failed, you don't actually use kak any more. Oh well.
Another Kakoune user! There's at least a dozen of us!
I reinstalled neovim yesterday to look at something and was appalled at the lack of discoverability by default.
I had been a long term user of vscode and JetBrains products, but since picking growing confident with vim I’ve found it hard to go back to the other tools (even with vim plugins)
I love that if I go onto any Linux system I can pull my dot files and have a consistent DX anywhere (sure you can argue that I can do this with VScode and it’s extension syncing), but I’m also able to ssh into any Linux based machine, pull my vim config and do any sysadmin tasks with my normal workflow (without having to attach an LSP and cripple the performance on the server)
When using VSCode I had some issues in the past when installing vscode remotely incurred perf issues in the server.
My workflow with vim and tmux now feels really fine tuned and I feel super productive. I’ve yet to find anything that I can’t do in my terminal now that I could do in an IDE. It feels to me this article is written by people who haven’t had enough experience with vim/nvim due to the learning curve being slightly steeper
Working on remote systems I use VIM. However, most of my work is local editing. So I use VS Code.
Having used VIM (or Emacs + Evil mode) for about a decade now, VSCode's VIM integration feels off and just doesn't work for me. The JetBrains VIM integration is actually good though.
For big projects it's really hard to argue against JetBrains, the refactoring tools are top tier.
Yeah the VSCode over SSH can eat up a lot of memory I noticed; it's hard to use any machine less than 4gb. But it is super convenient I will say.
Vi isn't actually always available on server installations anymore. Ubuntu server minimal doesn't have it as an example. It can be a bit frustrating, but of course simple 'apt install vim-minimal' (though probably better just go with vim instead at that point) will bring it back. :X
I'm seeing more and more often Nano as default $EDITOR as well, though I wouldn't say that's a bad thing. Someone who might not know Vi all that well will be better off with that, but it does drive me nuts if I don't realize that and run, for example, visudo and it starts with Nano. I'm actually lost for a moment every time that happens as I try to figure out why the cursor isn't moving as expected.
I sometimes feel this frustration. Like, I saw people on youtube who are clearly bright and talented, and talk deep and interesting about python, but use nano as their editor and say things like "xterm is not configurable at all". I guess we have to accept that the knowledge of vim and Xresources is slowly fading away.
Started with sublime, then atom, then vscode. Always hated vim, hated the keybinds. But after experimenting with it for a few days on my laptop, I get it. I always hated working on my laptop before getting neovim set up and customizing it a bit. Now I actually prefer it even tho I have less features and I'm a bit slower, because its very comfortable
Your journey is similar to mine. I now use neovim because I love how configurable it is but I truly hate vim motions. I've ended up remapping a lot of the keybinds for this reason, but its no longer "vim" at this point lol.
4:23 vim does have readline (a subset of emacs bindings) while in insert mode. E.G. Ctrl a to go to start of line, Ctrl h for backspace, etc.
The very first time I logged into a web server with SSH I realised that I needed to brush up my VIM. It's your only man.
VScode remote ssh
You had me at 2:55. And that’s why I use a vi[m] plugin in my IDE.
Using “c-tags” navigation keys to jump around a Java or JS code base is much nicer than mousing around to find the definition, then try to fumble back to where you were before checking what was called.
Using h, j, k, l is nice, too 😁
As well as yy, p, etc.
I use Vim because I like to stay close to the terminal, along with learning a minimal set of keybindings and a basic config...is all you need! NEOVIM just makes that simple experience a whole lot better.
I use NV because 1) because it's terminal based, 2) because it's terminal based 3) I can have my text at 25, or whatever 4) it's clean and uncluttered 5) It's visually very satisfying 6) It works fine ....... Not really used an IDE. I tampered a few years ago, but I found them incredibly clunky and maladroit. Maybe now they are better. But I'm happy with NV, and I feel that I am better adapted for server work, should that arise
This is how I remember the history of the Atom editor. Atom was really good. When it came out, the only real alternative was sublime which cost money, so you had to pay for the best editor (if you hadn't learned about Vim) or settle for atom which was open source and free. Atom had the best Git interface at the time (in my opinion) and I think it's package manager was great for its time. Since atom was made by Github, Microsoft owned it after acquiring Github. VSCode only became good after that. Atom had the essential features that made VSCode great... except for performance.
Counterpoint: Git has the best Git interface. Because it isn’t trying to use a visual interface to hide the details of git. Git CLI is the epitome of WYSIWYG. Everything else is interpolation and abstraction so you _think_ you know what’s happening, but actually don’t.
When I asked how old you were a few days ago, I didn't realize it would make you come after my whole generation! Damn! Anyway, Gen-X Emacs user here. I use it for longevity. It's managed to grow and change and adapt right alongside me for the almost thirty years I've used it (I started out in various DOS and Windows editors and didn't find my way to Emacs until the mid-90's when I started using Linux extensively).
Holy shit that smooth voice when you said, sit down caught me completely off guard. :D
What people often forget to mention is what constrains you when writing code. I, personally, think about the code structure, possible solutions, etc. more than actually writing it, so I have no reason to switch to Vim, since it won't make me more productive whatsoever. I'd prefer to have a better GUI than brag to people how I can control their lives with Vim shortcuts.
As for me, writing and thinking can become the same thing. And Vim-like commands make writing and thinking almost the same thing.
The "I think more than I type" argument is one of the most mentioned things about vim though.
The problem with this argument is that you don't actually know how much time you're saving unless you do both and test the result. There's definitely reasons to not use vim, but not using vim bindings is just a bad idea. Besides, the faster you can type the faster you can get back to thinking about actual problems.
I don't use vim to be "more productive" and I definitely don't use vim to "brag to people"... I just like the interface. Also I don't exclusively use vim, I also use a GUI text editor, which is a more standard interface that I also like.
In the end you use what you are comfortable with. I mean, I've tried NeoVim and Emacs. They are not my cup of tea since my windows mouse sicking unconscious mind goes to it naturally. Tried Vim for a month and Emacs for about a week. It was like learning to walk again I was not patient enough and to this day I won't be. In the end what matters the most is what tools fit your work-style and work requirements to get the job done. I don't really care what other people's personal workflow preferences are. so long as we are in the same page when getting things done.
i use jetbrains, i code for a game using unreal C++ (fairly different, but close enough), the engine is massive enough that the hints and suggestions make coding very fast
the debugger is also too damn useful...
vim is great! and i used on the vanilla C++ project i worked on my previous job
1:02 What is the application that lets you use this kind of key shortcuts?
I taught myself to code about 1980 odd on a TRS-80. Then moved to a Commodore 80, learning Assembly. I use Jetbrains Rider in Unity and UE5.
I was looking for a comment like this. People who have to deal with visuals and pictures.
Wow I didn't know a Commodore 80 could run those
@@MaidenLoaf lol no chance, have updated pc a few times since then
I like Emacs (with EVIL mode) or neovim for web dev (although i'm not effective in it yet) but whenever I work on my C side project I really miss an IDE just because of the debugger and the additional tools available to me. For web dev you can't debug in the same way so there is less of a need for that suite of tools imo
Emacs has GUD, which provides GDB integration.
@@gagagero- GDB? Is this the 60s?
The DAP plug-in (I believe it’s part of the LSP mode package) is actually pretty sweet. Docs are decent at helping with installation, and once it’s up and running I can run different debug templates, save and create my own per project, etc. It’s probably a little more ready out of the box for a C project, I was getting it set up for a rails project and that was a little too finicky for my tastes, but it works great for non-web stuff in my experience.
@@T0m1s What do you think your fancy "integrated debugger" uses? Besides, GUD is an integrated debugger.
@@0oShwavyo0 dap-mode is separate and in beta.
This entire post is the most braindead take on editors I've seen yet. So they're both too boomer to try out something new, but then at the same time hate people who use old stuff. On top of that, they think Notepad is the future of programming, and deny themselves literally any modern tool, but then also praise Atom for being "suited for javascript", whatever that means
It is truly a twisted tail of misconceptions and assumptions
I have always thought of Emacs as in IDE. More like Eclipse than IntelliJ due to its clunkyness (ah, those freezes when Emacs single-threaded Emacs Lisp got clogged by something, numerous but rather unpolished packages, sometimes getting in each others way). There was one area where it excelled: Clojure or lispy languages in general.
The unpolished packages and single thread freezing are truly ugly blemishes here in the 21st century. The only reason to continue using it is the complete freedom to customize everything about it, including its own source code, and in most cases while it's still running.
No prime vi was originally arrow controlled. But originally the keyboards didn't have arrows so they used most logical thing hjkl for arrows. Since it will keep your hands at the typing position at all times
the truth is unlocked
The reason to use EMACS is feeling superior.
emacs is for the mentally ill. neovim is for people that actually want a decent code editor instead of a poor operating system to emulate vim on
Tsoding Daily uses it
@@FlanPoirot emacs is the better text editor. the only thing you take from vim are merely the keybindings. the functionality that emacs provides, vim can only dream of.
I think you mean (n)vim
I told my boss I use VIM, and he gave me free pass to peg him one day 😎
I started using vim professionally because my work machine did not have enough memory to run vscode on top of the servers I was working on. I don't hate vscode, I still like it; I just couldn't use it. Now I use vim on my personal machine because I prefer it. Vim shouldn't die; I don't know where I would be without it. I would have been editing files in notepad or having to tell my boss that I can't work on the project because my laptop is crippled.
So before watching the video and reading the article: for me the big deal is that i know how fast computers are in 2023, so when it takes ages for things to load in these IDEs, I just lose my mind. It's immensely frustrating every single time.
What desktop environment is this? Pretty sure that was all keyboard typing to tab post to twitter and set the windows back to the previously set window sizes. I need me some of that in my life
Technically, you are using the arrow keys in vim. It just happens to use the keyboard layout of an old terminal where arrow keys were on hjkl keys. 😅
I liked eMacs when did pure backend work, but for full stack and doing html, css etc I preferred VS Code with some plugins and sublime text before that. Was too easy to mess up tags etc with eMacs and just way slower. I could care less what editors others use .. but it was a good way to learn efficiency trips when pairing to see tricks others used in their editor of choice
I'm probably just not at that level yet but I never write enough code in one go so that vim feels worth using. I have neovim installed and it's really cool, it feels so smooth and looks sexy, but I'm switching between my files, projects, branches, browser and other windows so often, I'm using my mouse anyways. I also do so much copy pasting that I might as well stick to vs code and let the GUI help me.
I do all of that and also don't use Vim or Neovim but i find my keyboard is fine. I mean alt tabs, win key and vs code menus and shortcuts make nagivation so easy and fast
once u have neovim setup switching between files and projects is a non issue
also I don't see how constant copy pasting is an argument, u can copy paste in neovim the same way as in anywhere else, u can even make neovim use ur system's clipboard instead of its own (but I personally like the separation)
there really is nothing that u can do in a gui that u can't do in vim or with the aid of a command line tool
but the biggest thing for vim for me are the motions, if u get a vim emulation extension and change some of the default keybinds of the editor so u can do all ur text editing and completion previewing without leaving the keyboard u'll be pretty close to the vim experience
once u adopt the shortcuts mindset you'll find urself navigating ur system way faster and more efficiently. it's the same way as trying to leverage ur tools as much as possible really. if u can use globbing, shortcuts, little utilities etc, ur life will be much easier in the end
but it does incur a steeper learning curve than just clicking around ig, but it's just a matter of getting exposed to it often enough
Neovim is not meaningfully faster than vscode. Whatever you learn to use is going to be what you like. Both have extensions and customizability. It really doesn’t matter. It’s 90% memes and 10% idiots who think it matters.
eMacs has a in it so you’ll never have to leave! Start using the built in shell and you’ll get trapped forever!
Jokes aside, there are answers for all of these gripes if you really _want_ to get into it, but vim emulation plugins are everywhere now so you can also probably take the approach of using your current tools but adding better keyboard oriented workflows. I switched from Jetbrains to EMacs this year and have been loving it, but I just as easily could have done more research on keyboard shortcuts and gotten used to ideavim and I probably would have been happy. I mostly started getting into eMacs and then really liked the open source ideology behind it so I stuck with it until it felt comfortable.
I prefer minimalistic ide's. I like to have a button to compile and run, i like to have breakpoints. I like to have a filetree. That's all i need
The original Hawk Tuah 0:08 before the Hawn Tuah girl
Anyone know what keyboard shortcut he used at 0:59 that assigned all the elements on screen to a button press?
Vimium browser extension, looks like
I'm all Emacs, including bindings. I did use Evil mode before. But I switched to the Workman keyboard layout due to carpal tunnel, which has been one of the best decisions I've ever made. I'm more of a writer not a coder, so for me the keyboard layout takes precedence over Vim bindings. I switched back to Emacs vanilla which honestly makes incredibly well on Workman. Far better than it does on QWERTY. Maybe one day I'll add back Evil mode, and remap HJKL to YNEO or maybe even NEOI to keep it pure homerow. One day.
I am an Emacs + Colemak user. Used to be a vim user but can't get back to vim because love Colemrk too much.
My first programming job, the deployment pipeline was my IDE. We didn't have an automated deploy process, I was green as radioactive grass and quickly became responsible for all releases. It just seemed easier to save all of the config for releases into my IDE and be able to do a 2-click release.
I use vim primarily, but I had to setup spacemacs for some proof assistant tools. (You basically have to have a good IDE plugin with a dependently typed language.) Since then I've started using spacemacs for Haskell, and while getting it properly set up was annoying, it's definitely paid off. I assume neovim could be similarly good with a solid LSP plugin. I've mostly just found myself loving the spacebar centric hotkeys.
what extension was that when he was on Twitter? so that he could use keystrokes to click on buttons
Yeah, I'm curious about that too
Vimium C. Yep literally bringing Vim style commands to browsers.
Memorizing hundreds of arbitrary shortcuts... That, for me, is the definition of hell. Just like we used to have to memorize phone numbers in the past. Nothing against those who like to use their brains that way. Just not for me.
I've been using vim for 3 or 4 months so maybe an opinion from someone who spent more time with nvim will have another opinion but it doesn't seem like I really need to memorize hundreds of arbitrary shortcuts because my unconscious brain worked with that with muscle memory. It doesn't seem to equally be the same than memorizing a hundred words in another language. It's all about getting your hands used to it until you become more efficient I think.. I may be talking out of my ass since 4 months it's not too much experience but I can't go back to normal editing anymore. I'm ok with people who use vscode, I used to use vscodium with a vim plugin and it's relatively similar. The reason why I ended up using nvim was because it was faster in my slow computer.
I still remember those phone numbers after decades of not using them. I don't remember the names of people in my office after weeks of seeing them daily.
It's like learning those Shortcuts which you are gonna use for your next 30-40 years
So it's worth it
Regardless of what editor you use... if you don't use shortcuts you're guaranteed slow af
it's just something you get used to
you use basic arrow keys and word navigation and deleting and you just learn new commands over time
before you know it you have hundreds of commands memorized
I mean running an ide in my potato PC is just overkill, that why I prefer VIM, less bloat, fast, I'm still not used to every Vim motion out there but as long as I get the job done I truly don't care, like heck why do you feel entitled to tell people what to use and whatnot, IT DOES NOT MATTER.
edit: and of course one of the main reasons is to feel and look superior at college, quick story: the other day i saw a girl editing HTML in visual studio, like i get it I'm broke i can't afford a modern laptop but like damn running visual studio for that is crazy
I mainly work in remote environments. Other than Vim, there isn't a decent text editor that I can use.
I'm not proselyting, but tramp mode is a godsend for remote work.
@@theherk Haha Good humor! Due to company policy, transferring files to a local device is prohibited. We are using tmux+vim within an ssh client.
@@zirize in either case, what you have displayed is in fact on your local machine even if only in memory, and in both cases you're editing over ssh.
Jon Blow uses Emacs btw.
Personally, I'd use MSEDIT if that were still a thing. So, now I'm using the simplest text editor I can find (which on the terminal would be nano, on the desktop would be notepad++ or equivalent). I won't touch anything that runs on electron.
I learned on Borland's C++ editor for MS-DOS and it's served me well. Don't see why I should try something else.
Started exploring neovim as IDE just recently being professional dev for 7 years and having JetBrains' "All Products Pack" subscription (before it I was and still am using PhpStorm for 6 years).
Stackoverflow blog posts are full of *it. It's mind blowing to see such low quality writing in their official blog, while they slaughter daily thousands of noobs for slightest deviations from the question posting guidelines.
You land on vim if you know how to identify greatness and endgames in life, and pursue it. I found - within 1 year of learning how to code - that Linux, i3wm, xterm, and nvim were the endgame just through research and trying shit out. So, i dove into it and forced myself to learn. Still using Debian sid tho, so I think I haven't found the linux endgamr (probably gentoo or from scratch?) Fast, tiling, no mouse, low latency, high customization, written in C.
Also, the argument that its a generational thing is fucking hilarious. I'm 28 and I started coding at 27 (and was using windows from age 4 to 27), and I hate anything other than nvim.
Don’t do LFS for any other reason than hobby. If you want a usable OS i suggest gentoo. Maintaining and updating LFS installs takes more time than it’s worth. LFS is a phenomenal learning tool. I learned a lot about Linux when I did it (I couldn’t even properly use the terminal at the time) but finished with a pretty in-depth knowledge of how Linux works, how to properly use the terminal, how to build from source, etc etc etc.
But it isn’t “endgame” the effort required to maintain it for practically no benefit other than telling people you use LFS isn’t worth it. You have no package manager, and the moment you need to upgrade a dependency things fail like dominos. Then you need to boot into a recovery system, chroot in and fix it all by hand.
Endgame in Linux is just finding the distro you enjoy the most, and learning to stick with it instead of distro hopping every month. For me this is arch (I use arch BTW)
I use vi for bash scripting. It's a great text editor for the command line. On Windows machines, I tend to use notepad++ for writing scripts. The IDE that I use depends on the coding language or the database that I am working with.
"There is but one true editor and Stallman is its prophet." Jokes aside, while I did use emacs for many years, I have been using Vim for a while now and I do not regret the switch. I have tried to switch to IDE:s (mainly to see what I'm missing) and found that they are bloated crap that hides the most important thing from the user, the actual code, with big info-dump fields that are only useful on rare occasions. The only reason to use an IDE is if you are forced to use a build system that is so convoluted that it is a pain in the A to run it from the terminal, which might be the case in the corporate setting.
Do you use debuggers?
@@boptillyouflop When it is appropriate. gdb works quite well.
0:56 How does Prime show all the keyboard accelerators when he is sending the tweet?
I think it's the Vimium browser extension.
@@j4yd34d5 Thanks 👍
what is the (chrome extension?) he used at 0:59 ?
i need that too
I am not even a developer, and Vim (with the Goyo plugin) is still my go-to tool for writing essays, articles, notes, or anything really, despite having so many word processors to choose from. It is just that good.
One of other untold benefits of vim is that if you code in vim - instead of meeting more of these kind of dumb people, you meet more kind of smart ones haha :D
It will be crazy to say, but when I was part of the HR process on the technical side, seeing a guy or girl use vim was HUGE plus. Not a win for sure, just it is like university - you know the person has at least basic skills and interest and such in computing and yes you can have the same "also as hobby" thing otherwise and I hired people otherwise, but its one of the indicators.
PS.: I did deploy from IDE and I hate that kind of project setup... its the worts thing and one of the first things I do is try to make itt buildable from command line whenever I see that shit..
It's absurd you think using an esoteric code editor is something to pick candidates over.
How do you not realize you're in a weird cult at that point?
You do know whatever deploys from IDE is just running a command? Have you been coding for 1 year at work?
@@crypticsailor No its not true that whatever deploys from an IDE is just running a command. It is not always just A command, but sometimes (maybe you haven't worked long enough to see this?) half of the build process is described by the gui and half by commands so its not always the case that the build tool just generates input for the CLI build... How you can imagine this is that there are many maven files and they never do anything alone so lets say an eclipse build plugin that used some kind of graphs of maven files is the one that drives the individual ones.
Do I prefer maybe just a simple bigger maven or even a shell script to this hell? Yes. But the stuff was in this propriatery gui build editor shit and I had to decypher all the 30-40 steps of putting together plugins and stuff. So in order to make that script (or make a bigger maven that "calls" these or has them or whatever) would take me go through the xml or binary files of this plugin and copy the gui-only defined steps...
Similarily I have seen people with jenkins setups for CI where they not only just call a single shell script or maven or whatever proper thing - but describe the steps in jenkins gui and buttons for example. I also dislike this way of doing things - but that does not mean other people also always dislike it.
Whenever this happens, you can decypher this shit for sure if you really want - but sometimes there are other things to do and just do not worth the first effort on the named project because there are literally worse things elsewhere. So TL;DR is that you are not right in that "its just running a command" because sometimes literally the PROCESS is described in these gui things in ways that mix together a lot of commandline steps and instead of having a single commandline equivalent (like calling msbuild on the whole) its often not working without its editor plugin (ofc you can write a parser that parses their shit propriately xml that the gui build plugin tool generated but no one did that).
In what you are right is that "you can make it build from command line" - but my point is that I know when it was too much effort because lets say I am on the given project for how much? Two days or a week? Have a clear task and not to decypher their bad build practices they payed me.... You get it?
@@u9vata I got what you're saying but you're still not correct because you're describing the exception vs the norm. Even for gui tools they're usually packaging something very simple and you can usually see all the commands it's spawning in your terminal view for the servers. If you need gui tools yes that's the benefit of a gui + extensions but you likely can find the same on sublime etc. More often than not you'll see it's pretty simple to automate the part you need on your workflow since you're usually given every command it uses. But if you don't prefer that then essentially you prefer an IDE or VIM. And there's nothing wrong with that.
00:59 what is the extension name ?
What is the browser plugin in 0:59?
As someone who uses jetbrains products with their vim plugin, AND neovim extensively, what draws people to use only vim? What do you do with it that you can't do in the IDE? I personally use vim for editing miscellaneous files and use jetbrains IDEs when I'm gonna sit in one project for hours.
Same here I use both JetBrains and neovim and I only use neovim for quickly editing single files which I guess is its original purpose anyways.
I guess a clearer way to phrase my question is why turn Vim into an IDE when you can turn an IDE into Vim? (I guess other than cost, but my work pays for the license).
I'll answer with a question: why not? Or why the other way?
I used Sublime for development for a long time, and vim for little edit for almost the same amount of time. When I finally got around to customizing stuff, I found vim to be easier to work with. So, I started using vim more, until it became my daily driver. If you found it easier to go the other way then cool, it doesn't really matter.
If there's one place you might see a difference, it might be that vim will still work without a display manager. In my decade+ of mucking with linux, that's happened like once, really, so the situation is not a serious threat to IDEs. Hmm, that said, as I learn to use vim's filter command more, I might find that my entire cli knowledge can be leveraged with vim: who needs plugins when you can just fork+exec, y'know? We'll see 🤷
I know this is old but without the IDE you don't have any of the bloat. If you could get the exact same developer experience that you do now but everything is faster is that better? Now couple that with a much faster workflow with navigation and it's just hands down better in all ways. It just takes forever to learn lol.
@@WillTilton I know for a fact I can't get the same developer experience, because I've lived in vim for years. Also, you mention "faster", but vim is only faster to open. Once I'm in my idea the speed is identical. You also mention navigation, which I also get in my IDE, using native vim motions.
Actually started messing with neovim. As a developer I can see the benefits of having a code editor in the terminal, way better dealing with files , looking at logs, if you need to go in and make some minor code change remotely through SSH, which I do a lot through servers on AWS. Even crazier, might look into putting together a Linux machine in my home office..
How often do you really need to write code fast? Do these fast coders have a line quota or something?
more than 90% of these "programmers" do not even work in major companies. It's all about "look at me, I use vim, bro" syndrome.
if it was otherwise - there would be comments like this:
if i do X amount of work per Y amount of hours with IDE
AND
I can do X+Z amount of work per same Y amount of hours with VIM...
...WHY would I do that in a first place if I am getting payed by my employer same amount? Meaning, why would I strech myself and thus show my employer that I can do way more and he does not need to pay for more, if I can skip all of this and work comfortably
@@theobserver_ you. utter. moron. You'd use VIM to smash out the work fast AF and THEN SPEND THE REST OF THE TIME YOU SAVED DOING SOMETHING YOU WANTED TO WHILST STILL GETTING PAID!
@@theobserver_cope
Wasted time learning to max out vim. Now I only use it when I ssh in to make small edits to files. Wish I’d spent time doing project management, another language, aws or basically anything else. Not a good roi imho when vscode gets you most of the way there or even further with integrations arriving often before vim.
The thing I dislike about vim or Emacs is how inaccessible they are. I have a hard time memorizing 100 hot keys and would rather just go through a menu for actions I don't do several times a day. In an IDE with a gui that has thought put in I can really easily and quickly navigate to it find what I want. I never found hotkey spreadsheets useful or convenient if I can replace them with intuitive design.
start slow, use vim plugin inside an IDE and get used to vim motions. First movement with hjkl, get to know the differences between normal, insert and visual modes. Then start slowly to integrate more actions like yank, paste, create new lines. When you start adopting the "vim language", like when you think "I want to change this word" and your mind instantly translate that to ciw (change inside word), then you'll get hook into vim motions and you will not need to reach the mouse to get where you want and do the action you want, you will not need to think about it, your fingers will do it for you.
Once you get to that point you can go with a preconfigured vim like astrovim or simply follow ThePrimeagen guide (from 0 to lsp) and get a basic (but pretty good) setup.
Thing about vim and emacs is you get faster if you learn and spend time on it but you wont get faster using any IDE with gui. Its not a short term positive, its a long term positive
@@LuisCassih I have always aspired to do that. I use programs like blender that very highly rely on hotkeys but I always seem to fall back to the ui or a search box for actions I do not use daily. And for those that I do, I remember their hotkeys as the program I am using has good UI where next to the button for an action I manually navigated to is the hotkey written down. So as I repeatedly find myself looking at that button with a hotkey next ti it, then the program will teach me to use it in a way as I am exposed to the sequence of keys. With a simpler editor there is no such UX I find it exponentially harder to keep hotkeys in my memory.
@@lapissea1190 I understand, then there's nothing wrong to keep usin an IDE and rely on the UI, if you're comfortable with and you get your job done, it's more than okay.
Anyways, even if it's not for using vim/blender, I think you should work on your memorization techniques, such as using mnemotechnics, it will be useful for many things and will help you not only to get faster but also to be more efficient and have less burden in your mind.
With many emacs setups, it is very straight forward to fuzzy search through all the functions, and they are named very sensibly. When you find them, you can run it and/or it will show you the shortcut you can use to run it; very handy. Plus, you can run describe-key do see exactly what function a key combination runs. It can be very discoverable.
hey @primethanatos do you know of a screencast extension for neovim? Like the vscode screencast mode? I've been sporadically and nothing so far. I think something integrated to asciinema could work wonderfully.
11:00 You misunderstood that sentence. I didn't immediately get it as well. But he's talking about people who din NOT start in the last five years, people who program for AT LEAST five years and do vim shortcuts.
I use helix btw
It is so good. I am really excited for the plugin system, and suspect it will take of like a rocket when that is available.
Emacs is an operating system, how does it compare with an IDE?
What I find funny is that devs in the 80s who used vi now use visual studio. But new devs use vim.
it's all about "cool code bro" attitude... in 90% of case has nothing to do with productivity...
...tbh... this guy made a video - he could have spent coding with ide instead of making this video... Any serious company nowadays uses IDE, that's just it
@@theobserver_ you're complaining about a steamer steaming?
@@XGD5layer no, not really - more like arguing that it should not even matter what are you using as long as you are comfortable with it. Don't care about streamer, tbh, I do not look at them serious - it's all about e-begging
I just switched to using vscode from nano + screen. Still learning but I like it enough. The issue is all the highlighting from extensions can be distracting.
you can configure that all
gen X here, i live Neovim, it is the best, this has nothing to do with Gen X Prime
If I switched from any IDE to Neovim am I still considered resistant to change?
Maybe? Maybe not? Neovim is newer than a lot of IDEs (like VS or Xcode)
I use nano editor 💪
bruh
What kind of chrome extension is Primeagen using at 1:00? anyone?
the issue with vim is how much time it takes to set up and learn how to set it up, for a beginner that's very difficult to overcome. IDEs come preconfigured and there isnt much that needs to be changed to have all the features you need
I wish
IDEs need to be setup again for every new project and most of them only come with one or two languages built in
1:03 - how he show the twitter keybinds? (its some browser extenstion?)
Most sites have a keybind for the keybinds as either /, Ctrl-/, ? Or Ctrl-?
Pretty sure that’s the Vimium browser plug-in. It gives you vim like bindings for navigating web pages and “f” highlights clickable content on the page like that
Oh yeah, that's Vimium for chrome/firefox
@@lukas1826 yep, hence the jab about bringing Vim shortcuts to other parts of your desktop environment.
I use vim keybindings to make people angry.
finally - honest comment/opinion on why it is important
I switched to vim from sublime about 8 years ago and it was basically just because of handpain. Holding modifier keys for everything sucks.
I've used IDEs here and there at work when it was the only realistic workflow for running code but I typically wrote the actual code in vim. I don't mind using something graphical for debugging, it's not a big deal to use more than one code editor. For ages I had emacs running just for my org mode file for tracking issues and contracting hours. Obviously with a vim plugin in both cases.
I use vim because I don't know how to exit and am stuck :(
:q