Updated to Vim 9.2.0321
Vim 9.2 was released in February 2026! See announcement. This update syncs up to Vim 9.2, which also contains important security fixes.
This release note does not come with the normal “New Vim Features” section. The next MacVim release will cover both releases to highlight new Vim features.
There were numerous security fixes in Vim itself between the last release (9.1.1887) and 9.2.0321. Below are some some high severity ones that were fixed in the latest release:
Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
Updated to Vim 9.1.1887
This update is still built against macOS 15 Sequoia, and does not contain any specific fixes or improvements for macOS 26 Tahoe. That will come in a future update.
Currently, MacVim binary releases are available in two versions: a normal version (macOS 10.13 or above), and a legacy version (macOS 10.9 or above). Starting next release (r183), the normal version will require macOS 11.0 Big Sur (due to Xcode 26 requirements), and macOS 10.13-10.15 users will need to use the legacy version instead. This will mostly be a transparent change, and the updater will automatically update to the right version. The legacy version should be almost identical to said users as they are using older versions of macOS that can’t make use of newer OS features to begin with.
In the future we may remove support for macOS 10.9-10.12 but for now they are still supported.
<X1Mouse> and <X2Mouse> in Vim mappings (:h X1Mouse). #1534Vim diff can now highlight per-character or per-word differences within a line. Per-character highlighting is now used by default. See :h 'diffopt' under “inline”. v9.1.1243
Diff anchors allow for more explicit controls over how and where the diff algorithm aligns text across files (:h diff-anchors). v9.1.1557
autocomplete. Get completion suggestions as you type. See :h ins-autocompletion. v9.1.1590:h 'pumborder' / :h 'completepopup'). v9.1.1835 / v9.1.1856:h 'complete'). v9.1.1301set completeopt+=nearest will sort completion items by proximity to the cursor. v9.1.1308:h tabpanel). v9.1.1391packadd to enable them):
:h package-hlyank): Briefly highlight region of last yank commandv:colornames variable for choosing highlight colors. #1568showdefinition(). #1601Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
Updated to Vim 9.1.1128
This update contains a completely new GUI tabs implementation by @sfsam! It also contains lots of small fixes for window resizing and full screen mode that aims to make using MacVim feel rock solid and stable.
New settings defaults related to window sizing #1528:
guioptions now has k set by default (:h go-k). This prevents MacVim’s window size from changing unnecessarily when showing/hiding tabs or changing font size.These should align MacVim better with how other apps work and integrate better with OS window management, including macOS 15 Sequoia’s window tiling feature.
MacVim has a new tabs implementation! The old version (PSMTabBarControl) is not maintained and lacks features such as overflowing tabs and customizable colors. The new tabs will overflow horizontally and are scrollable. They also animate when tabs are closed or moved, respect system settings such as right-to-left locales and high-contrast modes, and are designed to fit within the currently selected Vim colors.
There are a few ways to customize the colors of the new tabs, under the “Appearance” settings pane. MacVim defaults to an “Automatic colors” mode which tries to pick sensible colors automatically based on the current foreground/background colors. However, you can also configure it to simply use the tab colors specified by the Vim color scheme (some color schemes will work better than others depending on their choice of colors). Another new option is “Use tabs background color” which when combined with “Transparent title bar” allows the title bar and tabs to look like a single cohesive whole.
Relevant work:
packadd to enable them):
:HelpToc to show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. vim/vim#10446:h :Tutor) (v9.1.0836). There is also now a chapter 2 (vim/vim#5729).The MacVim dmg installer has a new design. Courtesy of @jasonlong. #1540 #1545
Legacy builds (macOS 10.9 - 10.12) are no longer built by GitHub hosted runners, due to GitHub’s deprecation of old runners. They are now built by a custom self-hosted VM instead. In the future we hope to set up reproducible builds (#1506) so it will not matter who’s building the app as it would be verifiable. #1559
“Nightly” build: We now build a dmg installer for every commit. This allows for trying out the latest developmental version of MacVim, but note that the app will not be signed / notarized, and it will not be as polished as official release/pre-release builds. See wiki for instructions. #1532
macOS 15 Sequoia’s Apple “Intelligence” Writing Tools should work correctly with MacVim now. To use it, select some text, right click to show menu, and then select the “Writing Tools” sub-menu. As part of this fix, the integration with the “Services” menu now works more reliably as well. You can select texts in blockwise visual mode and select a service and MacVim will try to place the new texts back to the blockwise selection if possible. #1552
blurradius option. #1546fuoptions and also the transparency setting, and rare crash. #1521v:os_appearance. #1511getregion() to determine the selected texts. #1508Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions:
Updated to Vim 9.1.0727
This update mostly syncs to new upstream Vim version, along with small fixes.
~/.config/vim intsead of ~/.vim / ~/.vimrc. See :h xdg-base-dir. v9.1.0327packadd to enable them):
nohlsearch. vim/vim#15042Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)
Script interfaces have compatibility with these versions: