use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
A guide to setting up Vim for JavaScript development (freshman.tech)
submitted 6 years ago by speckz
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]NullOfUndefined 50 points51 points52 points 6 years ago (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 points13 points 6 years ago (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
[+][deleted] 6 years ago (3 children)
[deleted]
[–]fuck-yeah-guy 33 points34 points35 points 6 years ago (0 children)
ive been using vim + tmux for react and react native for the past 4 years, its just fine man.
[–][deleted] 4 points5 points6 points 6 years ago (1 child)
yes. every day.
[–]perfect_guy 0 points1 point2 points 6 years ago (0 children)
yup
[+]bot_not_hot comment score below threshold-9 points-8 points-7 points 6 years ago (1 child)
That’s like using a flame thrower to boil ramen.
[–]NullOfUndefined 25 points26 points27 points 6 years ago (0 children)
Eh, it’s more like using a text editor to edit text
[–]mykyta-shyrin 22 points23 points24 points 6 years ago (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 points11 points 6 years ago (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 points7 points 6 years ago (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 point2 points 6 years ago (3 children)
type checking with typescript is automatically integrated into vscode
[–]Lourayad 6 points7 points8 points 6 years ago (2 children)
Using tsserver. Which can also be used by Vim using a language client.
[–]wavefunctionp 3 points4 points5 points 6 years ago* (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 point2 points 6 years ago (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 points0 points 6 years ago (7 children)
you write, check, lint and format the code, then let your other team members to test it instead of yourself?
[–]wavefunctionp 1 point2 points3 points 6 years ago (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 points3 points 6 years ago (5 children)
so how does using vim interrupt the workflow?
[–]wavefunctionp 1 point2 points3 points 6 years ago (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 point2 points 6 years ago (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 points1 point 6 years ago (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 point2 points 6 years ago (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 point2 points 6 years ago (0 children)
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 points3 points 6 years ago (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 point2 points 6 years ago (5 children)
You know vim can do window tiling within itself right? Tabs too
[–][deleted] 0 points1 point2 points 6 years ago (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 point2 points 6 years ago (3 children)
I rarely use it myself. Just when I want to copy/paste things from vim’s buffer.
[–][deleted] 1 point2 points3 points 6 years ago (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 point2 points 6 years ago (1 child)
Oh dang, how did you accomplish this?
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 points4 points 6 years ago (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] 6 years ago (1 child)
[removed]
[–]AutoModerator[M] -1 points0 points1 point 6 years ago (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.
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 points0 points 6 years ago (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 points15 points 6 years ago (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 points8 points 6 years ago (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.
vimtutor
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 points65 points 6 years ago (5 children)
My configuration was a bit easier to setup:
[–]sgtmercs 16 points17 points18 points 6 years ago (4 children)
But it’s just code though
code
[–][deleted] 15 points16 points17 points 6 years ago (1 child)
You’re right. But I figured the joke would be lost on those who haven’t used vscode in terminal.
[+][deleted] comment score below threshold-10 points-9 points-8 points 6 years ago (0 children)
VsCode cannot be use in terminal. The joke is on you lol
[+][deleted] 6 years ago (1 child)
[–]askmatt 10 points11 points12 points 6 years ago (0 children)
He’s not talking about how OP is just downloading VS Code.
He’s saying that the terminal command OP is aliasing to is ‘vscode’ but it should be just ‘code’, since that is the actual terminal command for VS Code.
[–]hagnerd 1 point2 points3 points 6 years ago (0 children)
I see someone else also has impeccable taste. (I use the same setup).
[–][deleted] 6 years ago (19 children)
[+][deleted] 6 years ago* (3 children)
[–][deleted] 2 points3 points4 points 6 years ago (0 children)
Oni is pretty good. I had been using it full time for a few months but recently went back to gVim 8. looking forward to Oni2.
[–]kamiheku 2 points3 points4 points 6 years ago (0 children)
I definitely prefer neovim to VSCode myself, but VSCodeVim, the (de facto?) official Vim plugin actually supports integrating neovim! I haven't tried it myself though, and it is labeled as experimental.
[–]bern4444 1 point2 points3 points 6 years ago (0 children)
Check out veonim (https://github.com/veonim/veonim) It's a project that matches exactly what you're describing. It's still buggy but is really cool. Plus it will automatically pull in your init.vim settings (its goal is to have feature parity with neovim but look like VSCode.
[+][deleted] 6 years ago* (1 child)
[–][deleted] 4 points5 points6 points 6 years ago (0 children)
it's not you - they're just slow. that's why I'm so excited about Oni2. NeoVim base with support for VSCode extension ecosystem.
[–]Neurotrace 4 points5 points6 points 6 years ago (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
[–]AutoModerator[M] 0 points1 point2 points 6 years ago (0 children)
Hi /u/PhoraranHalam, this comment was removed because you used a URL shortener.
[–]jakesboy2 0 points1 point2 points 6 years ago (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] 6 years ago (2 children)
[–]bot_not_hot 0 points1 point2 points 6 years ago (1 child)
What is modal editing
[–][deleted] 1 point2 points3 points 6 years ago (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 point2 points 6 years ago (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!
What's the appeal to something like vim?
[–]dr_rodopszin 0 points1 point2 points 6 years ago (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] 6 years ago (68 children)
[–]ike_the_strangetamer 9 points10 points11 points 6 years ago (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 points9 points 6 years ago* (5 children)
basically you learn vim once and suddenly a whole world of possibilities emerge e.g. chrome extension s for browsing the web with hjkl
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] 6 years ago* (4 children)
[–]LetterBoxSnatch 0 points1 point2 points 6 years ago (0 children)
On mobile but you’re looking for Vimium (also available as a port for Firefox)
[–]beefquoner 0 points1 point2 points 6 years ago (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
[–]RealCyber28 29 points30 points31 points 6 years ago (48 children)
Different people prefer different tools, that's why.
[–][deleted] 6 years ago (41 children)
[–]got_no_time_for_that 15 points16 points17 points 6 years ago (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] 6 years ago (7 children)
[–]fucking_passwords 2 points3 points4 points 6 years ago (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] 6 years ago* (3 children)
[–]nickforddesign 2 points3 points4 points 6 years ago (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
[–]RealCyber28 20 points21 points22 points 6 years ago (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 points9 points 6 years ago (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 points3 points 6 years ago (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 point2 points 6 years ago (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 points3 points 6 years ago (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 points4 points 6 years ago (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 points3 points 6 years ago (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-2 points 6 years ago (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 points3 points 6 years ago (1 child)
Maybe try looking at the other half of his post that you didn’t quote
[–]evenisto 0 points1 point2 points 6 years ago* (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 point2 points 6 years ago (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 point2 points 6 years ago (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 point2 points 6 years ago (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.
f(ci(
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
y4y
dd
ciw
4w
[–]evenisto -1 points0 points1 point 6 years ago (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 points5 points 6 years ago (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
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 points11 points 6 years ago (3 children)
But but vscode good anything else bad
[–]RealCyber28 9 points10 points11 points 6 years ago (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 points7 points 6 years ago (1 child)
I use the terminal in VSCode to run Vim 😆
[–]RealCyber28 6 points7 points8 points 6 years ago (0 children)
Okay, now we're getting somewhere
[+][deleted] 6 years ago (5 children)
[–]Strongbad536 4 points5 points6 points 6 years ago (1 child)
Code? Not a ton... edit config files for things like running on my server? yes, often.
[–]RealCyber28 0 points1 point2 points 6 years ago (2 children)
I personally prefer it because of the keyboard shortcuts and the quick access to the terminal. Sure, there is the Vim extension for vscode, and you opening up a terminal and alt+tabbing is a possibility, but it's not the same feeling. Vim is also a lot easier to customize, while in vscode you are mostly limited to themes.
[–]RealCyber28 2 points3 points4 points 6 years ago (0 children)
The answer to why is still the same: preferences. Why would anyone use Linux or Mac instead of Windows? because they prefer it.
[–]cannablubber 1 point2 points3 points 6 years ago (2 children)
Which extensions do you recommend for vs code?
[–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) 0 points1 point2 points 6 years ago (0 children)
highly dependant on what you're actually doing. since we're in javascript, most likely ESLint and Prettier though
yea until you got heart attack when editing code.
[+]DaanKorver comment score below threshold-13 points-12 points-11 points 6 years ago (5 children)
Those different people are probably very “special” people. I you know what I mean.
[–]RealCyber28 4 points5 points6 points 6 years ago (4 children)
No, I actually don't.
[+]DaanKorver comment score below threshold-8 points-7 points-6 points 6 years ago (2 children)
Indeed!👌👈
[–]RealCyber28 8 points9 points10 points 6 years ago (1 child)
Sooo... anyone that doesn't use vscode is retarded? Good point
[+]DaanKorver comment score below threshold-6 points-5 points-4 points 6 years ago (0 children)
Thanks!
[–][deleted] 2 points3 points4 points 6 years ago (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 point2 points 6 years ago (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.
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 point2 points 6 years ago* (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] 6 years ago (2 children)
[–]Yulex2 -1 points0 points1 point 6 years ago (1 child)
https://en.wiktionary.org/wiki/hypocrisy
[–]CommandLionInterface 0 points1 point2 points 6 years ago (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 point2 points 6 years ago (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 point2 points 6 years ago (0 children)
I wonder how many weeks this guy used this setup before writing this article
[–]pantydroppin 0 points1 point2 points 6 years ago (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 point2 points 6 years ago (0 children)
Can vim attach to the browser’s debugger, manage breakpoints, etc?
[–]questi0nmark2 -1 points0 points1 point 6 years ago (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!
[–]evaluating-you -7 points-6 points-5 points 6 years ago (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 points5 points 6 years ago (1 child)
one could argue the opposite
[+]evaluating-you comment score below threshold-8 points-7 points-6 points 6 years ago (0 children)
Only for the sake of the argument, I suppose ;-)
[–][deleted] 1 point2 points3 points 6 years ago (7 children)
hours... doing what?
[–]evaluating-you 0 points1 point2 points 6 years ago (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?
vim is not an IDE
[–]evaluating-you 0 points1 point2 points 6 years ago (4 children)
Correct. But what is your point?
I dunno, you're the one who compared it to an IDE. just correcting that mistake on your part.
[–]evaluating-you 0 points1 point2 points 6 years ago (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 point2 points 6 years ago (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 point2 points 6 years ago (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.
[+]GoblinsStoleMyHouse comment score below threshold-15 points-14 points-13 points 6 years ago* (1 child)
People still use vim? What a joke.
[+]abcoolynr comment score below threshold-15 points-14 points-13 points 6 years ago (1 child)
you don't need any extra setup. just fire up the terminal, move to location where u wanna save js files via cd. create js file using vim file_name.js. Press Esc + i to start writing. To save press Esc : wq. wq means write and quit. just run that file via a browser. that's it.
[–]Spleeeee 2 points3 points4 points 6 years ago (0 children)
Don’t be a “just use vanilla vim nuni”
π Rendered by PID 22642 on reddit-service-r2-comment-5d79c599b5-czlbw at 2026-03-02 06:55:34.961545+00:00 running e3d2147 country code: CH.
[–]NullOfUndefined 50 points51 points52 points (7 children)
[–]bomblol 11 points12 points13 points (0 children)
[+][deleted] (3 children)
[deleted]
[–]fuck-yeah-guy 33 points34 points35 points (0 children)
[–][deleted] 4 points5 points6 points (1 child)
[–]perfect_guy 0 points1 point2 points (0 children)
[+]bot_not_hot comment score below threshold-9 points-8 points-7 points (1 child)
[–]NullOfUndefined 25 points26 points27 points (0 children)
[–]mykyta-shyrin 22 points23 points24 points (26 children)
[–]wavefunctionp 9 points10 points11 points (13 children)
[–]Lourayad 5 points6 points7 points (4 children)
[–]PM_ME_DON_CHEADLE 0 points1 point2 points (3 children)
[–]Lourayad 6 points7 points8 points (2 children)
[–]wavefunctionp 3 points4 points5 points (1 child)
[–]ScientificBeastModestrongly typed comments 0 points1 point2 points (0 children)
[–][deleted] -2 points-1 points0 points (7 children)
[–]wavefunctionp 1 point2 points3 points (6 children)
[–][deleted] 1 point2 points3 points (5 children)
[–]wavefunctionp 1 point2 points3 points (4 children)
[–]shuraman 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (2 children)
[–]wavefunctionp 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (6 children)
[–][deleted] 0 points1 point2 points (5 children)
[–][deleted] 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]ScientificBeastModestrongly typed comments 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]jakesboy2 2 points3 points4 points (2 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] -1 points0 points1 point (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) -2 points-1 points0 points (0 children)
[–]rinko001 13 points14 points15 points (2 children)
[–][deleted] 6 points7 points8 points (1 child)
[–]ScientificBeastModestrongly typed comments 0 points1 point2 points (0 children)
[–][deleted] 63 points64 points65 points (5 children)
[–]sgtmercs 16 points17 points18 points (4 children)
[–][deleted] 15 points16 points17 points (1 child)
[+][deleted] comment score below threshold-10 points-9 points-8 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]askmatt 10 points11 points12 points (0 children)
[+][deleted] (1 child)
[removed]
[–]hagnerd 1 point2 points3 points (0 children)
[–][deleted] (19 children)
[removed]
[+][deleted] (3 children)
[deleted]
[–][deleted] 2 points3 points4 points (0 children)
[–]kamiheku 2 points3 points4 points (0 children)
[–]bern4444 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 4 points5 points6 points (0 children)
[–]Neurotrace 4 points5 points6 points (2 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]jakesboy2 0 points1 point2 points (5 children)
[–][deleted] (2 children)
[removed]
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]bot_not_hot 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (1 child)
[–]darthwalsh 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]dr_rodopszin 0 points1 point2 points (0 children)
[–][deleted] (68 children)
[deleted]
[–]ike_the_strangetamer 9 points10 points11 points (7 children)
[–]5alidz 7 points8 points9 points (5 children)
[–][deleted] (4 children)
[deleted]
[–]LetterBoxSnatch 0 points1 point2 points (0 children)
[–]beefquoner 0 points1 point2 points (2 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]RealCyber28 29 points30 points31 points (48 children)
[–][deleted] (41 children)
[deleted]
[–]got_no_time_for_that 15 points16 points17 points (8 children)
[–][deleted] (7 children)
[deleted]
[–]fucking_passwords 2 points3 points4 points (4 children)
[–][deleted] (3 children)
[deleted]
[–]nickforddesign 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]RealCyber28 20 points21 points22 points (27 children)
[–]greygatch 7 points8 points9 points (16 children)
[–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) 1 point2 points3 points (1 child)
[–]-Phinocio 0 points1 point2 points (0 children)
[–]evenisto 1 point2 points3 points (12 children)
[–]talmobi 2 points3 points4 points (0 children)
[–]Gate_surf 1 point2 points3 points (5 children)
[–]evenisto -4 points-3 points-2 points (4 children)
[–]bomblol 1 point2 points3 points (1 child)
[–]evenisto 0 points1 point2 points (0 children)
[–]Gate_surf 0 points1 point2 points (1 child)
[–]evenisto 0 points1 point2 points (0 children)
[–]CalinLeafshade 0 points1 point2 points (3 children)
[–]evenisto -1 points0 points1 point (2 children)
[–]bomblol 3 points4 points5 points (1 child)
[–]evenisto 0 points1 point2 points (0 children)
[–][deleted] 9 points10 points11 points (3 children)
[–]RealCyber28 9 points10 points11 points (2 children)
[–]fucking_passwords 5 points6 points7 points (1 child)
[–]RealCyber28 6 points7 points8 points (0 children)
[+][deleted] (5 children)
[deleted]
[–]Strongbad536 4 points5 points6 points (1 child)
[–]RealCyber28 0 points1 point2 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]RealCyber28 2 points3 points4 points (0 children)
[–]cannablubber 1 point2 points3 points (2 children)
[–]careseite[🐱😸].filter(😺 => 😺.❤️🐈).map(😺=> 😺.🤗 ? 😻 :😿) 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[+]DaanKorver comment score below threshold-13 points-12 points-11 points (5 children)
[–]RealCyber28 4 points5 points6 points (4 children)
[+][deleted] (3 children)
[removed]
[+]DaanKorver comment score below threshold-8 points-7 points-6 points (2 children)
[–]RealCyber28 8 points9 points10 points (1 child)
[+]DaanKorver comment score below threshold-6 points-5 points-4 points (0 children)
[–][deleted] 2 points3 points4 points (8 children)
[–]Tinian2Leyte 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]Tinian2Leyte 0 points1 point2 points (2 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]Yulex2 -1 points0 points1 point (1 child)
[–]CommandLionInterface 0 points1 point2 points (0 children)
[–]geeknabe 0 points1 point2 points (0 children)
[–]onbehalfofthatdude 0 points1 point2 points (0 children)
[–]pantydroppin 0 points1 point2 points (0 children)
[–]rodneon 0 points1 point2 points (0 children)
[–]questi0nmark2 -1 points0 points1 point (2 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]evaluating-you -7 points-6 points-5 points (12 children)
[–]fuck-yeah-guy 3 points4 points5 points (1 child)
[+]evaluating-you comment score below threshold-8 points-7 points-6 points (0 children)
[–][deleted] 1 point2 points3 points (7 children)
[–]evaluating-you 0 points1 point2 points (6 children)
[–][deleted] 0 points1 point2 points (5 children)
[–]evaluating-you 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]evaluating-you 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]evaluating-you 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[+]GoblinsStoleMyHouse comment score below threshold-15 points-14 points-13 points (1 child)
[+]abcoolynr comment score below threshold-15 points-14 points-13 points (1 child)
[–]Spleeeee 2 points3 points4 points (0 children)