I was so burned out at my last job. Starting to get apathetic. Then I saw one of your videos, watched the dev hour with Theo, and have watched a lot of your skits since then. Now I'm reinvigorated and excited about programming again. Thanks for the content!
You put it so well. I always think people are missing the point about the efficiency and shortcuts in vim. It's not about the productivity. It's about relying as much as much on muscle memory instead of user attention in order to preserve the flow of thought. When you are going through the GUI editors, it constantly disrupts your flow of thought. But in vim everything is muscle memory.
I was looking for a way to explain exactly that to the others. I make huge widgets that appear with a key binding for a split second and show the battery for example, and people ask why is it so big it's as tall as the monitor, and I tell them well now I don't have to move my eyes I can use peripheral vision. And they make fun of it like I need to reach to my eyes first to move them slowly. But the point is what you said
Vims composable language also let's you communicate at a higher level, meaning you can do more with less thinking or typing. Instead of, for example, moving 3 characters right, then deleting 5 characters, in Vim you might just go "diw". It's mentally soo much easier to talk with an editor that actually understands you.
I know vim because my school teacher use it. And he told that we should learn vim. Then I found your vim series video. Thank you for bringing me to the vim world!!
I had serious tendinitis, I was even considering switching careers because of it, and then I met Vim. I learned it thanks to your Vim As Your Editor series, and I literally can't go back to "normal" editing anymore.
Yep, I developed pain in my left forearm from stretching for ctrl, shift, cmd. As the guitar player, I had to postpone our band practice for almost 3 weeks. The two things that I researched and implemented were switching to vim motions in idea (now in neovim) and getting a split ergo keyboard using the Miryoku layout. No more pain and way faster.
I'd agree but Ctrl d and Ctrl u are much worse than Ctrl Z. Because you don't move your wrists apart and keep them there for some time. I remapped some Ctrl combinations to use space but it's not great. I hope to find something.
@@theodorealenas3171 that’s the beauty of vim. You can remap it to whatever you want. Also, Miryoku puts things like shift, ctrl, alt, windows under the home row fingers so no more reaching with the pinky.
I started vim when I got a job that required us to develop in a managed VM with no mapped drive. All editing had to be done IN the VM. The lag from typing to seeing the code change was driving me crazy. Then I saw someone SSH into their VM and use VIM and was blown away with how fast they were coding. I never turned back
@@jimigrunge vs code has zero latency compared to vim, because it has cache of content of the files. I have remote server, and vim editing is pain compared to vs code
@@maelstrom254 I usually get large, several 100MB log files and nothing opens it, except vim it's also very quick to search things, just hit / and you found your thing before you could open a menu item
I'm gonna argue that vim also leveled up my "thinking" time when it came to programming. So much of that "thinking" time I find for me is really just reading other code. Fzf+ripgrep+go-to-definintion with an LSP let me read through code soooo much faster than I ever could before.
Honestly, I started using VSCode Vim Plugin around a month ago after being a long time prime-lurker. Now I realized to better foster my Vim/Developer learning, I need to switch to a Linux Distro as a primary driver. I feel it is the next logical step for any serious Developer, because Windows (and some degree Mac ) just don't give that extra 'umph' when it comes to developing. Anyway, thanks Prime. You are one of the youtubers I idolize along with Luke Smith, Mental Outlaw, and Dave's Garage, and I really owe it to you for making programming (especially advanced programming) seem fun and extremely welcoming 🙂.
You don’t need to switch to have a good Vim experience. Windows has WSL - which allows you to run a Linux distro and use it within Windows. Mac is SO comparable with Linux. You can have a great terminal Vim experience there. Linux is amazing with Vim but otherwise, it’s a similar experience in all the OSs if you do it right.
In the first programming lecture, the teacher opened vim in a command-line window on Linux and started typing. Shortly after, I was blown away by how efficiently it was. I immediately threw Windows into the rubbish, installed Linux and vim and am using them since then happily (and of course, exiting vim the first time is always a bit troublesome).
@@marcosdiogenes9380 In fact, everyone was a bit confused to what this was. That year, the lecturer tried something different, a more hands-on approach to teaching programming and many people who haven't had experience in programming already were completely lost when he started to talk about classes and methods in the first lecture. He had no slides at all, all he showed was the code that he typed in while he was explaining it.
@@marloelefant7500 sounds like one of my professors. Most people just hate him for this, but I actually like his approach. He doesn't use VIM in class tho, he just likes to bring challenges he hasnt yet solved on his own and figure out together with the students. And then there's the Linux problem. Most people in my country are scared of terminals, even some CS professors.
My brother introduced me to vim name years ago, but i thought that was only for config files. It was only a little more than a year ago that I saw you coding in vim and saw all the possibilities. I now use vim as my only editor and can't be more happy about it
I remember seeing your first video on your vim workflow and I was blown away by it. I used vim in a basic capacity as I started my career as a Linux systems administrator, but I never thought the dev workflow you have was even possible. Thank you Prime for nudging me towards neovim. I'm still learning my dev flow with it now, and boy do I feel _blazingly fast_ 😁
I've been introduced to emacs while learning lisp. There's something glorious about getting in the zone using all the keyboard shortcuts to switch buffers, run code, edit, etc. Reminds me of playing RTS games. I'm gradually leaning towards doing c and python in it too. I also have a plan to bind my entire numpad to open parenthesis so I can just smash my hand on the general area.
I took a similar path to vim: Lighttable -> Atom w/ vim plugin -> neovim with someone's config off GH that made it friendly for a newbie -> straight vim (when v8 dropped). I haven't felt the need to check out nvim again since I switched to plain vim, but it's cool to see all the work they're doing. Tom Ryder's excellent blog posts on Unix as an IDE (including Vim) were a great resource along the way. And I also wound up moving from FED to DevOps, so being able to use busybox's vi without a learning curve was really nice.
2 years in and I am rocking out with neovim, real programmer's dvorak, and a dactyl. You have defined a massive amount of my productivity flow that I simply could not live without.
I do neovim and colemak, but I was wondering if you remap your keys on vim for your dvorak keyboard? I do that for my layout but I'm just thinking if I ever need to go on a computer without my vimrc file then I'm screwed.
I learned Vim because my old pc sucked so much especially when using electron-based editors with large codebases. Still sticked with Vim even with better hardware to code with. There's just something with Vim that makes me feel at home compared with other IDE"s and editors. Thanks for your videos about Vim, I was able to quickly scaffold my personal configs that really suits my workflow.
You're missing two reasons imo: 1. The motions are portable, have been and probably will be around for ever, you can use a lot of them in like all IDEs 2. It's fun - this is my main reason. I like it for the same reason I like programming. So I now enjoy the actual process of writing
this is very true, I elude to that as why learn vim motions vs leaning vim. but 100% vim motions, once learned, can be used in all major editors. 2. it really is fun.
Yeah, this is the biggest thing. Ideally, you shouldn't be managing state/config on the servers themselves but when you do need to hop on a box and try something out, you know that vi/vim will be there. This is coming from my SRE perspective so it's going to be different for traditional software engineers but I believe that at least knowing the basic motions will help make you a lot more comfortable in general.
@@huehuehue-x3c I like to practice vi for this reason. But since those servers only have vanilla vi without any customizations/preferences I practice vi on my local machine that way as well, so don't have to skip that much of a beat when I'm in a remote workspace.
I’m focusing all my time and effort on actually learning how to code, but man you’ve got me so hyped to jump into VIM from watching your streams and how efficient you are. You’re right, it literally is a superpower haha. Can’t wait to join the cool kids club
I started with Sublime, then moved to VSCode and I keep trying to convince myself to like VSCode. Soo next step is learn VIM lol, never thought I’d say it. I’m still relatively new to programming, glad I found your channel, super down to earth dude
You're 100% the reason why I use VIM motions today and I've gotten really good with them. However, as you said, I know how powerful using the VIM editor can be, yet I'm quite intimidated by the experience. I know you have a playlist called "Vim As Your Editor" (which is damn good btw!) but for the most part (1-4) you only cover the VIM motions. Could you help us by creating another playlist for working with the editor VIM? Kinda like a structured progression to get us gradually acquainted with VIM...
Two thoughts: 1. The whole "spending more time thinking vs coding" misses part of the picture. We also spend quite a bit of time sending messages, responding to emails, searching through internal pages, googling, etc - there's great benefit to knowing your way around a keyboard, and getting good with vim helps this quite a bit. Especially with some of the less frequently used symbols :) 2. IDEs have a lot of helpful builtin tools. Debugger, quick language support, etc. The modal editing paradigm is where most of the speed gains are, and I sometimes wonder if it'd just be better to use IDEs if they had better vim support.
@@DruvaD I know, I'm just saying that the core benefit of vim is in modal editing, speed, and configurability. Great plugins are available - LSP, debugger, file tree, etc - but these are not part of that core benefit. IDEs have great language support and debugging out of the box, and it'd be great to get the vim workflow in an IDE. Unfortunately, vim plugins for IDEs are pretty clunky, but if they allowed you the same speed through modal editing and configurability, it'd be a great experience. Projects like Onivim, Helix, and even Neovim's builtin LSP are moving us in this direction, and I think it's a good thing.
One old fashion reason to learn vi/vim was that back in the day if your machine crashed and/or was in single user mode the root partition generally wasn't big enough for emacs or other editors and you didn't have many choices unless you knew how to use ed or sed to edit files (also handy to know when using tee to connect to a headless server to get root access via serial)
I love vim. I love system tools. I still use vscode w/ vim emulation because I like minimal config when working on projects because I don't have to do much to get fancy features
I like vim mode in vscode, but tend to have it disabled by default, with ctrl+alt+v to toggle it for those times when vim permits things to be expressed efficiently. (I just don't find vim keystrokes as intuitive in vscode as when using vim in a terminal for some reason.)
I started using vim after a little intro course I had at uni peeked my interest on it and you really got me to love it and learn to reeally love coding, thanks man!
Well! When I started to learn programming i heard about vim and thought that it is just an old text editor and can be used on servers in terminal. I tried to open vim in terminal and I was stuck in it. I was unable to exit so I turned off PC. After 2 or 3 years later I was looking for best and customizeable text editor. I tried so many that I does not even remember names of these editors. Many people on many sites were saying were saying that vscode and other text editors and ide's are much better then vim. People use vim nowdays just to impress others. So I backed off But then I saw DT on Distro Tube channel on RUclips who was teaching something and i was following him. That was first time i saw awesomness of vim and tilling window manager. I was seriously speachless. His speed of moving around in text file, switching between different windows, closing and opening. Mine mind was just blown after watching this. At that time I realised I need to learn vim and have to use tilling window manger. I still remember I was puasing video again and again because of his speed. I was unable to catchup to him while watching video. Now i'm learning vim. And soon will be very good at it
My story is also same. One day I found one guy in our team who was using emacs for everything. I immediately started using emacs and that opened a new world of terminal editors to me. Used emacs for 2 months and finally started using vim. I have to use IDEs time to time but always go back to vim.
Thank you for you content. I really enjoy it. I'd like to point out another reason I haven't seen commented yet (though admittedly I haven't read them all). I'm mostly a sysadmin, so even though most of my day is around code, I am on a shell 99% of my time, and when you're ssh'ing or even accesing a virtual console of a system that didn't boot and you need to repair that grub or go to dracut, you end up having to modify files with whatever you have available there. So being comfortable with one tool that you can use everywhere, and which is natively available all the time, is a really really helpful skill. All my colleagues struggle with using vim when they have to inevitably resort to it, and I just chose to embrace it.
I've used Vim for two years, and recently switched to VSCode. It's just more comfortable and just as fast for actual development. If you really need to, you can even perform most of the Vim party tricks. Vim is an excellent software project, but so far I haven't seen any evidence to suggest that using it leads to greater productivity or code quality.
As a linux developer, sometime I need to use Vim in non-graphical enviroment and has very low resource. But I will choose to stay with VSCode or Sublime Text whenever possible. Modern editor's shortcut is fine enough to me. No reason to use vim on a core i7 - 32Gb computer.
Something I feel you should address in a video, oh mighty one, is project folder to file navigation, and project runtime execution. I believe it is equally important to understand these concepts to become a legend like you. When I edit a file I am sprinting but once I am out I tripped, fall on my face and slide to the finish line. Need tips right outside vim.
You are the main reason i tried out vim and I can't thank you enough. Now I'm sitting here after half a year using Vim with my Moonlander and I will never go back. Thank you!
@@ThePrimeagen Also I was just thinking since you mentioned your a fan of IntelliJ a review of idea vim on IntelliJ compared to neovim or something would be awesome!
I seriously use Vim at the moment I saw your channel and I was surprised by the speed with which it moved, today I already built my first plugin, and I have unpublished more written in Lua.
Used VsCode vim for over five years before making the switch to just using Vim. Navigation between files was always the hardest part of my switch and your videos helped with that. The argument that Vim is somehow old and so worse is strange. The biggest thing to happen to Text editors recently IMO is Language Servers, and now neovim supports it natively.
That's the switch I want to make but find really difficult. File navigation, git lense, font ligatures and the debugger, to name a few, are the goodies I need. If I can achieve this in (neo)vim, I'll make the switch!
And who innovated Language Servers? VSCode. Old software means that it isn't built with the mindset of recent innovations, which does describe Vim. If there weren't innovations, or if old software could catch up and be identical to new software then of course old is not bad. But like C++ took C and just slapped a bunch of features on it that weren't invented when C was created, playing catch-up doesn't work. NeoVim is kind of the odd-one-out since they actually managed to take Vim and upgrade it without a rewrite, but whether it can catch up to other features besides LSP remains to be seen
@@AssemblyWizard VsCode is a fine text editor. I think I've used it since it was initially released. Full credit to them for developing the Lang server standard. However the age argument goes both ways. Newer tools often lack features that mature ones have, and have to play catch up as well. My point being that the only major recent innovation I can think of for Text editors it's LSP and Neovim supports it natively. So the old argument doesn't really hold water in this case.
@@hm_webdev it took three separate attempts over a few years to make the switch permanent. For file navigation I recommend looking into Prime's Harpoon, as it really hit my use case for quick switching between a couple of files. I'd think FZF or Telescope are necessary for file finding (I recommend FZF for the easy setup, but use telescope because it has a lot more features). Can't really make any debugger recommendations, whats the primary language you use?
have the same pc for 10 years (those in built cpu ones) , could barely run vscode without crashing so switched to vim 3 years ago and i couldnt have been happier
Actually laughed out loud when you called me out for not subcribing. Probably watched 10 of your videos in the past week and it felt like you were calling me out specifically. Earned another sub :)
I've been using only Vim for my entire undergrad education since first semester, because we had a course called "Computer Tools" in which we learned the basics of Unix and a lot of cool little stuff, including Vim. I think I was the only one in my generation that actually sticked to Vim. Years later, some of my peers still look at me baffled when I code like they can't believe I actually use Vim.... Until some months ago when I went to the dark side and started using (and very quickly adopted) VSCode. I'm not going to lie, if there is ONE thing I didn't like about Vim, it is its config file, syntax, and managing extensions. On VSCode, I only had to install the vim extension to have Vim-like keybindings. I still use Vim here and there but I mostly use VSCode. I fear returning to Vim "fully" might be too hard at this point. Send help, friends.
Try something like AstroNvim if you are still curious, thats what I currently use till I have time to really sit down and learn nvim configuration. It gives you defaults out of the box and gives you that IDE experience without you needing to really configure anything unless you want to.
I've seen some of the "why you should use vim" thumbnails and videos. So far I've been sceptical but this is the first time I've seen it recommend by a RUclipsr whose opinion I value. Gonna try it this WE
@@ThePrimeagen just FYI. I gave up xD While I see the use of vim itself it just doesn't integrate completely with my existing software I need to use. Like I have to use the mouse anyways ever other second. I'm continuing to use vim style plugins and key maps. Let's see how that will work out
Thanks a lot for the video, I think it explains it very nicely :) you are also the reason i learned & started using vim (your tutorial series was a big help)
I really like how this channel is not mainstream yet. It's just a guy coding and checking out BLAZINGLY FAST libraries. Love you man, Whenever I am feeling down i goto some of your BLAZINGLY FAST comparison videos (they are extremely educative too).
trying to have a great balance. I have some twitter reaction videos, rants, tech, whatever. I am my own stream, and if it becomes main stream, it is only because i was in that stream to begin with or i am creating it myself :)
I use vim keybindings in visual studio 2019, would love to use vim for .net development but doesnt seem possible for building desktop applications. For other tasks though your neovim videos have been amazing.
There is plugin in Visual Studio, which let's you run Vim commands (just like in Vim). If I remember correctly, it's called VsVim. It can be installed easily from the plugin manager.
Awesome video Prime! I started using vim about 2 years ago and it really changed my coding life, but my vim config is LOADED with plugins from everywhere and i'm now thinking of configuring a vanilla neovim with no plugins. Can you please do a guide similar or recommend something?
I don't have a guide for that, but I am learning ways to use vim more and more without plugins. I would say that LSP plugin is a must Tree sitter is a must Harpoon (mine) is a must Fugitive (git) is a must besides for that, not to convinced anything else is that important.
Code completion, powerful intellisense and having the IDE shout at me sometimes are some of the things that I cannot leave IntelliJ behind and go to VIM. Specially smart code analysis. I have a feel that whenever I switch to VIM I lose all of this and it’s like running with 1 leg only. Thoughts?
Technically most features can be added through plugins or configurations. But if you just want to use the features out of the box, then IDEs are probably a better choice. However, they should all support VIM motions (key bindings), which really helps speed up code editing.
One thing people should realize is that most IDEs are still code editors with plug-ins out the box. The difference between vscode and vim for example is that vscode comes pre-configured. For code completion and intellisense vscode uses lsp, which can be used with any editor including vim, you just need to set it up yourself
Using vim can definitely secure your job, cus it just simply asserting dominance over the rest of the crew, and especially when you fly through the config through SSH while your team is watching
Great video, as always! I'm proficient in Vim and decided at some point to try out Doom Emacs and loved the ecosystem... However, I find that running Emacs on Windows comes with its own operating system-specific challenges, which limit the functionality of Emacs. I found out about Emacs with natively compiled Elisp, which resulted in a drastic performance improvement (but slower package installs), but still haven't been able to work out some Windows-specific kinks. I believe you run Linux and would not face those obscure problems. I would be interested in knowing why you switched away from Emacs (with Evil mode) to Vim. Thanks.
speed mostly. i just needed something more simple. then the second thing was in terminal vs out of terminal experience. the terminal emacs is just not as good as out of terminal emacs.
just to add, speaking as a former emacs user - emacs is a carpal tunnel speedrun with how much use your pinky gets 😢 vim only requires pressing individual keys, for the most part. i still have the muscle memory of emacs from 10 years ago though which is cool
Emacs is great on Linux. I keep it running all the time. I also have the following alias defined: alias e='emacsclient -n' That way, in any terminal window, I can type e «filename» to immediately open that file in the running Emacs.
2 года назад+1
I came to vim the exact same way. Five years ago, I asked a co-worker to show me how he did something I was only moderately interested in. He was excited to show me the thing that I asked about and I was definitely interested, but that quickly took a back seat to his blazing-fast navigation of code and configuration files. I never actually got into the thing that I asked him about, but watching him navigate text files at a speed I could not _fathom_ doing with a mouse and a few motion keystrokes and other keyboard shortcuts. After a little while I even said out loud, how are you moving like this, what is this sorcery? And he pivoted to showing me all about vim and that was it for me. I was committed to giving it an honest try and it didn’t take long before I realized I was way faster with vim that I could possibly be with Sublime or Atom (both of which I had been using for a while).
The greatest misconception in CS in general is that everybody wants "the best", be it "the best editor" or "the best tecnology". I've always hated when people say that X is crap because Y is better without any valid argument. My ex boss used to mock at me because at that time I was using a minimal arch install with i3 since the company gave me a really crappy laptop, and I had to do everything inside the terminal and with Vim, even though that wasn't really an issue, whereas he was using his MacBook Pro with Sublime Text. I mean, almost every tool has its own niche and you need to understand its philosophy to make the best out of it, if you use Vim expecting to click here and there you are disgracefully wrong. Every tool has to be learned, and I don't get why tools like Vim just because they are based on the terminal have this "stigma" of being uselessly complicated.
it's because for any average user, every action (outside of typing) involves a mouse. doesn't matter what the program is, everything involves some kind of clicking. to put them in a scenario where the mouse is useless and there are no instructions on screen to even help them out means that every action in vim or even the terminal requires memorisation. you can't accidentally discover commands or settings like you can with a gui. since it's a lot of time and content to memorise, and most people will not even know how to look this stuff up, those people will look at it and go, "wtf?" and yknow, no need to lord your feeling of superiority over others ;) software is a tool, not a status symbol
Started watching your lectures on Frontend Master 8 months ago , At first I felt like I won't make it. I landed my first tech job After a month. Thank you so much for the amazing content and lectures. I feel like a ThePrimeagen evangelist now. Trying to make my software related friends to watch you and learn from you.
ytytyty :) I hope that I was always encouraging! I don't just want to promote an ideal and make people feel bad, but I want to promote what I think is great and make people feel that it is possible to achieve it
for me Vim/Emacs’s usefulness is an extension of the usefulness of knowing how to touch type. I can type without looking at the keyboard, and I can navigate/edit text without hunting through menus and toolbars. It’s less about being quick for me (although thats nice too). Mouse actions never really become complete muscle memory in the same way keyboard commands do. Like everyone spams Ctrl+S to save without even thinking about it in most editors, but you can’t mouse over through menus in the same way without taking up some cognitive ability away from thinking about the actual engineering task at hand. Vim/Emacs enables me to place all editing on the keyboard to spend less time thinking about how my hands will do what I’m thinking of and more about what I’m actually doing.
RIP Bram. I've been using vim since 1995. Tried other editors a few times, I just didn't like them. People don't seem to like it, they think I'm an idiot for not using VS code
Been using Vim as a developer for well over 15 years and motions has to be one of the best user interfaces for document editing and traversal .... it's like the manual transmission of a car, once you get it and have that "ah ha!" moment it becomes natural .... i use vim motions in just about everything I can even my web browser
Recently switched from VS Code to vim. I thought C intellisense made my workflow faster. However, learning vim proved me wrong. I've never been faster in programming. Also, vim isn't that hard to learn. It took me around 2-3 days to build muscle memory for the common and basic commands. The more advanced commands can come later and isn't that difficult either.
I felt the same way, I just started using Vim earlier this year & it was so much easier to wrap my head around than people made it seem to be... The basic navigation keys are easy to remember & you just learn the advanced movement as necessary...
Before when I was a VSCode wanker, I would have a million tabs open and positioned and blah, and if they got closed it was literally like I didn't even want to work anymore. Now after 3 or so years of Vim, I still get this oddly satisfying feeling when I just destroy all my open buffers and don't care because I can just Leader, s, h and have an instant list of the last 50 buffers I used, type a couple more key strokes to fuzzy find the file I'm wanting and hit enter. It doesn't even matter what tabs I have open now and what order, every file is at my fingertips, esp when a couple of key strokes takes me right back to all of my most recent edits.
Your vim videos have helped me out tremendously! My coworkers think I'm a wizard. Maybe it's the coconut oil, maybe it's maybelline, but vim just makes everything better!
a lot of people kind of suspect that vim is more efficient, but make up excuses as to why they don't have to learn it. i used ide's for ten years before i picked up vim. now i regret that i didn't do it sooner. all programs based on the "normal" text editing scheme are actually really, really bad, and you have to kind of step out to realize it.
Prime: "Ok I like IntelliJ, ... I'm never gonna like VSCode" Me: 😁 Prime: "It uses Lua, ... and Lua's a great language" Me: 😫 Man this video was a rollercoaster of emotion
After forcing myself to use nvim for the past week and struggling a lot I finally appreciate how easy it is to fly around without leaving the keyboard. Memorizing all the keystrokes takes a while but sure is worth it in the end. I'm still having difficulties with treesitter syntax highlighting with god damned lit-html, can't get my head wrapped around how to set it up properly.
If there's something I can't do in vim, i use vscode then figure out to do it in vim in my free time. Eventually you run out of things you don't know how to do lol
As always cheers for your vids on Vim. my lead dev uses intellij and one of the other devs just made the switch from vscode to vim. Lead dev puts on the whiteboard another way to get fired (among other funny shit) start using vim which of course is BLAZINGLY FAST
My classmates were using pycharm locally on windows, I was the old guy by myself logging into my linux server writing my code in vim. Relative line numbering always left my teacher in a state of confusion. She would throw her hands up and say I cant help you, I would laugh maniacally and tell her 'that makes two of us'. Passed CS104 Introduction to Programming with a 99.38%. Thank You Vim, and Thank You Primeagen!
I have never been a fan of the "oh, most of the time I spend thinking" argument. Maybe it is just me but I can't quite recall a time when I have just done thinking in isolation when I am sitting in front of a computer. This thinking phase is usually comprised of trying multiple approaches / refining the taken approach / refactoring / etc and being able to do this fast can be quite significant in terms of the resistance that you face internally when doing the said activities. I have observed since I have worked on improving my typing speed, speed while working on codebases, also usage of copilot. I try more stuff out, refactor more often, and usually approach the problem from more angles, write more detailed commit messages, and jot down more ideas. And this is something other folks also resonate with who take this path (improving typing speed, learning vim keybindings, etc)
I appreciate the attitude. You want to zone in and crack out code afafp. I would never use Vim, because writing code in text is a tiny fraction of what I do, but I get it.
About 2 years ago i started to code in c++, and i only used vscode, but i started an data eng course and one of my professord introduced vim to me and say smt like " if you like to code fast, you will love vim " so, here i am, using vim for almost anything and searching for new tips about it.
I used Vim back in the old days and loved it but recently, I had been struggling along with visual studio code, using the Vim compatibility mode. Now and in no small part because of the videos from you and TJ, I have switched back to 😊Neovim and feel like I’ve gained superpowers :-) Coding Lua just makes me happy.
Recently got into modal editing, but I went with Helix and got *hooked* . It's Kakoune-inspired so not exactly a Vim-analogue, but I just love it so much.
The beauty of VIM is, that you can customize everything and turn every action into a macro. Doing so requires patience and a bit of time and I think, that is what invokes these "strong feelings" in some people. When I started learning it, it felt clunky. I even had to speak out each key before I pressed it, just to remind myself. 😅 Luckily, this only lasted until the muscle memory kicked in. Now I don"t want to miss all these motions anymore. Even if I am forced to work with PHPStorm or VSCode, the first thing I usually do is install their respective Vim-Plugin.
I've been seriously considering switching to Vim. I haven't been programming for very long, but I find myself obsessing over efficiency and ergonomics all the time. The only issue I'm worried about is the fact that I use an alternate keyboard layout - Colemak-DH for typing, and so I may run into conflictions with certain shortcuts, but I'm sure it's easy enough to go through and change these. I'll definitely be mapping the hjkl to neio unless using the pinky finger becomes fatiguing. If that's the case I'll probably opt for jkil (neui in my case, basically the typical arrow key layout) if the pinky finger becomes fatiguing to use. I've also just found your channel and it's honestly such good content! Subbed!
People hype Vim up a lot. Ignore the hype until you know the fundamentals of programming, because trying to learn Vim and code at the same time will make your life a lot harder than it needs to be
One of my friends jokingly dared me to switch to it but within like a week I was hooked on the vim way of doing things. I also think once you've got a language fairly understood, everyone should code without any autocompletion for a bit to really ingrain that knowledge and that was a handy side effect of the transition
I use vim just to confuse my collaborators. I love it.
this seems interesting, i can get behind it
One of the greatest features of vim :)
Love it when people get mad like “why would you comment every line with // instead of surrounding the whole block with /**/“ lol
@@arsnakehert visual mode > select the block > gc
@@aquepaique gcip is much faster
You are the man who brought me to Vim and changed my perspective on programming. Thank you for your amazing content!
yayaya! Thank you :) I appreciate the nice comment my man
Same! I couldn't imagine using any other editor now
yeah same....i was already learning a little bit, but the primagen tutorials just kept me going, and now im almost a year into being a vimmer.
+= 1
The man how showing me how to configure vim...
🤕 i was using it without a vimrc before that
I was so burned out at my last job. Starting to get apathetic.
Then I saw one of your videos, watched the dev hour with Theo, and have watched a lot of your skits since then. Now I'm reinvigorated and excited about programming again.
Thanks for the content!
His energy is refreshing. Too many devs go for dark/dead-pan humor.
You put it so well. I always think people are missing the point about the efficiency and shortcuts in vim. It's not about the productivity. It's about relying as much as much on muscle memory instead of user attention in order to preserve the flow of thought. When you are going through the GUI editors, it constantly disrupts your flow of thought. But in vim everything is muscle memory.
CORRECT
I was looking for a way to explain exactly that to the others.
I make huge widgets that appear with a key binding for a split second and show the battery for example, and people ask why is it so big it's as tall as the monitor, and I tell them well now I don't have to move my eyes I can use peripheral vision. And they make fun of it like I need to reach to my eyes first to move them slowly.
But the point is what you said
🤏🤯 🤌 Im freaking out. I need to sitdown and drink some icetea.
@@theodorealenas3171 definitely know what you mean.
Vims composable language also let's you communicate at a higher level, meaning you can do more with less thinking or typing. Instead of, for example, moving 3 characters right, then deleting 5 characters, in Vim you might just go "diw". It's mentally soo much easier to talk with an editor that actually understands you.
The fact that your coworkers are the one introduced you to VIM is amazing. It proves you have really great work environments. 👍
yayaya!
nek minute he leaves lol
🐱👍
@@ThePrimeagenyt offers me to translate your comment to English lol
I know vim because my school teacher use it. And he told that we should learn vim. Then I found your vim series video. Thank you for bringing me to the vim world!!
yayayaya!
Your theacher is a gigachad
I had serious tendinitis, I was even considering switching careers because of it, and then I met Vim. I learned it thanks to your Vim As Your Editor series, and I literally can't go back to "normal" editing anymore.
that is real, and I have heard many people express something very similar.
Yep, I developed pain in my left forearm from stretching for ctrl, shift, cmd. As the guitar player, I had to postpone our band practice for almost 3 weeks. The two things that I researched and implemented were switching to vim motions in idea (now in neovim) and getting a split ergo keyboard using the Miryoku layout. No more pain and way faster.
Same here. Had excruciating pain both in my forearm, wrist and pinky finger before switching to vim & split keyboard. Thanks Prime for your videos
I'd agree but Ctrl d and Ctrl u are much worse than Ctrl Z. Because you don't move your wrists apart and keep them there for some time.
I remapped some Ctrl combinations to use space but it's not great. I hope to find something.
@@theodorealenas3171 that’s the beauty of vim. You can remap it to whatever you want. Also, Miryoku puts things like shift, ctrl, alt, windows under the home row fingers so no more reaching with the pinky.
I started vim when I got a job that required us to develop in a managed VM with no mapped drive. All editing had to be done IN the VM. The lag from typing to seeing the code change was driving me crazy. Then I saw someone SSH into their VM and use VIM and was blown away with how fast they were coding. I never turned back
good reason my friend
Or ssh into VM using vscode?
@@jainicz There was still a lot of lag compared to command line SSH into the VM from the bash terminal and run Nvim natively on the VM
@@jimigrunge vs code has zero latency compared to vim, because it has cache of content of the files. I have remote server, and vim editing is pain compared to vs code
@@maelstrom254 I usually get large, several 100MB log files and nothing opens it, except vim
it's also very quick to search things, just hit / and you found your thing before you could open a menu item
I'm gonna argue that vim also leveled up my "thinking" time when it came to programming. So much of that "thinking" time I find for me is really just reading other code. Fzf+ripgrep+go-to-definintion with an LSP let me read through code soooo much faster than I ever could before.
Honestly, I started using VSCode Vim Plugin around a month ago after being a long time prime-lurker.
Now I realized to better foster my Vim/Developer learning, I need to switch to a Linux Distro as a primary driver. I feel it is the next logical step for any serious Developer, because Windows (and some degree Mac ) just don't give that extra 'umph' when it comes to developing.
Anyway, thanks Prime. You are one of the youtubers I idolize along with Luke Smith, Mental Outlaw, and Dave's Garage, and I really owe it to you for making programming (especially advanced programming) seem fun and extremely welcoming 🙂.
oh snap! thank you :)
Those are pretty big people to be aligned with, thank you for the compliments my man :)
You don’t need to switch to have a good Vim experience. Windows has WSL - which allows you to run a Linux distro and use it within Windows.
Mac is SO comparable with Linux. You can have a great terminal Vim experience there.
Linux is amazing with Vim but otherwise, it’s a similar experience in all the OSs if you do it right.
In the first programming lecture, the teacher opened vim in a command-line window on Linux and started typing. Shortly after, I was blown away by how efficiently it was. I immediately threw Windows into the rubbish, installed Linux and vim and am using them since then happily (and of course, exiting vim the first time is always a bit troublesome).
And then... everyone clapped! #trueStory
@@marcosdiogenes9380 In fact, everyone was a bit confused to what this was. That year, the lecturer tried something different, a more hands-on approach to teaching programming and many people who haven't had experience in programming already were completely lost when he started to talk about classes and methods in the first lecture. He had no slides at all, all he showed was the code that he typed in while he was explaining it.
@@marloelefant7500 sounds like one of my professors. Most people just hate him for this, but I actually like his approach. He doesn't use VIM in class tho, he just likes to bring challenges he hasnt yet solved on his own and figure out together with the students. And then there's the Linux problem. Most people in my country are scared of terminals, even some CS professors.
...the year was 1995.
@@opulenceluxury8548 No, it was 10 years ago.
My brother introduced me to vim name years ago, but i thought that was only for config files. It was only a little more than a year ago that I saw you coding in vim and saw all the possibilities. I now use vim as my only editor and can't be more happy about it
I remember seeing your first video on your vim workflow and I was blown away by it. I used vim in a basic capacity as I started my career as a Linux systems administrator, but I never thought the dev workflow you have was even possible. Thank you Prime for nudging me towards neovim. I'm still learning my dev flow with it now, and boy do I feel _blazingly fast_ 😁
yayaya! thank you
I've been introduced to emacs while learning lisp. There's something glorious about getting in the zone using all the keyboard shortcuts to switch buffers, run code, edit, etc. Reminds me of playing RTS games. I'm gradually leaning towards doing c and python in it too. I also have a plan to bind my entire numpad to open parenthesis so I can just smash my hand on the general area.
I took a similar path to vim: Lighttable -> Atom w/ vim plugin -> neovim with someone's config off GH that made it friendly for a newbie -> straight vim (when v8 dropped). I haven't felt the need to check out nvim again since I switched to plain vim, but it's cool to see all the work they're doing. Tom Ryder's excellent blog posts on Unix as an IDE (including Vim) were a great resource along the way. And I also wound up moving from FED to DevOps, so being able to use busybox's vi without a learning curve was really nice.
You introduced me to vim and I am loving it so much It’s just flowing from thought into code thank you 🙏
You are welcome. Also, thank you for the nice note. It does make me feel all warm and fuzzy
2 years in and I am rocking out with neovim, real programmer's dvorak, and a dactyl. You have defined a massive amount of my productivity flow that I simply could not live without.
D A N G!
I do neovim and colemak, but I was wondering if you remap your keys on vim for your dvorak keyboard? I do that for my layout but I'm just thinking if I ever need to go on a computer without my vimrc file then I'm screwed.
@@DeepDyno I don’t do remaps for that. It was a learning process, but I just use the default Dvorak bindings for vim.
I learned Vim because my old pc sucked so much especially when using electron-based editors with large codebases. Still sticked with Vim even with better hardware to code with. There's just something with Vim that makes me feel at home compared with other IDE"s and editors.
Thanks for your videos about Vim, I was able to quickly scaffold my personal configs that really suits my workflow.
that is perfect! I love that :)
You're missing two reasons imo:
1. The motions are portable, have been and probably will be around for ever, you can use a lot of them in like all IDEs
2. It's fun - this is my main reason. I like it for the same reason I like programming. So I now enjoy the actual process of writing
this is very true, I elude to that as why learn vim motions vs leaning vim.
but 100% vim motions, once learned, can be used in all major editors.
2. it really is fun.
Yeah, this is the biggest thing. Ideally, you shouldn't be managing state/config on the servers themselves but when you do need to hop on a box and try something out, you know that vi/vim will be there. This is coming from my SRE perspective so it's going to be different for traditional software engineers but I believe that at least knowing the basic motions will help make you a lot more comfortable in general.
@@huehuehue-x3c I like to practice vi for this reason. But since those servers only have vanilla vi without any customizations/preferences I practice vi on my local machine that way as well, so don't have to skip that much of a beat when I'm in a remote workspace.
And it's not limited to text editors/IDEs, a lot of tools (mainly CLI ones) like less have vimkeys for navigation
@@ThePrimeagen what do you mean by that? Do you just mean the hjkl motions? Vim plugins?
I’m focusing all my time and effort on actually learning how to code, but man you’ve got me so hyped to jump into VIM from watching your streams and how efficient you are. You’re right, it literally is a superpower haha.
Can’t wait to join the cool kids club
start now :) it takes a while
Best energy of any tech tuber, would love to see some more coding videos! Hope this can replace the Netflix gig one day keep it up
I started with Sublime, then moved to VSCode and I keep trying to convince myself to like VSCode. Soo next step is learn VIM lol, never thought I’d say it. I’m still relatively new to programming, glad I found your channel, super down to earth dude
You're 100% the reason why I use VIM motions today and I've gotten really good with them.
However, as you said, I know how powerful using the VIM editor can be, yet I'm quite intimidated by the experience.
I know you have a playlist called "Vim As Your Editor" (which is damn good btw!) but for the most part (1-4) you only cover the VIM motions.
Could you help us by creating another playlist for working with the editor VIM? Kinda like a structured progression to get us gradually acquainted with VIM...
yeah, i do want to re-think that series at some point.
Been binging your videos for a week or so now... I really did think I was subscribed. That outro got me.
Two thoughts:
1. The whole "spending more time thinking vs coding" misses part of the picture. We also spend quite a bit of time sending messages, responding to emails, searching through internal pages, googling, etc - there's great benefit to knowing your way around a keyboard, and getting good with vim helps this quite a bit. Especially with some of the less frequently used symbols :)
2. IDEs have a lot of helpful builtin tools. Debugger, quick language support, etc. The modal editing paradigm is where most of the speed gains are, and I sometimes wonder if it'd just be better to use IDEs if they had better vim support.
you can use a debugger in vim
@@DruvaD I know, I'm just saying that the core benefit of vim is in modal editing, speed, and configurability. Great plugins are available - LSP, debugger, file tree, etc - but these are not part of that core benefit.
IDEs have great language support and debugging out of the box, and it'd be great to get the vim workflow in an IDE. Unfortunately, vim plugins for IDEs are pretty clunky, but if they allowed you the same speed through modal editing and configurability, it'd be a great experience. Projects like Onivim, Helix, and even Neovim's builtin LSP are moving us in this direction, and I think it's a good thing.
One old fashion reason to learn vi/vim was that back in the day if your machine crashed and/or was in single user mode the root partition generally wasn't big enough for emacs or other editors and you didn't have many choices unless you knew how to use ed or sed to edit files (also handy to know when using tee to connect to a headless server to get root access via serial)
I love vim. I love system tools. I still use vscode w/ vim emulation because I like minimal config when working on projects because I don't have to do much to get fancy features
I like vim mode in vscode, but tend to have it disabled by default, with ctrl+alt+v to toggle it for those times when vim permits things to be expressed efficiently. (I just don't find vim keystrokes as intuitive in vscode as when using vim in a terminal for some reason.)
I started using vim after a little intro course I had at uni peeked my interest on it and you really got me to love it and learn to reeally love coding, thanks man!
Why I use Vim in 2023? Because I can't quit it
Well!
When I started to learn programming i heard about vim and thought that it is just an old text editor and can be used on servers in terminal. I tried to open vim in terminal and I was stuck in it. I was unable to exit so I turned off PC.
After 2 or 3 years later I was looking for best and customizeable text editor. I tried so many that I does not even remember names of these editors.
Many people on many sites were saying were saying that vscode and other text editors and ide's are much better then vim. People use vim nowdays just to impress others. So I backed off
But then I saw DT on Distro Tube channel on RUclips who was teaching something and i was following him. That was first time i saw awesomness of vim and tilling window manager. I was seriously speachless. His speed of moving around in text file, switching between different windows, closing and opening. Mine mind was just blown after watching this.
At that time I realised I need to learn vim and have to use tilling window manger. I still remember I was puasing video again and again because of his speed. I was unable to catchup to him while watching video. Now i'm learning vim. And soon will be very good at it
Distro Tube is one of my favorite youtube channels!
My story is also same. One day I found one guy in our team who was using emacs for everything. I immediately started using emacs and that opened a new world of terminal editors to me. Used emacs for 2 months and finally started using vim. I have to use IDEs time to time but always go back to vim.
pretty much the same :)
Thank you for you content. I really enjoy it.
I'd like to point out another reason I haven't seen commented yet (though admittedly I haven't read them all).
I'm mostly a sysadmin, so even though most of my day is around code, I am on a shell 99% of my time, and when you're ssh'ing or even accesing a virtual console of a system that didn't boot and you need to repair that grub or go to dracut, you end up having to modify files with whatever you have available there.
So being comfortable with one tool that you can use everywhere, and which is natively available all the time, is a really really helpful skill.
All my colleagues struggle with using vim when they have to inevitably resort to it, and I just chose to embrace it.
I've used Vim for two years, and recently switched to VSCode. It's just more comfortable and just as fast for actual development. If you really need to, you can even perform most of the Vim party tricks. Vim is an excellent software project, but so far I haven't seen any evidence to suggest that using it leads to greater productivity or code quality.
Def productivity, agreed though on quality
Yoo hoo! Another Vim Video! Keep up uploading content like this!!!!!!
As a linux developer, sometime I need to use Vim in non-graphical enviroment and has very low resource. But I will choose to stay with VSCode or Sublime Text whenever possible. Modern editor's shortcut is fine enough to me. No reason to use vim on a core i7 - 32Gb computer.
Something I feel you should address in a video, oh mighty one, is project folder to file navigation, and project runtime execution. I believe it is equally important to understand these concepts to become a legend like you. When I edit a file I am sprinting but once I am out I tripped, fall on my face and slide to the finish line. Need tips right outside vim.
yeah, i have thought about that. perhaps we may start to think about that here shortly.
@@ThePrimeagen That would be awesome! Will be looking forward to it.
Subscribed a while back and you got me to finally try it. So far your 6 part tutorial series has been really helping out a lot!
awesome. I do want to remake them one day
You are the main reason i tried out vim and I can't thank you enough. Now I'm sitting here after half a year using Vim with my Moonlander and I will never go back. Thank you!
This guy is truly the Dr.Disrespect of programming... Hilarious! I think I speak for us all when I say your work is awesome!
hio! thank you :)
@@ThePrimeagen Also I was just thinking since you mentioned your a fan of IntelliJ a review of idea vim on IntelliJ compared to neovim or something would be awesome!
I seriously use Vim at the moment I saw your channel and I was surprised by the speed with which it moved, today I already built my first plugin, and I have unpublished more written in Lua.
congrats :)
Used VsCode vim for over five years before making the switch to just using Vim. Navigation between files was always the hardest part of my switch and your videos helped with that.
The argument that Vim is somehow old and so worse is strange. The biggest thing to happen to Text editors recently IMO is Language Servers, and now neovim supports it natively.
yeah, the neovim lsp is incredible
That's the switch I want to make but find really difficult. File navigation, git lense, font ligatures and the debugger, to name a few, are the goodies I need. If I can achieve this in (neo)vim, I'll make the switch!
And who innovated Language Servers? VSCode. Old software means that it isn't built with the mindset of recent innovations, which does describe Vim. If there weren't innovations, or if old software could catch up and be identical to new software then of course old is not bad. But like C++ took C and just slapped a bunch of features on it that weren't invented when C was created, playing catch-up doesn't work.
NeoVim is kind of the odd-one-out since they actually managed to take Vim and upgrade it without a rewrite, but whether it can catch up to other features besides LSP remains to be seen
@@AssemblyWizard VsCode is a fine text editor. I think I've used it since it was initially released. Full credit to them for developing the Lang server standard. However the age argument goes both ways. Newer tools often lack features that mature ones have, and have to play catch up as well.
My point being that the only major recent innovation I can think of for Text editors it's LSP and Neovim supports it natively. So the old argument doesn't really hold water in this case.
@@hm_webdev it took three separate attempts over a few years to make the switch permanent. For file navigation I recommend looking into Prime's Harpoon, as it really hit my use case for quick switching between a couple of files. I'd think FZF or Telescope are necessary for file finding (I recommend FZF for the easy setup, but use telescope because it has a lot more features). Can't really make any debugger recommendations, whats the primary language you use?
I use Vim since I watched your "Vim as your Editors" videos. Thank you so much!!
have the same pc for 10 years (those in built cpu ones) , could barely run vscode without crashing so switched to vim 3 years ago and i couldnt have been happier
smart man
Actually laughed out loud when you called me out for not subcribing. Probably watched 10 of your videos in the past week and it felt like you were calling me out specifically. Earned another sub :)
I've been using only Vim for my entire undergrad education since first semester, because we had a course called "Computer Tools" in which we learned the basics of Unix and a lot of cool little stuff, including Vim. I think I was the only one in my generation that actually sticked to Vim. Years later, some of my peers still look at me baffled when I code like they can't believe I actually use Vim.... Until some months ago when I went to the dark side and started using (and very quickly adopted) VSCode. I'm not going to lie, if there is ONE thing I didn't like about Vim, it is its config file, syntax, and managing extensions. On VSCode, I only had to install the vim extension to have Vim-like keybindings. I still use Vim here and there but I mostly use VSCode. I fear returning to Vim "fully" might be too hard at this point. Send help, friends.
Try something like AstroNvim if you are still curious, thats what I currently use till I have time to really sit down and learn nvim configuration.
It gives you defaults out of the box and gives you that IDE experience without you needing to really configure anything unless you want to.
I've seen some of the "why you should use vim" thumbnails and videos. So far I've been sceptical but this is the first time I've seen it recommend by a RUclipsr whose opinion I value.
Gonna try it this WE
nice! I think its a good time :)
@@ThePrimeagen just FYI. I gave up xD
While I see the use of vim itself it just doesn't integrate completely with my existing software I need to use. Like I have to use the mouse anyways ever other second.
I'm continuing to use vim style plugins and key maps. Let's see how that will work out
I've heard about vim before, but you're the person that actually made me learn it. Thank you:)
Thank you for this great video. You just now inspired me to write a tribute called "The Zen of Vim" on Medium!
Whenever I use vim, I can feel a huge buff.
same. +3 dex, -69 intel
my love for vim recommeded me your channel and I love it :)
Cause it is blazing fast, of course
smooth as eggs
Thanks a lot for the video, I think it explains it very nicely :) you are also the reason i learned & started using vim (your tutorial series was a big help)
I really like how this channel is not mainstream yet. It's just a guy coding and checking out BLAZINGLY FAST libraries.
Love you man, Whenever I am feeling down i goto some of your BLAZINGLY FAST comparison videos (they are extremely educative too).
trying to have a great balance. I have some twitter reaction videos, rants, tech, whatever. I am my own stream, and if it becomes main stream, it is only because i was in that stream to begin with or i am creating it myself :)
@@ThePrimeagen thats what i like about you. Keep up the good work chief.
3:39 . . .shots fired across the bow!
Damn straight
I use vim keybindings in visual studio 2019, would love to use vim for .net development but doesnt seem possible for building desktop applications. For other tasks though your neovim videos have been amazing.
There is plugin in Visual Studio, which let's you run Vim commands (just like in Vim). If I remember correctly, it's called VsVim. It can be installed easily from the plugin manager.
God, that zoom-in in the end, it made me subscribe!
Awesome video Prime! I started using vim about 2 years ago and it really changed my coding life, but my vim config is LOADED with plugins from everywhere and i'm now thinking of configuring a vanilla neovim with no plugins. Can you please do a guide similar or recommend something?
I don't have a guide for that, but I am learning ways to use vim more and more without plugins.
I would say that LSP plugin is a must
Tree sitter is a must
Harpoon (mine) is a must
Fugitive (git) is a must
besides for that, not to convinced anything else is that important.
@@ThePrimeagen neogit works fine in place of fugitive too
@@ThePrimeagen Telescope also is a must
Customization and consistency across languages is great, I love vim
Code completion, powerful intellisense and having the IDE shout at me sometimes are some of the things that I cannot leave IntelliJ behind and go to VIM.
Specially smart code analysis. I have a feel that whenever I switch to VIM I lose all of this and it’s like running with 1 leg only.
Thoughts?
Technically most features can be added through plugins or configurations.
But if you just want to use the features out of the box, then IDEs are probably a better choice. However, they should all support VIM motions (key bindings), which really helps speed up code editing.
One thing people should realize is that most IDEs are still code editors with plug-ins out the box. The difference between vscode and vim for example is that vscode comes pre-configured. For code completion and intellisense vscode uses lsp, which can be used with any editor including vim, you just need to set it up yourself
Using vim can definitely secure your job, cus it just simply asserting dominance over the rest of the crew, and especially when you fly through the config through SSH while your team is watching
Great video, as always! I'm proficient in Vim and decided at some point to try out Doom Emacs and loved the ecosystem... However, I find that running Emacs on Windows comes with its own operating system-specific challenges, which limit the functionality of Emacs. I found out about Emacs with natively compiled Elisp, which resulted in a drastic performance improvement (but slower package installs), but still haven't been able to work out some Windows-specific kinks. I believe you run Linux and would not face those obscure problems. I would be interested in knowing why you switched away from Emacs (with Evil mode) to Vim. Thanks.
speed mostly. i just needed something more simple.
then the second thing was in terminal vs out of terminal experience. the terminal emacs is just not as good as out of terminal emacs.
just to add, speaking as a former emacs user - emacs is a carpal tunnel speedrun with how much use your pinky gets 😢 vim only requires pressing individual keys, for the most part.
i still have the muscle memory of emacs from 10 years ago though which is cool
Emacs is great on Linux. I keep it running all the time. I also have the following alias defined:
alias e='emacsclient -n'
That way, in any terminal window, I can type
e «filename»
to immediately open that file in the running Emacs.
I came to vim the exact same way. Five years ago, I asked a co-worker to show me how he did something I was only moderately interested in. He was excited to show me the thing that I asked about and I was definitely interested, but that quickly took a back seat to his blazing-fast navigation of code and configuration files. I never actually got into the thing that I asked him about, but watching him navigate text files at a speed I could not _fathom_ doing with a mouse and a few motion keystrokes and other keyboard shortcuts. After a little while I even said out loud, how are you moving like this, what is this sorcery? And he pivoted to showing me all about vim and that was it for me. I was committed to giving it an honest try and it didn’t take long before I realized I was way faster with vim that I could possibly be with Sublime or Atom (both of which I had been using for a while).
The greatest misconception in CS in general is that everybody wants "the best", be it "the best editor" or "the best tecnology".
I've always hated when people say that X is crap because Y is better without any valid argument.
My ex boss used to mock at me because at that time I was using a minimal arch install with i3 since the company gave me a really crappy laptop, and I had to do everything inside the terminal and with Vim, even though that wasn't really an issue, whereas he was using his MacBook Pro with Sublime Text.
I mean, almost every tool has its own niche and you need to understand its philosophy to make the best out of it, if you use Vim expecting to click here and there you are disgracefully wrong.
Every tool has to be learned, and I don't get why tools like Vim just because they are based on the terminal have this "stigma" of being uselessly complicated.
Good you dropped that boss :-)
it's because for any average user, every action (outside of typing) involves a mouse. doesn't matter what the program is, everything involves some kind of clicking. to put them in a scenario where the mouse is useless and there are no instructions on screen to even help them out means that every action in vim or even the terminal requires memorisation. you can't accidentally discover commands or settings like you can with a gui. since it's a lot of time and content to memorise, and most people will not even know how to look this stuff up, those people will look at it and go, "wtf?"
and yknow, no need to lord your feeling of superiority over others ;) software is a tool, not a status symbol
Started watching your lectures on Frontend Master 8 months ago , At first I felt like I won't make it. I landed my first tech job After a month. Thank you so much for the amazing content and lectures. I feel like a ThePrimeagen evangelist now. Trying to make my software related friends to watch you and learn from you.
ytytyty :)
I hope that I was always encouraging! I don't just want to promote an ideal and make people feel bad, but I want to promote what I think is great and make people feel that it is possible to achieve it
Why do you use vim? Or, why don't you use vim? What do you use?
I use vi on my good ol' VT-100
I started using Vim because of my roommate, but I really got into it because of you! 👑
I started using vim after watching your streams and I believe it’s made me a better engineer. So thank you!
i started using vim because it is useful when sshing into a server or setting up Debian/Arch, and keep using it because it's convenient
Because it makes me blazingly fast! (I use neovim)
I like the way you explained about vim , infact I get curious to learn the vim thank for pushing me into that and i subscribed your channel ❤
for me Vim/Emacs’s usefulness is an extension of the usefulness of knowing how to touch type. I can type without looking at the keyboard, and I can navigate/edit text without hunting through menus and toolbars. It’s less about being quick for me (although thats nice too).
Mouse actions never really become complete muscle memory in the same way keyboard commands do. Like everyone spams Ctrl+S to save without even thinking about it in most editors, but you can’t mouse over through menus in the same way without taking up some cognitive ability away from thinking about the actual engineering task at hand. Vim/Emacs enables me to place all editing on the keyboard to spend less time thinking about how my hands will do what I’m thinking of and more about what I’m actually doing.
that is pretty true statement i would say
Imagine being a programmer and not being able to touch type.
RIP Bram. I've been using vim since 1995. Tried other editors a few times, I just didn't like them. People don't seem to like it, they think I'm an idiot for not using VS code
First
omg, faster than RUST GEEZ
Been using Vim as a developer for well over 15 years and motions has to be one of the best user interfaces for document editing and traversal .... it's like the manual transmission of a car, once you get it and have that "ah ha!" moment it becomes natural .... i use vim motions in just about everything I can even my web browser
its how i feel my man!
Recently switched from VS Code to vim. I thought C intellisense made my workflow faster. However, learning vim proved me wrong. I've never been faster in programming. Also, vim isn't that hard to learn. It took me around 2-3 days to build muscle memory for the common and basic commands. The more advanced commands can come later and isn't that difficult either.
you can use intellisense in vim using CoC btw
I felt the same way, I just started using Vim earlier this year & it was so much easier to wrap my head around than people made it seem to be... The basic navigation keys are easy to remember & you just learn the advanced movement as necessary...
Before when I was a VSCode wanker, I would have a million tabs open and positioned and blah, and if they got closed it was literally like I didn't even want to work anymore. Now after 3 or so years of Vim, I still get this oddly satisfying feeling when I just destroy all my open buffers and don't care because I can just Leader, s, h and have an instant list of the last 50 buffers I used, type a couple more key strokes to fuzzy find the file I'm wanting and hit enter. It doesn't even matter what tabs I have open now and what order, every file is at my fingertips, esp when a couple of key strokes takes me right back to all of my most recent edits.
I started to use vim to feel smart
I keep using it (or emulating it) because I feel dumb without modal editing, now
hah, same
Your vim videos have helped me out tremendously! My coworkers think I'm a wizard. Maybe it's the coconut oil, maybe it's maybelline, but vim just makes everything better!
a lot of people kind of suspect that vim is more efficient, but make up excuses as to why they don't have to learn it.
i used ide's for ten years before i picked up vim. now i regret that i didn't do it sooner. all programs based on the "normal" text editing scheme are actually really, really bad, and you have to kind of step out to realize it.
yeah, pretty much the same thing here
Prime: "Ok I like IntelliJ, ... I'm never gonna like VSCode"
Me: 😁
Prime: "It uses Lua, ... and Lua's a great language"
Me: 😫
Man this video was a rollercoaster of emotion
Will there be a tutorial for how you configure your nvim at some point?
i have one, that went over my semi current (vimrc 2021)
@@ThePrimeagen oh wow didn't realize - that's awesome! And for your current setup I can just fork your repo ;)
After forcing myself to use nvim for the past week and struggling a lot I finally appreciate how easy it is to fly around without leaving the keyboard. Memorizing all the keystrokes takes a while but sure is worth it in the end. I'm still having difficulties with treesitter syntax highlighting with god damned lit-html, can't get my head wrapped around how to set it up properly.
If there's something I can't do in vim, i use vscode then figure out to do it in vim in my free time. Eventually you run out of things you don't know how to do lol
This is a great approach. Respect
As always cheers for your vids on Vim. my lead dev uses intellij and one of the other devs just made the switch from vscode to vim. Lead dev puts on the whiteboard another way to get fired (among other funny shit) start using vim which of course is BLAZINGLY FAST
You know how Buddha was enlightened?
He used tmux with vim.
this is actual fax. I read about it in university
You are awesome! Christ@machine, TJ, Luke Smith and you makes me loves this editor.
I use vim only to appease you, mr. coconut man
good. I feel apeased
Thanks to you, one year ago I started to use my terminal as my code environment. I couldn't use anything else than vim now. I feel complete.
My classmates were using pycharm locally on windows, I was the old guy by myself logging into my linux server writing my code in vim. Relative line numbering always left my teacher in a state of confusion. She would throw her hands up and say I cant help you, I would laugh maniacally and tell her 'that makes two of us'. Passed CS104 Introduction to Programming with a 99.38%.
Thank You Vim, and Thank You Primeagen!
I have never been a fan of the "oh, most of the time I spend thinking" argument. Maybe it is just me but I can't quite recall a time when I have just done thinking in isolation when I am sitting in front of a computer. This thinking phase is usually comprised of trying multiple approaches / refining the taken approach / refactoring / etc and being able to do this fast can be quite significant in terms of the resistance that you face internally when doing the said activities.
I have observed since I have worked on improving my typing speed, speed while working on codebases, also usage of copilot. I try more stuff out, refactor more often, and usually approach the problem from more angles, write more detailed commit messages, and jot down more ideas.
And this is something other folks also resonate with who take this path (improving typing speed, learning vim keybindings, etc)
Yeah I'm more like you. I rarely just sit and think, I tend to build little mock solutions until I feel happy with what I've done.
I appreciate the attitude. You want to zone in and crack out code afafp. I would never use Vim, because writing code in text is a tiny fraction of what I do, but I get it.
About 2 years ago i started to code in c++, and i only used vscode, but i started an data eng course and one of my professord introduced vim to me and say smt like " if you like to code fast, you will love vim " so, here i am, using vim for almost anything and searching for new tips about it.
newbie developer at amazon, my typical day starts with one of your videos. You are inspiration!!!! I wish to be lighting fast like you one day. 😢
Practicing Golang with nvim, I kind more like (or love) coding, Thanks for all vim videos. Without your videos I probably will never touch vim editor.
Prime your videos got me into VIM gotta say thank you
I used Vim back in the old days and loved it but recently, I had been struggling along with visual studio code, using the Vim compatibility mode. Now and in no small part because of the videos from you and TJ, I have switched back to 😊Neovim and feel like I’ve gained superpowers :-)
Coding Lua just makes me happy.
samesies!
That ending really got me to subscribe! 😂
Recently got into modal editing, but I went with Helix and got *hooked* . It's Kakoune-inspired so not exactly a Vim-analogue, but I just love it so much.
The beauty of VIM is, that you can customize everything and turn every action into a macro.
Doing so requires patience and a bit of time and I think, that is what invokes these "strong feelings" in some people.
When I started learning it, it felt clunky. I even had to speak out each key before I pressed it, just to remind myself. 😅
Luckily, this only lasted until the muscle memory kicked in.
Now I don"t want to miss all these motions anymore.
Even if I am forced to work with PHPStorm or VSCode, the first thing I usually do is install their respective Vim-Plugin.
I've been seriously considering switching to Vim. I haven't been programming for very long, but I find myself obsessing over efficiency and ergonomics all the time. The only issue I'm worried about is the fact that I use an alternate keyboard layout - Colemak-DH for typing, and so I may run into conflictions with certain shortcuts, but I'm sure it's easy enough to go through and change these.
I'll definitely be mapping the hjkl to neio unless using the pinky finger becomes fatiguing. If that's the case I'll probably opt for jkil (neui in my case, basically the typical arrow key layout) if the pinky finger becomes fatiguing to use.
I've also just found your channel and it's honestly such good content! Subbed!
People hype Vim up a lot. Ignore the hype until you know the fundamentals of programming, because trying to learn Vim and code at the same time will make your life a lot harder than it needs to be
Heard about you from word of mouth. Literally subscribed on first video.
One of my friends jokingly dared me to switch to it but within like a week I was hooked on the vim way of doing things. I also think once you've got a language fairly understood, everyone should code without any autocompletion for a bit to really ingrain that knowledge and that was a handy side effect of the transition
You're hands down my favorite programmer
I liked the video before listening. The title just captured me! Vim is for legends!