Join the Chocolatey Team on our regular monthly stream where we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Livestream from
Thursday, 06 October 2022

We recently released our largest update to Chocolatey Central Management so far. Join Gary and Steph to find out more about Chocolatey Central Management and the new features and fixes we've added to this release.

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Livestream from
Thursday, 03 November 2022

Join Paul and Gary for this months Chocolatey product livestream where we look at the latest release of Chocolatey 1.2.0, Chocolatey Licensed Extension 5.0.0 and shine a spotlight on the new hook scripts functionality. This opens up so many possibilities for Chocolatey CLI users!

Livestream from
Tuesday, 29 November 2022

Join Josh as he adds the ability to manage Chocolatey GUI config and features with the Chocolatey Ansible Collection.

Webinar from
Tuesday, 13 December 2022

Join Gary, Paul, and Maurice as they introduce and demonstrate how to use Chocolatey! Questions will be answered live in an Ask Me Anything format.

#### Vim

• 1
• 2
• 3

8.2.3070 | Updated: 28 Jun 2021

2,073,437

1,359

Maintainer(s):

Software Author(s):

• Bram Moolenaar
• Vim Community
• 1
• 2
• 3

### Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed

Validation Testing Passed

Verification Testing Passed

Details

Scan Testing Resulted in Flagged as a Note:

At least one file within this package has greater than 0 detections, but less than 5

Details

### Deployment Method: Individual Install, Upgrade, & Uninstall

To install Vim, run the following command from the command line or from PowerShell:

>

To upgrade Vim, run the following command from the command line or from PowerShell:

>

To uninstall Vim, run the following command from the command line or from PowerShell:

>
NOTE

This applies to both open source and commercial editions of Chocolatey.

### 1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)

#### 1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

#### 2. Get the package into your environment

• Open Source or Commercial:
• Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
• You can also just download the package and push it to a repository

choco upgrade vim -y --source="'INTERNAL REPO URL'" --version="'8.2.3070'" [other options]

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade vim -y --source="'INTERNAL REPO URL'" --version="'8.2.3070'"
$exitCode =$LASTEXITCODE

Write-Verbose "Exit code was $exitCode"$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains$exitCode) {
Exit 0
}

Exit $exitCode   - name: Install vim win_chocolatey: name: vim version: '8.2.3070' source: INTERNAL REPO URL state: present   chocolatey_package 'vim' do action :install source 'INTERNAL REPO URL' version '8.2.3070' end   cChocoPackageInstaller vim { Name = "vim" Version = "8.2.3070" Source = "INTERNAL REPO URL" }  Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.  package { 'vim': ensure => '8.2.3070', provider => 'chocolatey', source => 'INTERNAL REPO URL', }  Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey. ### 4. If applicable - Chocolatey configuration/installation See infrastructure management matrix for Chocolatey configuration elements and examples. WARNING There are versions of this package awaiting moderation . See the Version History section below. Package Approved This package was approved as a trusted package on 28 Jun 2021. Description Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. Vim is often called a programmer's editor, and so useful for programming that many consider it an entire IDE. It's not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files. ## Features • Vim: Vim terminal(CLI) application can be used from Powershell and Command Prompt. • GVim: The GUI version of Vim provides full featured Windows GUI application experience. • Terminal Integration: Batch files are created to provide vim, gvim, evim, view, gview, vimdiff, gvimdiff and vimtutor command on terminal use. • Shell Integration: Vim is added in Open with ... context menu. And by default Edit with Vim context menu is created to open files whose extensions are associated with other applications. ## Package parameters • /InstallDir - Override the installation directory. By default, the software is installed in $ChocolateyToolsLocation, it's default value is C:\tools. You can include spaces. See the example below.
• /RestartExplorer - Restart Explorer to unlock GVimExt.dll used for Edit with Vim context menu feature.
• /NoDefaultVimrc - Don't create default _vimrc file.
• /NoContextmenu - Don't create Edit with Vim context menu.
• /NoDesktopShortcuts - Don't create shortcuts on the desktop.

Example: choco install vim --params "'/NoDesktopShortcuts /InstallDir:C:\path\to\your dir'"

## Notes

• This package uses the ZIP build to install to provide installation parameters.
• All compilation of the software is automated and performed on Appveyor. The building status is open.
• This package provides an official build. Similar package vim-tux is from a well-known unofficial vim building project. Unlike vim-tux, this package can take some installation parameters.

From: https://vimhelp.org/uganda.txt.html

I)  There are no restrictions on distributing unmodified copies of Vim except
that they must include this license text.  You can also distribute
unmodified parts of Vim, likewise unrestricted except that they must
include this license text.  You are also allowed to include executables
that you made from the unmodified Vim sources, plus your own usage
examples and Vim scripts.

