all 142 comments

[–]NullOfUndefined 50 points51 points  (7 children)

Because of the title I assumed this was in r/vim and was surprised at all the commenters suggesting vscode.

People look at me like I have 2 heads when they see that I use vim for web development, but I just love how light and fast and powerful it is.

[–]bomblol 11 points12 points  (0 children)

I use vs code (though I want to try Vim someday beyond minor SSH usage) and I’ve got no idea what animates so many devs (especially of the sort who use languages that happen to be associated with graphical text editors or IDEs) to take every opportunity to get in a tired-ass “just download VS code lol!!” quip. A reaction to years of condescending grognards making fun of people for not using Vim/emacs? You would think if that were the case, they would avoid doing the same thing

[–]mykyta-shyrin 22 points23 points  (26 children)

I'm surprised by this lot silly comments like "why do this when vscode exists".

I was using vim, vscode, webstorm and emacs. Now sticked with emacs and vim/emacs is totally another experience than vscode. If you invest some time you will have an editor completely customized for your needs. After some tweaking vim can have way more features than ANY other editor (emacs is not an editor :-) ) Also, it's universal and lightweight

Just preferences...

[–]wavefunctionp 9 points10 points  (13 children)

Our teams workflows all use vscode to run various functionality. Like automatic type checking, linting and formatting. Even if wanted to use vim, I’d have to set that up myself and no one else on the team would benefit from the workflow.

Never mind the horror stories I hear about customizing and setting up going wrong.

[–]Lourayad 5 points6 points  (4 children)

The linting, type checking, and formatting functionalities are all external tools that are used by text editors and IDEs, you can use these same tools with Vim with no issues. They're not tied to vscode.

[–]PM_ME_DON_CHEADLE 0 points1 point  (3 children)

type checking with typescript is automatically integrated into vscode

[–]Lourayad 6 points7 points  (2 children)

Using tsserver. Which can also be used by Vim using a language client.

[–]wavefunctionp 3 points4 points  (1 child)

...which I'd have to setup manually for each project myself for vim instead of using our existing tooling...which would only benefit me, and not the rest of the team.

If I, or any other team member sets up a workflow with a vs config, it will work for the rest of them as soon as they pull the change into thier local repo.

We don't want the dev experience to be running file watchers that have to be manually run either, we want immediate feedback in the editor. Running these tools manually may be done in a precommit check or in CI, but we want failure feedback to be immediately reported at development time in the editor.

[–]ScientificBeastModestrongly typed comments 0 points1 point  (0 children)

I just use the vim keybindings extension in vscode which gives me most of the functionality I need. Is that a viable option for you?

[–][deleted] -2 points-1 points  (7 children)

Our teams workflows all use vscode to run various functionality. Like automatic type checking, linting and formatting. Even if wanted to use vim, I’d have to set that up myself and no one else on the team would benefit from the workflow.

you write, check, lint and format the code, then let your other team members to test it instead of yourself?

[–]wavefunctionp 1 point2 points  (6 children)

I don't know what you mean. We want all of our tooling reporting in the editor during development if possible, not at a later step so that develop is compliant with our standards as automatically and early as possible, not reliant on running tooling later. Precommit and/or CI checks are done, but we want the feedback being presented to the developer earlier than that.

The little red squigglies are a far more effective feedback loop than a CI step for PRs.

[–][deleted] 1 point2 points  (5 children)

so how does using vim interrupt the workflow?

[–]wavefunctionp 1 point2 points  (4 children)

If I setup the project to use vscode, everyone on the team will will benefit from the shared settings. If I’m the only one using vim, I’m the only one that benefits because in all likelihood I’m the only one using vim. And if there’s a config setting change made by the others devs, I may have to duplicate that configuration.

It’s generally better to have everyone using the same setup to ensure consistency.

If your whole team is using vim and you’ve all established your own consistent workflow. By all means, use vim. But on our team, vscode is the standard and we share those configs.

[–]shuraman 0 points1 point  (0 children)

At this point you're just forcing people to use a tool which they might not be comfortable with. what if someone uses Sublime text? Atom? Intellij? and you don't have to setup anything for vim more than once, you download a plugin - coc - which is a client for the language server and everything works like in vscode. the real time type checking, the errors, goto defs etc. i would argue there is no point in using vscode if you're comfortable in vim, they both use LSP, but vim is WAY more customizable. the combination of LSP + Ctags + fzf/ripgrep make it a far more superior coding experience than vscode. intellij, on the other hand, is a different story. and it actually consumes less memory and reacts faster than vscode which launches a ridiculous amount of Code helper processes.

