6

Following up my earlier question (How can I install 64-bit Vim on Windows?), I'd like to automate updating Vim. On Linux, I let the package manager and its frontends take care of checking for updates to Vim and notifying me of them (or even automatically installing them). On Windows, this is not so easy.

If I were using Cygwin, I'd probably use Cygwin's package manager in a similar fashion as I do on Linux. Though I am curious how this would be done. Via the Task Scheduler, perhaps?

How do I automate checks for new versions of Vim? Preferably, I'd like to automate updates as well.

  • There could be a builtin function I am not aware of that does this.
  • A custom function called on startup that asynchronously checks the commit feed for new patches, or a download source for new downloads.
  • A scheduled task that does the above outside of Vim.

Note the asynchronous part - I don't want to wait around while Vim uses wget or something to download a page and parse it and so on... I want to get started with whatever I was doing, and be notified whenever the update check process finishes. Consider how Notepad++ notifies you of available updates, without stopping startup for it.

I'd like to see a general method - if parsing HTML is needed (say, for example, looking at a specific download page like https://tuxproject.de/projects/vim/), I can manage that - but how do I accomplish the rest?

  • 3
    You might want to join the discussion here – Christian Brabandt Jan 13 '16 at 7:29
  • More importantly, why would you want to install new patches and introduce new random bugs every couple of days? – romainl Jan 13 '16 at 8:26
  • 1
    @romainl It doesn't have to be every couple of days - a download every month, maybe fortnight. The important bit is that I shouldn't have to go looking for updates manually - it should be served up to me on a platter, if you will. :D I'll live with the odd bug or so being introduced every month (I use Arch Linux as my main Linux distribution). Who knows, maybe I will report a few and get to see them fixed, or fix them myself. – muru Jan 13 '16 at 8:34
  • @ChristianBrabandt that was interesting (if rather long). So, to summarise: a builtin function would appear some time, but it will be blocking. That can perhaps be avoided using whatever github.com/tpope/vim-dispatch does. – muru Jan 13 '16 at 8:35
  • Keeping the runtime files updates is easy; just us git and schedule a git pull every n days. On Windows you can use mklink to symlink C:/Program Files/vim/... to the git repo. – Martin Tournoij Jan 13 '16 at 13:42
4

It seems that chocolatey could be the solution to your problem. It is a package manager for Windows. (With the ambition of being "sort of apt-get for Windows")

If you are ready to use it to install your softwares such as Vim it then provides a choco upgrade <pkg> command to update your package.

Fortunately, Vim is a package included in the list and seems to be updated pretty regularly (see the version history here).

Chocolatey it self is installed by this command in an administrator Windows console:

 @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Then vim can be instlled with

choco install vim

and updated with

choco upgrade vim

That is probably not as good as a good old apt-get but that could be an option.

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.