Комментарии:
I use the Vim plugin in IntelliJ while working on primarily, Java code, actually I think it is the best combo that gets you super efficient.
To be efficient with VIM you must practice it on a daily basis for months, it is very difficult in the beginning
neovim looks interesting but i need help configuring it i dont know what i am doing can you make a tutorial that tells me all i need to know about neovim so i can get started because i am used to visual studio but neovim looks good and i want to use it but dont know how
ОтветитьWhen I was learning on early VB, I would code direct to file and cut out the IDE.
I used vim for a lot while, but I wanted to become a real programmer, so I switched to hammer and chisel direct to CPU.
That's correct. That's what emacs is for
ОтветитьThat must be the most complicated way I've ever seen someone use awk to sum a column
ОтветитьI have to say that the best part of vim for me is that it is in the terminal. An editor with the terminal inside is like a cell inside a nucleus
ОтветитьI see two kinds of people:
1. ones that want to get a job done
2. others who want to be able to precisely describe how and why they did it how they did it
Most people I know fall into the first camp and that's ok.
I identify more with the second group because I hate not knowing if I'm doing the right thing, but I'm perfectly fine using VSCode.
THAT BEING SAID please stop focusing on the text editor, as long as it's not notepad++ it shouldn't matter.
Typing faster doesn't improve a person's rate of learning and instead of hard switching to vim, because it's an all-in strategy, nobody uses vim every now and then, 99% of people would be much better off learning a technology they haven't used before.
Everyone has a daily capacity for learning and I think it would be better spent on other things.
For people like you with over 15-20 years of experience it might be the last frontier to learn/conquer and brag about but for MOST programmers it's a pointless time sink.
Serious question - would you prefer a person to spend their limited time learning VIM or Rust ?
Tried to get into vim, setting up nvim was annoying for what i'm trynna do, partly bc i lack of experience. But i ended using vim extensions in vscode anyw and honestly i can't imagine typing code without it. The navigation in vim is much better than keep switching between my keyboard and mouse.
ОтветитьI was going to seethe so hard before seeing this was a defense of VIM
ОтветитьI think I would have to side somewhat with the title of the article. I spent probably half a year using Vim in my day job and loved it. I became about as proficient as most people I've seen live coding. I remember feeling like such a wizard. At some point I had to switch back to a standard editor for a while and was surprised to find I was able to edit code with the same speed. Over the past few years I've been tempted to go back to Vim (some of those terminals look sooooo clean), but TBH I'm not convinced it's faster. For example, say I want to change the parameters of a function I can see on my screen, but the cursor is at least several lines away. Even if I know the exact line and can jump to it, and then `f(` and `ci(` to modify the parameters, this isn't typically faster than using the trackpad on my laptop to move the mouse and select the same text. I've even run tests against people live coding where I'll edit the same code as them in Vim just to make sure I can match their speed, and then I do the same thing with various other setups (KBM, keyboard + trackpad, keyboard + touch screen, etc.), and for me, the keyboard + trackpad wins every time. For non Vim tests I was just using a simple markdown editor and still managed to keep up. Beyond that, I've occasionally seen the same live coders switch to their mouse just to have better control of the cursor when pointing something to their audience, usually when they're deep on a tangent explaining some aspect of the code, so I find that curious. (I hesitate to name names, but at least one of them has appeared on this channel before.) All that to say, the magic has worn off a bit for me. As the article said, and as you highlighted, YMMV. But dang do those terminals look nice...
ОтветитьI've found that it's not worth dogmatically sticking to one coding environment no matter what. Having to work in specific domains I've learned to embrace the best tools for the job even they are unfamiliar. Native Android? I'm using Android Studio. iOS? Pretty hard not to use XCode. Gamedev in Unity? Nothing beats Rider.
ОтветитьWhat makes me less productive is these damn videos. I keep watching them instead of working.
ОтветитьAfter a very long period of some mixed use of vim and nano for editing script and config files on my system, this week I decided to dive into Vim and really start learning the keys.
For me it's currently really about the Vi keyboard command language itself. No idea if Vim or Neovim will end up to be my main code editor on Linux. That's a separate decision to me.
I decided to go the way of trying to use the Vim way everywhere, so I added Vimium C to my firefox browser and VsVim to Visual Studio on Windows with which I develop in the C# language.
For most other coding tasks I still use VS Code. No problem. We can add a Vim extension in that as well. Problem is that I am going to struggle with existing keybindings in which i put a lot of work already, not just configuring, but also learning those.
But the immense power of all those Vi commands seems to be totally worth it.
nano for the win
Ответитьwith vim, you can save 6 seconds of time in the span of 10 decades
Ответитьi am used to jetbrains IDEs but as a devops i have the necessity to dive into the low level stuff.
from experience i know that only a fraction of devs utilise their IDE properly... which is a shame.
I use eclipse but I have been starting to try out vim.
ОтветитьMan, I don't know if it's making me more productive, but you can be sure is making me have more fun while coding, all the 'mini-games' you play on your head while navigating or refactoring code using the motions, is just so fun! Also it made me search more about those linux commands, so in general, I'll continue to use it and I recommend it a lot!
ОтветитьVSCode have jump lists. It's called "opened files". You switch between them in an instant. "Harpoon" is a built in feature in VSCode and has been since the days of Atom (ctrl+p).
Learning vim is about as productive as learning to play hacky sack. You do it recreationally. For fun. But the same features are found everywhere else. I moved from vim a long time ago, I wanted to go back to using it but found it's input lag to be unacceptable. It's not large, but it's ever so subtle - particularly for large files and large projects. That's a big no no for me.
To configure nvim for java will also involve fixing and altering plugins for the sake of lombok and the ability to jump to third party sources. But now I'm so much faster.
ОтветитьMy intro to vim was actually editing config files on openwrt routers, like any embedded system they come with busybox and that has vi included. After getting used to it I enabled motions on every editor I used, long before LSP was a thing. With embedded programming you don't have the luxury of choosing your tools though, as most are property, luckily almost all of them are a clone of eclipse or vs express so you have the option to install extensions that provide vim motions. Anyways about three months ago I got a kinesis freestyle 2 and started the painful process of learning to touch type, right now I'm back to my previos wpm and vscode is starting to feel a bit slow, navigation within a file is great with the motions extension, but anything else feels clunky, I might give nvim a try at some point.
ОтветитьThe university I did my undergraduate degree at actually started making students in the first year Java course use Notepad++ because people were reaching 3rd year after using Eclipse and not understanding what a compiler is. They had no idea what was going on under the hood, and when you're in school, that's a complete disaster. Using Notepad (like Vim could) taught them how that stuff works because they had to use the command line for the tools to work.
Ответить"Just learn how the system works"
most people would ignore the term cause they just don't wanna invest their time into learning a new editor.
Vim is just a tool out of other millions. VLC media player or zip, are also tools, but you should not spent on every tool too much time, cause there is millions of these, you could miss your life, using vim, Arch or i3wm as desktop environment won't make you superb macho or best programmer. I have friends who are really pro backend developers in big IT companies, but they use regular Windows 11, or Apple laptops with mouse, very rearly terminal.
ОтветитьVScode absolutely does have a jump-list, if that means cursor location history. As well as hotkeys for navigating backwards and forwards between save points. I use it constantly. Especially when using the hotkey for drilling down from a reference to its declaration (variable or function), sometimes recursively, then navigating back to where I was originally.
ОтветитьCompletion not only doesn't reward memory, but rewards not remembering. That isn't good. Your memory is your first port of call, searchable notes and cheat sheets the second, searchable docs the third.
ОтветитьI think vim is addictive due to not having to uses brain power to make high accuracy selections and stuff with mice. Even as a very competitive gamer and very good aimer it's still very annoying and exhausting to constantly have to click where I want to move the cursor to.
ОтветитьOne thing baffles me: you mention there are developers that don’t know how to use grep, find, xargs… Man thats such a hindrance. So many things are abstracted away that if for some reason there’s a cloud meltdown and we’re all back to ssh, so many devs of devs would be clueless.
Ответитьwhy does he look so sad in the thumbnail who hit him
ОтветитьNah I use emacs
ОтветитьDr Disrespect after taking a CS course
ОтветитьI think what this post really tackles is, when you are starting you shouldn't be wasting your time on going too deep on the tools. You dont need vim do land your first job.
No point in being a vim nerd if you cant make your hello world website or app first.
Girding
ОтветитьI can agree w/ learning your tools. However, its kind of helpful to know that it will probably take you years and be a secondary pursuit for most people that just happens slowly in your day to day using of something.
Ответитьwell, if ur not a home row seeking touch typist, vim isnt for u.
ОтветитьYou either wanna know these things or you dont. Those of use that do will surely go a long way. And those that dont, well, they can just become react devs. Win win really
ОтветитьI started learning vim motions (with vscode plugin) a year ago and gave neovim a try last month. In general it feels like mastrubation. It is fun but doesn't give you any advantage really. Maybe my specialization (C/C++ gamedev) skews the point Prime makes in this video because from the first days you actually know how everything works behinds the scenes, but even so I can't see this knowledge ever helped me deliver valuable features at work really. If you need that for you work you will inevitably learn it. If it doesn't - you will not miss that much.
Ответитьjjjjjjj
ОтветитьI didn't knew vscode Harpoon exist, but I love the official description:
A vscode clone of the vim plugin Harpoon created by The Primeage
Primeagen's advice - "Just learn everything!"
ОтветитьJetBrains Rider. Can't recommend it enough.
Plenty of shortcuts, plenty of control, clean, not distracting, easy, smexy.
I noticed that you are using the Dvorak layout. Wouldn't it mess up your vim keybindings? This is the main reason I gave up Dvorak after 7 years.
ОтветитьPrime's viewers are savage
ОтветитьVim users act as if the ide is what is keeping them behind. They think so fast that the bottleneck becomes the couple milliseconds that vim might be faster than any other editor. As if most programmers don't write a couple of loc and then fuck around for an hour.
Ответить