II) It is allowed to distribute a modified (or extended) version of Vim,
including executables and/or source code, when the following four
conditions are met:
1) This license text must be included unmodified.
2) The modified Vim must be distributed in one of the following five ways:
a) If you make changes to Vim yourself, you must clearly describe in
the distribution how to contact you.  When the maintainer asks you
(in any way) for a copy of the modified Vim you distributed, you
must make your changes, including source code, available to the
maintainer without fee.  The maintainer reserves the right to
include your changes in the official version of Vim.  What the
will be distributed is negotiable.  If there has been no negotiation
then this license, or a later version, also applies to your changes.
The current maintainer is Bram Moolenaar <[email protected]>.  If this
changes it will be announced in appropriate places (most likely
vim.sf.net, www.vim.org and/or comp.editors).  When it is completely
impossible to contact the maintainer, the obligation to send him
your changes ceases.  Once the maintainer has confirmed that he has
b) If you have received a modified Vim that was distributed as
mentioned under a) you are allowed to further distribute it
unmodified, as mentioned at I).  If you make additional changes the
text under a) applies to those changes.
c) Provide all the changes, including source code, with every copy of
the modified Vim you distribute.  This may be done in the form of a
context diff.  You can choose what license to use for new code you
making their own changes to the official version of Vim.
d) When you have a modified Vim which includes changes as mentioned
under c), you can distribute it without the source code for the
changes if the following three conditions are met:
- The license that applies to the changes permits you to distribute
the changes to the Vim maintainer without fee or restriction, and
permits the Vim maintainer to include the changes in the official
version of Vim without fee or restriction.
- You keep the changes for at least three years after last
distributing the corresponding modified Vim.  When the maintainer
or someone who you distributed the modified Vim to asks you (in
any way) for the changes within this period, you must make them
available to him.
- You clearly describe in the distribution how to contact you.  This
contact information must remain valid for at least three years
after last distributing the corresponding modified Vim, or as long
as possible.
e) When the GNU General Public License (GPL) applies to the changes,
you can distribute the modified Vim under the GNU GPL version 2 or
any later version.
3) A message must be added, at least in the output of the ":version"
command and in the intro screen, such that the user of the modified Vim
is able to see that it was modified.  When distributing as mentioned
under 2)e) adding the message is only required for as far as this does
not conflict with the license used for the changes.
4) The contact information as required under 2)a) and 2)d) must not be
removed or changed, except that the person himself can make
corrections.

III) If you distribute a modified version of Vim, you are encouraged to use
the Vim license for your changes and make them available to the
maintainer, including the source code.  The preferred way to do this is
by e-mail or by uploading the files to a server and e-mailing the URL.
If the number of changes is small (e.g., a modified Makefile) e-mailing a
context diff will do.  The e-mail address to be used is
<[email protected]>

IV)  It is not allowed to remove this license from the distribution of the Vim
sources, parts of it or from a modified version.  You may use this

legal\VERIFICATION.txt
VERIFICATION
Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

The embedded software have been downloaded from GitHub and can be verified like this:

2. You can use one of the following methods to obtain the SHA256 checksum:
- Use powershell function 'Get-FileHash'
- Use Chocolatey utility 'checksum.exe'

checksum32: 37C8EE2B8D44FA9F13F44799468340762644BB907315758D2868D9EE06BBB3AE
checksum64: F8DAB339E296FF215D42921D89DF3AA2986921E2ECB40730080FC0B67B9FC64C

tools\chocolateybeforemodify.ps1
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"$installDir = Get-Content "$toolsDir\installDir"$shortversion = '82'
try {
# Is dlls locked?
Remove-Item "$installDir\vim\vim$shortversion\GvimExt32\gvimext.dll", "$installDir\vim\vim$shortversion\GvimExt64\gvimext.dll" -ErrorAction Stop
} catch {
# Restart explorer to unlock dlls
Write-Debug 'Restarting explorer.'
Get-Process explorer | Stop-Process -Force
}

tools\chocolateyinstall.ps1
$ErrorActionPreference = 'Stop';$toolsDir = "$(Split-Path -parent$MyInvocation.MyCommand.Definition)"
$shortversion = '82'$pp = Get-PackageParameters

. $toolsDir\helpers.ps1$installDir = Get-InstallDir

$packageArgs = @{ packageName =$env:ChocolateyPackageName
unzipLocation = $installDir file = "$toolsDir\gvim_8.2.3070_x86.zip"
file64        = "$toolsDir\gvim_8.2.3070_x64.zip" }$installArgs = @{
statement = Get-Statement
exeToRun  = "$installDir\vim\vim$shortversion\install.exe"
}

'$installDir', ($installDir | Out-String), '$packageArgs', ($packageArgs | Out-String), '$installArgs', ($installArgs | Out-String) | ForEach-Object { Write-Debug $_ } Install-ChocolateyZipPackage @packageArgs Start-ChocolateyProcessAsAdmin @installArgs Copy-Item -Path "$installDir\vim\vim$shortversion\vimtutor.bat" -Destination$env:windir
Set-Content -Path "$toolsDir\installDir" -Value$installDir

tools\chocolateyuninstall.ps1
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"$installDir = Get-Content "$toolsDir\installDir"$shortversion = '82'
$statement = '-nsis'$exeToRun  = "$installDir\vim\vim$shortversion\uninstall.exe"
# From vim-tux.install.  Make input.
Set-Content -Path "$env:TEMP\vimuninstallinput" -Value 'y' Start-Process -FilePath$exeToRun -ArgumentList $statement -RedirectStandardInput "$env:TEMP\vimuninstallinput" -Wait -WindowStyle Hidden
Remove-Item "$env:TEMP\vimuninstallinput" Remove-Item "$env:windir\vimtutor.bat"
Remove-Item "$installDir\vim" -Recurse -Force  tools\gvim_8.2.3070_x64.zip md5: 1E85371E5C79E98AE27AEBB23554F5E6 | sha1: 503238FD56E6375142D64BAF5EE367D5BA656DF8 | sha256: F8DAB339E296FF215D42921D89DF3AA2986921E2ECB40730080FC0B67B9FC64C | sha512: 3B3ED466CBBE394A7457172AF87F41F1FEEBA9187E561CC0B219D32DAD29579D389D7EC565B80CBFA2EED891692273DED6FD59DEECA2391EFD500393E2D7139E tools\gvim_8.2.3070_x86.zip md5: E71AE1C8913A860BAE89DD63E26DEBF4 | sha1: 1EF27ACDC42AA8861B704F437BD906262FA26D41 | sha256: 37C8EE2B8D44FA9F13F44799468340762644BB907315758D2868D9EE06BBB3AE | sha512: BFC49713FC035C93CCD5522E6E5868E41D106725BBCF4B87C9DDD9E277DCA6E27142D64B19A54CECE6196B520065F7B23C132A3BBEA4DD5A45492BE3815F53E1 tools\helpers.ps1 function Get-InstallDir() { if ($pp['InstallDir']) {
Write-Debug '/InstallDir found.'
return $pp['InstallDir'] } return Get-ToolsLocation } function Get-Statement() {$options      = '-create-batfiles vim gvim evim view gview vimdiff gvimdiff -install-openwith -add-start-menu'
$createvimrc = '-create-vimrc -vimrc-remap no -vimrc-behave default -vimrc-compat all'$installpopup = '-install-popup'
$installicons = '-install-icons' if ($pp['RestartExplorer'] -eq 'true') {
Write-Debug '/RestartExplorer found.'
Get-Process explorer | Stop-Process -Force
}
if ($pp['NoDefaultVimrc'] -eq 'true') { Write-Debug '/NoDefaultVimrc found.'$createvimrc = ''
}
if ($pp['NoContextmenu'] -eq 'true') { Write-Debug '/NoContextmenu found.'$installpopup = ''
}
if ($pp['NoDesktopShortcuts'] -eq 'true') { Write-Debug '/NoDesktopShortcuts found.'$installicons = ''
}
return $options,$createvimrc, $installpopup,$installicons -join ' '
}
# Replace old ver dir with symlink
{
Get-ChildItem -Path "$installDir\vim" -Exclude "vim$shortversion" -Attributes Directory+!ReparsePoint | ForEach-Object { Remove-Item $_ -Recurse ; New-Item -Path$_ -ItemType Directory }
Get-ChildItem -Path "$installDir\vim" -Exclude "vim$shortversion" -Attributes Directory | ForEach-Object { $_.Name } | ForEach-Object { cmd /c rmdir "$installDir\vim\$_" ; cmd /c mklink /d "$installDir\vim\$_" "$installDir\vim\vim\$shortversion" }
}


In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Vim 9.0.1424 1425 Thursday, March 23, 2023 Approved
Vim 9.0.1423 1899 Wednesday, March 22, 2023 Approved
Vim 9.0.1418 1578 Tuesday, March 21, 2023 Approved
Vim 9.0.1417 1789 Monday, March 20, 2023 Approved
Vim 9.0.1414 1194 Sunday, March 19, 2023 Approved
Vim 9.0.1413 904 Saturday, March 18, 2023 Approved
Vim 9.0.1411 551 Friday, March 17, 2023 Approved
Vim 9.0.1403 5072 Monday, March 13, 2023 Approved
Vim 9.0.1402 1274 Sunday, March 12, 2023 Approved

This package has no dependencies.

Discussion for the Vim Package

### Ground Rules:

• This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
• Tell us what you love about the package or Vim, or tell us what needs improvement.
• Share your experiences with the package, or extra configuration or gotchas that you've found.
• If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.