Am I missing out on anything by using a VIM plugin in an IDE versus using actual VIM?

Am I missing out on anything by using a VIM plugin in an IDE versus using actual VIM?

I love the actual typing aspects of VIM, but the rest of it, and the idea of using it as a hacked together IDE seems like a waste of time.

Attached: Vimlogo.svg.png (1200x1202, 106K)

Other urls found in this thread:

onivim.io/
twitter.com/SFWRedditVideos

> actual typing aspects of VIM
You mean "look mum I'm using 10dd 5u 4p commands to edit text, I'm so great at technology"?

>IDE
for brainlets only

Missing a good chunk of free ram

I'm an actual developer who's paid to work. I used VIM for a number of years and couldn't stand working with other text editors because VIM keybindings were too good, and they're extensions that implement it weren't very good.

However, I've recently switched to use VS Code which is really a great editor. You might want to look at the properly FOSS version.

VS Code has good enough VIM key bindings. It's of course not quite as good as VIM, and occasionally breaks, but everything else works much better and it's modern and fast.

Unless you're a super l33t VIM user, VS Code with the VIM extension works fine.

Serious question, what are those VScode features what made you leave vim?

I use both. I prefer normal Vim because it's lightweight and super customizable with all the different plugins. But when I actually need an IDE I have no problem using a Vim plugin, as long as it respects the keybindings in my vimrc

serious question with unserious grammar
sorry, I'm really tired today

try debugging a 300,000+ line project with deep object hierarchies without an IDE.

Depends on use case.

Anything serious the ide is better, but for quick throwaway scripts or just editing and parsing text it often easier to use vim

Don't be a retard who tries to turn vim into an ide

They are all incomplete. They'll be either missing marks, block mode, global mode, random commands, regex captures, or some other feature.

nice code pajeet.

I learned how to program in C and x86 ASM when I was a teenager, shortly after installing Linux on my computer. From day one I used Nano which is extremely minimal and runs on any *nix system. I don't use any fancy features like syntax highlighting or auto-completion and I think I'm a much better programmer for it.

Attached: 0010443f9bd713c3d33d7f01facfccadb9127b8932a1200f04f0c0aa607bf98b.jpg (559x364, 54K)

You are missing out the inferior plugin system.

vscode plugin system you mean?

The problem is that people think they need an IDE to program. A text editor, compiler, and a debugger do what an IDE would do with less RAM hogged up by it. I have a decent PC and visual studio would unironically lag when doing basic text editing. Again, it was infrequent, but it was enough that I actually noticed it and it bothered the hell out of me.

I mean vim "plugin "system"".

Everything with so many LOC is bloat and should be deleted and started all over again

you are probably right, but some of us jobs

>your average compiler is now deleted and started over again
>the process repeats every time once it reaches a sufficient level of optimization

There is no any system in vim plugins

exactly

there are exceptions where projects grow to that size legitimately: an iso C++ compiler or the Linux kernel.

Chances that your software falls in that category is near zero. More likely, your code was written by a bunch of java oop niggercattle who tried to 'future proof' everything, and think that lots of objects are a replacement for documentation.

VIM is powerful thanks to modes, but it's lacking because because of its age, small community, and constraints as a CLI program.

Visual Studio Code is fast, powerful, easier to use, and can do everything VIM can but requires (almost) no configuration. Its community is unrivalled for updates, plugins, support, etc... whereas the most popular vim "plugins" have 5 contributors and you often have to make it work yourself.
Best of all, with VSC's native features and vim plugin, you can do everything vim but easier and better.

If you're smart, you use vim.

If you have a job, you use an IDE.

If you're smart and have a job, you use both.

>If you are god tier smart and still cater that form of mental illness, you follow better key schemes like kakoune provides.

>there are exceptions where projects grow to that size legitimately: an iso C++ compiler or the Linux kernel.
both debatable examples

Sure. But they're not filled with AbstractFactoryEnumeratorProviderDelegateFacadeAdaptor

A fair point.

Not really, Vim's power is mostly its keybindings. It's not like VimL is any good.

Emacs is exactly the opposite. It's default keybindings aren't impressive, but the ability to customize it with Emacs Lisp is its real power and you can't get that in any IDE.

so spacemacs masterrace?

you clearly never had a job in your life

Not really. With customizations Vim keys aren't as useful. Vim keys are mostly useful in an non-customizable environment since you can compose commands to do many things. But if you can customize, you can specifically target the things you do regularly and optimize them away entirely. 0 keypresses > 2-4 keypresses

>the idea of using it as a hacked together IDE seems like a waste of time
That's because it is.