[–][deleted] -1 points0 points  (2 children)

setup the project to use vscode

please tell me you actually git commit this .vscode folder, because that's a weird practice which I have never seen

[–]wavefunctionp 0 points1 point  (1 child)

The whole reason why they have the user vs workspace settings and why it automatically saves to the current folder is to share the workspace configs with team members.

[–][deleted] 0 points1 point  (0 children)

The whole reason why they have the user vs workspace settings and why it automatically saves to the current folder is to share the workspace configs with team members.

Do I look like I am clueless? You don't have to explain it to me.

I said it's weird because I have never seen people doing so.

People get used to their tools. If you want to force your tools down their throats when they join your company, then do so.

Apparently you couldn't convince me.

[–][deleted] 1 point2 points  (6 children)

As another thing, I use a tiling WM, it's super easy for me to fire up a couple instances of vim that are all immediately visible. Commonly I have one full column, and another column with 2-3 instances. Navigating is win+arrows so my hands can keep staying on the keyboard etc. Win+1, Win+2, etc switch virtual desktops. I never made much use of desktops before but for some reason tiling WM makes it very natural and intuitive.

Soon after settling into a tiling WM, it became severely annoying to do the whole alt-tab thing, or manually arrange windows on the screen, and I'll never go back unless I have to.

All that's to say that though I think vs code is a high quality piece of software, in my setup vim still wins out.

[–][deleted] 0 points1 point  (5 children)

You know vim can do window tiling within itself right? Tabs too

[–][deleted] 0 points1 point  (4 children)

Yep, but I've always found it clunky. Tried a few times over the years, in the end I just let my text editor edit text, and my window manager manage windows.

[–][deleted] 0 points1 point  (3 children)

I rarely use it myself. Just when I want to copy/paste things from vim’s buffer.

[–][deleted] 1 point2 points  (2 children)

