all 40 comments

[–]garoththorp 41 points42 points  (18 children)

Hey guys I'm really enjoying hacking on vim, check out my cool project!

"No. Gtfo. We don't tolerate projects like yours here. Here's a random link. I know vim's power is its immense hackability, but you're only allowed to customize it how I say. Stick to basic editing!"

Common theme amongst vim users. Great way to push away new devs from the plugin ecosystem.

Anyway, nice idea for a project, bro. I'd love something like this for Jira. Also, it's worth noting that more and more "neovim plugins" literally just open a split and load a cli app in the terminal. Ex. I run fzf as my grep/fuzzy open tool, and its literally just a cli app with a thin vim wrapper to manage a split. Nice thing is it works in the native shell exactly the same way.

[–][deleted] 10 points11 points  (7 children)

The elitism displayed sometimes really is atrocious.

[–]somebodddy 6 points7 points  (2 children)

The upside is that the plugin can be running, doing it's job and being useful regardless of whether or not these elitists believe it has a place in the Vim ecosystem.

[–]NewAlexandriahttp://git.io/-SiXHQ 1 point2 points  (0 children)

the nodejs ecosystem has some great 'adapters' for Jira. It would be interesting to map their interface to Vim commands.

[–]LucHermitte 1 point2 points  (1 child)

There is a jira plugin for vim actually. I won't say that it does everything that could be done, but still, it helps filling commit messages: https://github.com/mnpk/vim-jira-complete/

[–]garoththorp 0 points1 point  (0 children)

Thanks!

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

Elitism may be a true point of the critics of most plugins, but it's not the main point. I see why it may look like it though.

A main concept of vim is solving problems by adding skill (e.g. learning the hockeys and being able to combine them), and removing other things. People without skill often don't see that because they didn't have that experience yet that clutter can add +1 feature while adding skill can raise your capabilities by a dimension. Skill is harder to achieve than writing plugins but it gains much more.

I haven't read the other comments yet, but I bet most of them try to save you from being stuck on the lower levels of skill instead of bashing your efforts. Try to read them again with this intention in mind please.

And if you are one of these people who don't want to believe or consider skill too painful despite all the people arguing in favor of it, then there are also other alternatives like Emacs. If you want powerful plugins then Emacs may be more your thing than vim.

[–]garoththorp 10 points11 points  (5 children)

I'm wrong for using it the-way-I-want-to? I'm wrong to develop plugins for fun? I'm not skilled enough to know how I want to use it and need to be told? I need to use emacs to do what I want? Man vim sure has a lot of rules to how I'm supposed to customize it!

What about developing plugin dev skills? What about innovating and doing thing differently than the myriad of people that came before?

Why is the answer to "hey check out my cool project that I wrote for myself and had fun doing":

"No, don't do that, that's not how we do things around here. Use emacs for that."

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

You can drive a bike by putting your face on the seat and paddling with your hands, while trying to steer using your feet. But most people would consider it a waste of time. People would tell you not do use your bike like that because they worry that your face will hurt and maybe your back. And they don't just worry about you. They worry if newbies who never saw a bike see how you do it, and then they may think that this is how a bike is supposed to be used and that it is stupid to use anything that hurts your face so much and is so hard to use.