>unix is my IDE

Attached: dfc.gif (200x200, 1.16M)

do people use vscode on linux?

I know vimscript and can do anything I want in vim but I know ide's and editors are usually better with having out of the box working plugins and are somewhat scriptable in their own right.

At the end of the day learning vim probably isn't the best use of your time if you're a zoomer but it's nice to know (you probably dont know what youre missing out on if you only ever used an IDE).

Also I think alot of you just want to rationalize paying for an IDE to protect your ego from thoughts of wasting money on some hand holding basedboy software. So often I read people talk about IDE support that is actually a separate service that you can use from vim if you're not an adhd zoomer.

Attached: orang.jpg (800x452, 67K)

>With customizations Vim keys aren't as useful.
they're exactly as useful as they were before.

Deep object hierarchies are a sign of Enterprise® Shit® That® Can't® Be® Debugged® By® Anyone®.

Seriously though, "enterprise quality" with insane object hierarchies should be abolished. Hopefully ya'll enterprise codeboys get paid a good wage for making sure the suits can masturbate to their newest Java® OOP®.

>you probably dont know what youre missing out on if you only ever used an IDE

can you give some examples? hardcore EMACs and VIM guys always say things like this, but I still don't know what they are referring to.

Usefulness is relative. If you got to put in a million nails, a hammer is better than a rock, but a nailgun is better than a hammer.

>some of us jobs
Not any more, that faggot died of cancer

>nano for quick & simple text editing
>Code::Blocks for any "serious" project

Fight me

Attached: 1456129686089.jpg (1280x1540, 318K)

>Code::Blocks for any "serious" project
>Fight me
Self inflicted damage, user.

for the record, I used vim for years without diving much into vimscript. I then got bad rsi and started taking advantage of what vim is capable of.

Literally any series of keystrokes can be put into a function and then bound to a shortcut like comma+a for quick execution. Any repetitive formatting becomes a keystroke. Any repetitive opening a new file, searching for something, copying it, pasting it becomes a keystroke. Dropping into the shell to run a specific command becomes a keystroke.

There is a reason vim is still around. I switched to atom for a short period because I didn't feel like installing and reading docs for golang support. I was happily using it for about 2 months before my wrist got fucked up from using the mouse too much.

Its just comfy and theres no reason you can't use vim and an IDE. People are so silly and tribal.

Vimscript also gets a bad wrap. It has some warts but if you use it for what it was originally intended for then its perfectly sensical and something you can learn in a weekend. If you ever need complex data structures or complicated algorithms you can call python or ruby functions directly from vimscript(this is how most plugins work).

Attached: ana.jpg (1067x1700, 301K)

>this is how most plugins work
literally the worst kind of plugin system

Basically anything more advanced than normal movement and insert commands tends to be missing or broken. I can get by with the plugin, but the the break in focus from not having a semi-common command work sucks.

Macros, command mode, and stuff like that can't be relied on in a plugin.

this

Attached: 1536659301697.gif (849x458, 167K)

Check out Oni: onivim.io/

I thought vim was utterly useless in any situation where you could use an IDE, but it turns out it IS good for at least one thing: working with 50+MB text files

You're right about doing that.
IntelliSense(TM) and even worse as of this year, AutoBestPracticesHints and HowAboutWeRefactorThisLineTips weakens the mind to shit.

"what" is a perfectly valid replacement for "that" AFAIK, just kind of rare.

Using vim is a different way of moving through text. My most common problems when having to use any other text editor:

1. Moving around feels much better. I can move by paragraph with "{" and "}", there are keypresses to go forward/backward a word. Or to go to the next occurence of a certain character in a line. "gg" to go to beggining of file, "G" to go to the end.

2. In vim I can delete a line by pressing "dd", or copy a line by pressing "yy". There is a convenient "D" to delete until end of line. I press "A" or "I" to start writing at the end of beginning of a line.

3. Searching is convenient in vim. I press "/" and input the regex of my search. (there is probably a good way to grep all files in the project, but I haven't got to that. my current workflow is primitive enough, that I didn't have any drive to look into that)

4. Macros are boss, like making an ad-hoc script to edit text. Oftentimes, I would see table that is messy, and clean it up in vim with some simple commands: "next word, delete, next line". With macros, I can do it once and then execute said macro multiple times to clean up the text in a few seconds.

I also just found out that by pressing "(" or ")" it moves back/forth a sentence. Where sentence is delimited by a period or parentheses. Neat!

I'm a fairly new acolyte of vi-way, and that's what I see from my journey. On their own, those things don't seem like much indeed. Yet, when stacked together, it makes for a vastly more comfortable experience. With training, one could edit text at incredible speed, however for me it's all about comfort. Pressing "}" feels much better than holding down the down arrow just to go to next paragraph.

What I don't like, is how it forces me to browse with lines. Most of the time, it's fine(unix stuff generally has lines that are of acceptable length). When I have a file with long lines, it sucks - moving around gets clunky. Most editors let me move by "visual lines" instead of "actual lines".

Seems like its just a bloated neovim GUI frontend with a couple of plugins.

other people mentioned the vim bindings in vscode which are pretty good while you're actually editing text, but navigating around your folders and tabs and shit still requires a lot of un vim-like key commands and that's annoying. switching tabs with gt and stuff still work so there are a few unexpected things that are carried over.

if all you want to do is type and edit with the vim keys then thats probably good for op.

sometimes im working in the vscode integrated terminal and accidentally open something up in nvim out of habit and it still works as i'd expect it to

gj and gk to move up and down visual/wrapped lines

>deep object hierarchies
You fucked up anyway, IDE or not.

I get paid six figures to use an IDE while you vim users are edgy undergrads

>t. NEETs who take scientific research, banking, commerce, and large organizations for granted
each and every single one of you (including those pretending to not) are using google, youtube, and other websites that could not be made without IDEs.

Attached: ln90nOa.png (553x983, 576K)

CLIs are a waste of time and theres a reason why IDEs exist.

I'd say macros. Vim makes it so easy to repeat stuff. This is what misses me the most when I'm writing stuff on someone elses computer and I'm handed notepad or something.
With respect to configuration, I must admit vim is outperformed by emacs.
But I so much took the habit of using vim that I can't into emacs.
Plus I have ruined knuckles so emacs keybindings are annoying as fuck.

Damn, one thing is better in my life.

Is there also a way to scroll the screen by display line? I remapped and to j and k , and hoped to scroll the screen by display instead of real lines. ":help scroll-down" doesn't give me anything useful, sadly.

and you can do all of this with any vim emulator

Should be fine. Ive always found using gcc w/emacs or vim to be way simpler than an ide tho.

>each and every single one of you (including those pretending to not) are using google, youtube, and other websites that could not be made without IDEs.
Whatever makes you sleep at night, kiddo.
You've never worked on a serious project if you unironically believe "deep object hierarchies" are a good idea.

Any one working in any decent backend knows that class hierarchies are to be avoided.
Using interfaces is great. Using hierarchies even on interfaces is not so great. As codebase grows it becomes are to reason about, harder to compleply validade its invariants, can lead to data problems, it's a mess to maintain,nand because you are always hiring it gets slower to make new devs competitive.
Preffer delegation Over inheritance always.
Or just say fuck you OOP and use FP for domain logic. With the popularity rise of microservices and Domain Driven Design. With scalability relying more on throughput than latency. With things like "reactive" and "event driven" , every modern thing FP shines. It's just that people compromise on a FPish language instead if a pure one. I guess that haskell has a really bad ecosystem for enterprise. Even tough it is ten times better fornyour domain logic in this domain driven design stuff.
But i'm glad i'm seeing dotnet companies using F# for their domain/business logic. Let C# take care of integration(data base, io and other external stuff) and write the domain logic in F#. You can wirte the domain rules with that type system which makes it impossible to compile a function that goes afainst the rules. Also expressing tipes is so clean that you can actually show a lot of doamin tupes to a non-dev PO.

how do you do any of these in an IDE without using your mouse to navigate through endless dropdown menus?

jump to the next brace, paragraph, word, space

select text between braces,parentheses,suqare brackets, slashes, spaces

enclose text in braces,brackets,quotes

select all occurrences of word under cursor?

jump to next occurrence of word under cursor

insert abritrary snippets like if/while and braces

split the window in arbitrary ways

select another file

This, VSCode I find is a great middle-ground; when I need to jump to function or variable declarations or definitions in a huge-ass codebase the visual aspect of the IDE comes in handy.

But then I just use the integrated terminal to do all my editing/compiling/debugging with Vim and GDB and stuff. I prefer to use keyboard commands where I can, just feels like better economy of movement than constantly switching to the mouse.

Plus its great to have everything you need in one Window.

why would I fight a first year comp sci student?

This.
Once you actually get paid to program, you're going to have to cope with giant projects, spaghetti code, and intern droppings all over the place. Getting all the help you can is only a start in dealing with that weird bug users keep running into.

Attached: 1452571964658.png (353x387, 106K)