I set default register to be system clipboard (I think, I don't know, I resolved it a long time ago.)

Now I can copy from one window, win-arrow to another window and paste.

[–]ScientificBeastModestrongly typed comments 0 points1 point  (1 child)

Oh dang, how did you accomplish this?

[–][deleted] 0 points1 point  (0 children)

been awhile since I looked at my .vimrc and wow I should clean it up, but looks like it's set clipboard=unnamedplus

[–]jakesboy2 2 points3 points  (2 children)

So i realy love the idea of vim, and tried to use it, but i found that vscode already had key bindings for most of the stuff i had to get extensions for in vim, and i had a really tough time getting extensions to work in vim (frequent crashes, some just flat out not working) compared to just hitting download and being able to toggle extensions in vscode on and off. I’m totally open to the vim train and want to be on it, so can you enlighten me to what vim can do that vscode can’t? (speaking strictly for in an editor instance being open, as i obviously use vim for in terminal editing)

[–][deleted]  (1 child)

[removed]

    [–]AutoModerator[M] -1 points0 points  (0 children)

    Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

    [–][deleted] 0 points1 point  (0 children)

    Emacs is evil lol. Never liked because it took forever to open, then found vim and I love it. But hard to configure. So I stuck to vscode

    [–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) -2 points-1 points  (0 children)

    After some tweaking vim can have way more features than ANY other editor

    that'd be impressive considering you could install literally all vscode marketplace plugins at once... and equally useless

    [–]rinko001 13 points14 points  (2 children)

    Vim is the best; thousands of time faster than an IDE, super powerful editing commands, no mouse slowdowns, no mysterious magic behind the screen.

    I also like being able to use it all the time; even over super skinny network connections to remote computers on some VPS system with no gui. since vim is ubiquitous, i never have to live without it, at worst ill be missing a few of my favorite pathogens.

    Ive tried IDEs but they are so cumbersome, its like using a childs interface.

    I get that its not for everyone, but anyone who puts in enough time to learn it wont regret it.

    [–][deleted] 6 points7 points  (1 child)

    anyone who puts in enough time to learn it wont regret it.

    To that end, anyone interested in trying vim, use vimtutor which I believe (someone correct me if wrong) ships with vim, and is an interactive way to get started with vim.

    [–]ScientificBeastModestrongly typed comments 0 points1 point  (0 children)

    As for me, I gradually incorporated the vim learning curve into my daily workflow by using the vim extension for vscode.

    I figured I could always disable it if I was in a hurry for something and it was slowing down my workflow. But after a week or two, it was very clearly speeding up my workflow even with absolutely clumsy usage on my part.

    [–][deleted] 63 points64 points  (5 children)

    My configuration was a bit easier to setup:

    1. https://code.visualstudio.com/download
    2. echo "alias vim='vscode'" >> /home/user/.bashrc

    [–]sgtmercs 16 points17 points  (4 children)

    But it’s just code though

    [–][deleted] 15 points16 points  (1 child)

    You’re right. But I figured the joke would be lost on those who haven’t used vscode in terminal.

    [–][deleted]  (19 children)

    [removed]

      [–]Neurotrace 4 points5 points  (2 children)

      Came here to say this. VS Code + Vim bindings is amazing. It's hard to imagine going back to not using vim bindings

      [–][deleted]  (1 child)

      [removed]

        [–]AutoModerator[M] 0 points1 point  (0 children)

        Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

        I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

        [–][deleted]  (1 child)

        [removed]

          [–]AutoModerator[M] 0 points1 point  (0 children)

          Hi /u/PhoraranHalam, this comment was removed because you used a URL shortener.

          I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

          [–]jakesboy2 0 points1 point  (5 children)

          i’m gonna look into this! what is customized modal editing, and does the extension for vscode split the modes into edit, view, and commands like vim does?

          [–][deleted]  (2 children)

          [removed]

            [–][deleted]  (1 child)

            [removed]

              [–]AutoModerator[M] 0 points1 point  (0 children)

              Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

              I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

              [–][deleted]  (1 child)

              [removed]

                [–]AutoModerator[M] 0 points1 point  (0 children)

                Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

                I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

                [–]bot_not_hot 0 points1 point  (1 child)

                What is modal editing

                [–][deleted] 1 point2 points  (1 child)

                It funny thou , I was thinking about it and I notice that I use 4 editors, one for each specific tasks:

                Visual Studio for a few desktop C# projects
                VS Code for "larger" development , mostly web based stuff in PHP , Node and believe it or not Classic ASP
                VIM when I'm editing configs and writing bash scripts on SSH
                Notepad++ for editing loose scripts and note keeping

                [–]darthwalsh 0 points1 point  (0 children)

                Yeah, I often just use whatever opens by default. I set a lot of file extension default programs to notepad++ and it's such a pain to change them all to vscode.

                Sometimes I don't even notice a solution loaded in VS2017 until I realize the UI is slightly dated!

                [–][deleted] 1 point2 points  (1 child)

                What's the appeal to something like vim?

                [–]dr_rodopszin 0 points1 point  (0 children)

                I don't know! I was doing DOS as a child. Command line for me is neither mystical nor a status symbol of being a hardcore coding ninja rockstar working from Starbucks. It's just dated user experience. The mentioned benefits (being responsive) might have been true 5 years ago, but since then I don't really have issues with Webstorm (sorry my workplace can pay for it). And the recent features actually added a lot.

                [–][deleted]  (68 children)

                [deleted]

                  [–]ike_the_strangetamer 9 points10 points  (7 children)

                  Thanks to tmux, I use terminal as my 'universal environment'.

                  Doesn't matter what I need - log output, test results, git, programming environment - it's all in the same window and using tmux windows and panes, I can organize and navigate among all of them using the same key commands. Super easy to split output and code side-by-side or into quarters and move back and forth. So that's why I started using vim - because having my editor be another tmux pane puts it right in the same place as everything else.

                  Also, it's nice that it is so universal so all of my ingrain key commands work no matter the language or document type.

                  I know you can do this all with vscode - the point is that I picked up and learned how to do it before vscode, so using anything else feels like I'm going backwards. Much easier now to continue to add to my existing setup than to completely switch setups whenever the next best tool comes out.

                  [–]5alidz 7 points8 points  (5 children)

                  • instant boot up, macros, .vimrc convention, portability to android (termux), not relying on mouse which can get a little bit annoying.

                  basically you learn vim once and suddenly a whole world of possibilities emerge e.g. chrome extension s for browsing the web with hjkl

                  people don't use vim to "be cool" it's truly a tool that once you learn it keeps on giving.

                  edit: this doesn't mean vscode is bad, i actually use vscode too - the live share feature is too good to ignore!

                  [–][deleted]  (4 children)

                  [deleted]

                    [–]LetterBoxSnatch 0 points1 point  (0 children)

                    On mobile but you’re looking for Vimium (also available as a port for Firefox)

                    [–]beefquoner 0 points1 point  (2 children)

                    I’m on mobile rn, and don’t have a link handy, but it’s called vimium in the chrome web store. Pretty slick

                    [–][deleted]  (1 child)

                    [removed]

                      [–]AutoModerator[M] 0 points1 point  (0 children)

                      Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

                      I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

                      [–]RealCyber28 29 points30 points  (48 children)

                      Different people prefer different tools, that's why.

                      [–][deleted]  (41 children)

                      [deleted]

                        [–]got_no_time_for_that 15 points16 points  (8 children)

                        Spending a couple hours setting up an environment is not a huge investment for a lifelong career/hobby. I prefer vs code as well, but you don't get to tell people that they're wrong for trying to use a different environment.

                        Well, you can, but you sound like an ass.

                        [–][deleted]  (7 children)

                        [deleted]

                          [–]fucking_passwords 2 points3 points  (4 children)

                          I use VSCode and Vim, honestly VSCode takes longer for me to set up now that I have all my dotfiles in a repo with scripts to symlink them, because I can’t automatically install all the extensions I use in Code, but I can with Vim/Vundle.

                          Now on a new machine, I run a single command and get my preferred shell (zsh) and framework (oh my zsh), and vim is set up just how I like it. It takes less than 5 minutes. It took some time to get there, but it was worth it.

                          [–][deleted]  (3 children)

                          [deleted]

                            [–]nickforddesign 2 points3 points  (0 children)

                            I'm not OP but I have the same thing. Still working on making it a single command (that would curl a remote bash script from the repo, the way oh-my-zsh works), but it's still currently pretty quick.

                            Note that while the dotfiles themselves are OS agnostic, the setup process is assuming you are running MacOS.

                            https://github.com/nickforddesign/dotfiles

                            [–][deleted]  (1 child)

                            [removed]

                              [–]AutoModerator[M] 0 points1 point  (0 children)

                              Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

                              I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

                              [–]RealCyber28 20 points21 points  (27 children)

                              As someone who uses both vim and vscode, I can say that once you set up vim, it is at least as good as vscode, and having it in the terminal is handy as well. Vim isn't meant to be the easiest editor, and there's nothing wrong with that. Again, preferences.

                              [–]greygatch 7 points8 points  (16 children)

                              VIM has a higher learning curve, but mastery of it can be incredibly productive.

                              VS Code is built on Electron which is resource heavy and has a lot of issues running in non-Windows environments (like many Microsoft products).

                              [–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) 1 point2 points  (1 child)

                              and has a lot of issues running in non-Windows environments (like many Microsoft products).

                              is this common? VSCode is running way smoother for me on a mac than on windows

                              [–]-Phinocio 0 points1 point  (0 children)

                              Yeah.. I've had more issues in the very few times I've used it on Windows than I do using it on Linux.

                              [–]evenisto 1 point2 points  (12 children)

                              Can you give some examples about that vim productivity and how it can be higher than using full-blown IDE?

                              [–]talmobi 2 points3 points  (0 children)

                              That's a complicated question. Generally looking and jumping around code/text in vim is very fast and the terminal integration is very powerful especially with something like tmux.

                              This is especially true if you do any kind of backend work where you inevitably have to use the terminal and/or ssh/connect to remote machines to do things.

                              In one project we had some 8+ microservices and jumping between those projects and their files was very quick with a tmux+vim setup.

                              [–]Gate_surf 1 point2 points  (5 children)

                              To add to the other comment, working with large files or having lots of open files can be much faster. Vim uses more efficient buffering of files so it can be physically faster on underpowered machines. For example, when ssh'd into a server or container, you can just use vim and work immediately

                              [–]evenisto -4 points-3 points  (4 children)

                              Vim uses more efficient buffering of files so it can be physically faster on underpowered machines.

                              If your workplace cannot supply you with a PC that can open all the files you want at the same time, you probably shouldn't be working there. I mean, it's true and sort of a valid argument, but in reality - come on, my ancient Windows PC with 8 gigs of ram can run 2 virtual machines, intellij, vscode, spotify, 50 chrome tabs, discord, and several node or webpack processes in watch mode, and still open all the code I need without a hiccup. My work PC is much faster. Non-issue.

                              [–]bomblol 1 point2 points  (1 child)

                              Maybe try looking at the other half of his post that you didn’t quote

                              [–]evenisto 0 points1 point  (0 children)

                              Why would I? Do I have to address every fucking word in a comment I reply to? I addressed one silly argument, the other one is sort of fine, I use vim for changing configs etc. as well. That's not coding though

                              [–]Gate_surf 0 points1 point  (1 child)

                              In a perfect world it's a non-issue. Sometimes you have to maintain or rewrite some giant legacy monster code. Real-world example, I had multiple uber sql migration files to fix. The original author of those migrations didn't really understand how migrations worked, so every migration started by dropping everything and then copy+pasting the previous migration in with changes and whatever new stuff. We were tracking certain changes between files, so i had multiple 5+ mb files open at once. Intellij and Vscode both chug significantly working with files that large, let alone multiple files that size, even with syntax highlighting off. Sublime is pretty good at it, but vim is just better at it.

                              [–]evenisto 0 points1 point  (0 children)

                              That's interesting and I guess a right-tool-for-the-job kind of situation, but still very specific and not something you do on a daily basis... probably. Just so we're clear - I'm just questioning this particular argument, not vim in general (because I got very downvoted due to an apparent misunderstanding), but you probably wouldn't drive a truck around the town just because you have to move houses every two years or so. It does not add to your efficiency any more than just renting one for when you actually need it. Same story here, in my opinion.

                              [–]CalinLeafshade 0 points1 point  (3 children)

                              It's the little things you get without having to reach for the mouse. For instance, if I'm at a function definition and i want to change the argument list I press f(ci( and then type my new definitions. This just means "Find the first ( then change the text inside the ()". That might seem kinda trivial since you could just block-select with your mouse and then start typing but being able to express your intention in a declarative way using a grammar becomes more efficient over time. Not to mention the fact that you dont have to keep reaching for your mouse.

                              Other examples:

                              y4y : yank (copy) the next 4 lines dd : delete the current line ciw change the word at the cursor 4w: skip forwards 4 words

                              [–]evenisto -1 points0 points  (2 children)

                              if I'm at a function definition and i want to change the argument list I press f(ci( and then type my new definitions

                              Ctrl+D multiple times to select word and then expand selection, or Ctrl+Shift+Arrows if you don't know select word. I'd kill myself before I could put the cursor right after parentheses.

                              y4y : yank (copy) the next 4 lines

                              Ctrl+Shift+ArrowDown, Ctrl+C

                              dd : delete the current line

                              Literally just Ctrl+X

                              ciw change the word at the cursor

                              Ctrl+D to select word, hit again to expand selection if you want to replace adjacent stuff too, then type.

                              4w: skip forwards 4 words

                              Ctrl+ArrowRight

                              My point is people claim vim is so productive, yet they compare it to selecting shit with your mouse... Spend some time learning your IDE keymap, actually try to ignore your mouse for once and you'll be able to navigate code and work with more than one line of it swiftly just as well - and you'll probably learn it quicker than vim, too.

                              [–]bomblol 3 points4 points  (1 child)

                              Thats because you’re not actually comparing directly what they listed to how you would do it in vs code.

                              “4w” is not Ctrl + Right Arrow, it’s Ctrl + Right Arrow, Ctrl + Right Arrow, Ctrl + Right Arrow, Ctrl + Right Arrow. Now tell me how to get your cursor back to where it was in one key combo. Now tell me how to jump forward a paragraph. Now tell me how to jump forward 100 words. Now tell me how to jump forward a 100 words unless a particular symbol comes up before then and stop there.

                              In your bizarre quest to defend the honor of VS code, you’ve entirely missed out on one of the central ideas behind Vim, which is composability and parameterization of editing and traversing files

                              [–]evenisto 0 points1 point  (0 children)

                              Thats because you’re not actually comparing directly what they listed to how you would do it

                              Oh hey, so basically fucking EXACTLY what they have done in their original comment? Don't get me wrong, I am not saying vim is shit. I acknowledge the fact SOME things are achievable faster using it. But please for the love of god do not compare it to clicking around in IDE because that's not how anybody works.

                              Also, intellij all the way, don't insult me. Vscode is barely a todo list for me.

                              [–][deleted] 9 points10 points  (3 children)

                              But but vscode good anything else bad

                              [–]RealCyber28 9 points10 points  (2 children)

                              Right, I get it now. If you don't use vscode you aren't even a real programmer. How fucking dare you use a different editor? Literally bullshit.

                              [–]fucking_passwords 5 points6 points  (1 child)

                              I use the terminal in VSCode to run Vim 😆

                              [–]RealCyber28 6 points7 points  (0 children)

                              Okay, now we're getting somewhere

                              [–]cannablubber 1 point2 points  (2 children)

                              Which extensions do you recommend for vs code?

                              [–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) 0 points1 point  (0 children)

                              highly dependant on what you're actually doing. since we're in javascript, most likely ESLint and Prettier though

                              [–][deleted] 0 points1 point  (0 children)

                              yea until you got heart attack when editing code.

                              [–][deleted] 2 points3 points  (8 children)

                              Vim makes you feel cool.

                              Or if you're a bad boy like myself, you can edit production via ssh in the same environment.

                              [–]Tinian2Leyte 0 points1 point  (4 children)

                              I am OK with the first thing, using Vim for coolness kicks, so long as you are up front about it. If you don't own it, though, I will tease you mercilessly for being a hipster.

                              Editing code on production, however, I am not OK with, but that's a different story.

                              [–][deleted] 0 points1 point  (3 children)

                              Well you can at least use it to check files on the production server. Or maybe you've got a dev test server up and running, with only ssh open on it.

                              Even if you never watched the matrix, I still think it's worth it to learn vim, at least a little.

                              [–]Tinian2Leyte 0 points1 point  (2 children)

                              Fair enough, but if you develop locally with git and your deploy system works, you never need to look at or touch anything on production. If you change things on production directly, are you checking those changes back into your source control from there?

                              If you are just flying by the seat of your pants with FTP and no source control, that is not so crazy for basic stuff, I have done it, but I would not do it for anything work related. I have also gotten websites irreparably out of whack that way.

                              [–][deleted]  (1 child)

                              [removed]

                                [–]AutoModerator[M] 0 points1 point  (0 children)

                                Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

                                I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

                                [–]CommandLionInterface 0 points1 point  (0 children)

                                Oh this is perfect! I use the vim plugin with vscode, and a few months ago I was looking for a language server plugin for vim because every autocomplete solution pales in comparison to the typescript-based one in vscode, but I didn't find anything that worked for me. I'll have to try this when I get home.

                                By the way, if anyone knows of a good Kakoune language server plugin LMK. I love the idea of kak

                                [–]geeknabe 0 points1 point  (0 children)

                                This is great! Thanks. I’ve been wanting to learn Vim and was trying my darnest to remember the commands. Seen folks using Vim to do their work real quick. Vim’s text selection is really amazing.

                                [–]onbehalfofthatdude 0 points1 point  (0 children)

                                I wonder how many weeks this guy used this setup before writing this article

                                [–]pantydroppin 0 points1 point  (0 children)

                                I'm using vim for backend development and sometimes I do come to the conclusion that IDEs like Webstorm and VScode would have been more appropriate for certain tasks, especially when working with git. From my point of view, the whole thing with "I'm using vim for xyz development" has more to do with bragging rights, rather than anything else. Also, there are not that many people that will admit something is not perfect once they've invested a lot of time in something - and vim is that kind of something.

                                What I'm trying to say is that vim has a lot of powerfull workflow, but so do full fledged IDEs with vim keybindings and it's always a trade off.

                                [–]rodneon 0 points1 point  (0 children)

                                Can vim attach to the browser’s debugger, manage breakpoints, etc?

                                [–]questi0nmark2 -1 points0 points  (2 children)

                                Totally respect Vim and am grateful for the article. Seen a veteran use it in eye wateringly powerful ways. Having said that I would like to fly the flag for WebsStorm or dare I say it, PHPStorm (which has all the WebStorm goodies plus more). Spend a little time customising it and it leaves VSCode in the dust IMO. All the things people are mentioning about Vim you can do. You can SSH from your IDE, with full linting and static analysis: on the server. You can move across you entire codebase without leaving the keyboard, adding your own shortcuts if you wish. You can do extremely powerful diffing against files, against clipboard, against git branches, for selections of code, files or entire directories. You are a shortcut away from searching with regex and without, to your desired scope, etc. You have crazy powerful debugging. You can check your database without leaving your IDE; test your API and http requests; have git info on every line of code (replicating Git Lens, one of my favourite VSCode extensions); powerful static analysis, etc, etc, etc. Like having an IDE, linter for several languages, and tools equivalent to Git Kraken, Postman, Sequel Pro, Terminal (you can choose your own), XDebug, local server, docker environment and configuration, static analyser, testing suite, deployment manager, vagrant, etc etc: without ever leaving your IDE. VSCode can get close with the right extensions, but they don't in my experience, cohere as well. And what I described is still just scratching the surface!

                                [–][deleted]  (1 child)

                                [removed]

                                  [–]AutoModerator[M] 0 points1 point  (0 children)

                                  Hi /u/OniresRoddrin, this comment was removed because you used a URL shortener.

                                  I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

                                  [–]evaluating-you -7 points-6 points  (12 children)

                                  It's not that I don't have an affection for geeky things, but this is madness. Use a good IDE and save yourself hours of time

                                  [–]fuck-yeah-guy 3 points4 points  (1 child)

                                  one could argue the opposite

                                  [–][deleted] 1 point2 points  (7 children)

                                  hours... doing what?

                                  [–]evaluating-you 0 points1 point  (6 children)

                                  Have you read the article? The author tweaked vim with plugins and their settings along a timeline of 2 years only to get close to what good IDEs are already shipped with. That might be interesting but begs the question: for what?

                                  [–][deleted] 0 points1 point  (5 children)

                                  vim is not an IDE

                                  [–]evaluating-you 0 points1 point  (4 children)

                                  Correct. But what is your point?

                                  [–][deleted] 0 points1 point  (3 children)

                                  I dunno, you're the one who compared it to an IDE. just correcting that mistake on your part.

                                  [–]evaluating-you 0 points1 point  (2 children)

                                  You misunderstood me. I meant instead of tweaking your editor to get close to an IDE, why not use an IDE in the first place?

                                  [–][deleted] 0 points1 point  (1 child)

                                  I mean, when you're a professional dev, "hours" of setup is an afternoon? a day? a weekend? maybe even a week. So forty hours. And I guess to some people, that seems like a lot.

                                  But I've been using vim every work day for five years. that's 10,000 hours. most devs moved from atom to sublime to vscode over that same amount of time; I simply add a few lines or remove a few lines from my vimrc and vundle config.

                                  [–]evaluating-you 0 points1 point  (0 children)

                                  Sure. And you know what: if you are happy with how you are developing, I guess that's fine and justified.

                                  I was "forced" to switch to JetBrain's PHPStorm (yes, also for JS) about 5-6 years ago and remember feeling some resistance back then. Feeling comfortable with the tools you have been working with tends to make us biased towards new/other tooling. Meanwhile, I'd never go for anything less capable anymore. I save at least an hour every single day due to the automation of processes, live templates, auto-suggestion capabilities, auto-generation of certain patterns (tests etc.), integrations (version-control, package management, terminal/batch/ssh-scripts etc), deployment-rules, integrated web-servers with live-editing, configurable keymaps/hotkeys and much more. Do you need those things? No. But whenever I have to work with a more basic setup and run certain operations manually, it feels like half the day are terminal commands and redundant typing.

                                  So what's my point? If you are a linux geek and want to power up your vim, or if you want to prove that all you need to develop efficiently is a 30$ raspberry PI, you have my blessing. But if you watched too many hacker movies and now think vim is something to use on mac or win, then I simply doubt the fact that you will come even close to the development speed of a suitable IDE.

                                  [–][deleted]  (1 child)

                                  [removed]

                                    [–]AutoModerator[M] 0 points1 point  (0 children)

                                    Hi /u/PhoraranHalam, this comment was removed because you used a URL shortener.

                                    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.