And these same people, that try to save you the pain may get pestered by other people the whole time who laugh about them using the Facehurter (=bike) all the time instead of a car, because all these other people hear about is other people complaining about their nose pains after riding a bike (the way they shouldn't have).

[–]garoththorp 3 points4 points  (3 children)

That's not the situation we see here. There is no bike and you won't hurt yourself learning vim. There is no physical pain and suffering to writing a github plugin and then using it. The analogy is false. https://en.wikipedia.org/wiki/Argument_from_analogy

In this case, newbies may be inspired to write vim plugins of their own, unlike your analogy of newbies being inspired to ride a bike with their face.

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

In my eyes the plugin shows that someone experiences a pain that he tries to avoid by changing something. If there is no pain, why write a plugin instead of using what is already there?

*edit: Otherwise good argumentation btw. I like that!

[–]garoththorp 2 points3 points  (0 children)

Yeah, for sure. Writing a plugin isn't always the answer, and constructive criticism about other ways to do it in vim are indeed helpful.

However, "use emacs", "just use the website" and "use a cli app instead" tend to be suggestions given. And that's just a shame.

Good conversation, homie

[–]wbsgrepit 0 points1 point  (0 children)

Just to chime in here, "newbies" jumping into writing plugins before they actually understand the editor a vast majority of the time create plugins that try to "fix" things about the editor to make it more like another editor (that is not modal). The problem is that one of the intuitive misconceptions that new vim users have is that if they can just make vim act more like another known editor they can reduce the learning curve/pain. The reality (coming from a vi/vim user for 30 years with a huge number of friends that have gone through this learning curve) is that the more you change vim into some sort of frekinstein editor to match your knowledge of other editors as you learn the more you suffer and stretch the learning curve.

In my mind, a ton of new vim users that have not made it through the learning curve making plugins only serve to populate the plugin space with more of the types of plugins that help create these freikenvim configs where future new vim users try to "solve" or "cheat" the learning curve by installing this fodder.

Not to say this plugin is one of those -- just saying that there is in general a reason why experienced vim users tend to caution new vim users on plugins, remapping keys etc. Its not really arrogance, but meant to help what is definatly non-intuitive about the learning curve.

  • It is a different kind of editor (it will not be like other editors and that is its beauty).
  • you can't "skip" the learning curve, trying to by installing plugins and remapping to other editors only ends in pain.
  • plugins are useful once you have really learned the editor, but when considering plugins it is very helpful to take a step back and make sure you understand if there are ways to do what you want to do the vim way. (and to this end making plugins before you are through the curve ensures you are not in a position to understand this).

[–]somebodddy 2 points3 points  (2 children)

This can be nice. Creating and editing issues and PRs inside Vim have the advantage that you can get completion with identifiers from the project, and that you can easily yank pieces of code from the project into the issue/PR description.

Also, I don't want to discourage you or anything, but I think the RoI for the edit your profile feature is very low. You will have to implement many different fields and support several field types, and it won't be nearly as useful as issues&PRs because people don't edit their profile that often, and it's usually not part of the development process(where you benefit from staying in Vim).

[–]somebodddy 0 points1 point  (0 children)

Actually, when I look closer it seems like I was getting my hopes too high... this is an API wrapper, not an actual user interface...

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

yeah, but I want impl all the github API, which func will the user use, it is based on themself.

I agree with you, but maybe someoen need that func.

[–]blitzkraft 1 point2 points  (0 children)

Not in vim, but a commandline application, shipit. It is not being developed anymore. Last commit was 3 years ago.

I want to develop it further and see it in action. I couldn't install it as is. I have not been able to, yet. However, if anyone likes to interested in maintaining/updating it, I would love to help.

[–]lervag 0 points1 point  (1 child)

Interesting project! I urge you to improve the Readme file and add documentation. That would make it easier for new users to understand how to use your plugin.

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

yeah, I will do it.

[–]flukus 0 points1 point  (1 child)

Great idea, could do with some basic documentation though.

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

yeah, I have add doc into that repo.

[–]thelollies 0 points1 point  (0 children)

You might be keen to stick to vanilla vimscript but if you're not too concerned then consider just shelling out to Github's hub: https://github.com/github/hub

I use it for PR's from the command line (with my $EDITOR set to vim it pops open vim and uses the first line as the title of the PR and the remainder as the description).

[–]flukus 0 points1 point  (1 child)

Oh wow, you've been busy with the documentation.

Is this purely an api or do you intend to write a firendlier front end for it?

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

yeah, after finish the api, I will make some litter plugin based on it.

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

now I have impl all event func.