15

I have been using Vim since 4 years. I am looking forward to contribute to the open source project vim. I would like a few tips on where to start and whom to contact to contribute to Vim. Help from people who have already contributed to Vim would help a lot :). Thanks in advance.

PS - I am not even sure whether i can post this here but finally decided to post it here as this would be the place with the most Vim enthusiasts to talk with.

  • 1
    What kind of contribution do you have in mind? – lcd047 Jul 13 '15 at 5:25
  • I just want to support the development team as of now. Bug fixes, doing something out of their TODO list and i don't know what can a beginner like me is assigned to do. – b1tchacked Jul 13 '15 at 5:27
  • 3
    There is a vim_dev group where you can post patches. Beware however that Vim is a mature project, I don't think they're looking for beginner contributions at this point. As a result, there are patches that have been floating around for a few years without being merged. – lcd047 Jul 13 '15 at 7:07
  • 3
    Alternatively, check out the neovim project: github.com/neovim/neovim – PhilippFrank Jul 13 '15 at 10:13
  • 1
    Yes, they are considered, not all make sense or are viable due to changed code, but basically neovim aims to keep up. See github.com/neovim/neovim/commits/master for the commits, the latest one just now is the inclusion of a vim patch. – PhilippFrank Jul 13 '15 at 10:51
16

It's a bit old school

As lcd047 pointed out, there is the vim_dev Google Group where you can submit patches. At present, Vim is under version control in a Mercurial repository. You can submit patches by opening a new topic in that group and attaching your patch file (a text file with the diff output). The Vim source is in the process of moving to GitHub, but I don't think it's quite there yet.

The nature of contributing

While many open-source projects, including Vim, have a to-do list, it's not likely that you will be assigned anything just by volunteering your services. Most open-source contributions are impromptu: you identify a bug fix or improvement, implement it, and submit it for review, then the maintainer can choose to merge it in.

I have a very simple contribution in the Vim source. I noticed that the i( text object didn't behave nicely when the contents of the parentheses were on their own lines. In contrast, the analogous i{ text object behaved appropriately in similar situations. I submitted my patch and it was actually merged in swiftly. Of course, this was a very small change; more significant patches tend to be subject to longer review.

My advice

Don't enter into the game with the plan to contribute to Vim. Good ideas don't normally come from trying to think of good ideas. They come when you're trying to do something else. Keep using Vim and an idea may present itself. Then put in the effort to implement it and submit a patch.

  • Thanks for a Complete answer and I am definitely not in the game to contribute to add something new but to keep Vim stable and fluid like it always has been. – b1tchacked Jul 13 '15 at 17:15
  • I've recently seen Vim project's source code in Github. So, has it been completely moved ? – Durga Swaroop Aug 1 '16 at 5:15
  • From what I can tell, it has fully moved over to GitHub. – tommcdo Aug 2 '16 at 12:28
4

In the past I could upload a patch to the issue tracker of the Google Code repository for vim which was accepted after some months or send a mail and hope to get some feedback. Google Code is no more, but since 24 August 2015 vim's development happens on a Github project (including source code and issue tracking).

More instructions for contributing can be found in the CONTRIBUTING.md file. Do note that this Github project is an unusual one. If you propose a PR, the change might be taken and squashed with other commits (examples: PR and commit, another larger PR and commit). The commit messages follow a very specific format and you have to look very hard to find the origin and discussion of patches.

Links:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.