MacVim r178

Updated to Vim 9.0.1897

Special Notes

As some of you may have read, Bram Moolenaar, the creator and maintainer of Vim, has passed away recently. He has worked tirelessly on Vim for more than 30 years and this release is dedicated to him. If you would like, you could pay your respects at this discussion thread.

The Vim project has transitioned to new maintainers, and MacVim will continue to be supported as long as Vim is around.


More flexible Python integration

MacVim now allows you to use Python runtime (via pythonthreedll, used for Python plugins) of any version at or above 3.9. Previously you had to use the exact same version that was used to build MacVim (Python 3.11). The Python detection logic is also updated to always just find the latest version of Homebrew Python instead of a fixed one, and it will also now locate the default macOS / Xcode Python provided by the Xcode Command Line Tools if that is the only Python available. This should hopefully make configuring Python for MacVim a lot more seamless. See :h python3-stable-abi. Vim v9.0.1776 / #1428.

New Vim features

Security Fixes


Known issues



Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)

Script interfaces have compatibility with these versions:

MacVim r177

Updated to Vim 9.0.1677



The official website for MacVim is now Previously it just forwarded to You can also now read the MacVim documentation at #1385


Updater / What’s New page

There is now a “What’s New” page that will automatically be shown whenever MacVim detected that it has been updated to a new version (can be disabled in Settings). The page will also include all the release notes if you have updated across multiple versions. This feature is useful for users who turned on “Automatically install updates” or installs MacVim through other methods like Homebrew but would still like to see the release notes when a new version comes out. You can also access it through the Help menu. #1414

MacVim should now report its version in a much more consistent manner in the “About MacVim” page and when the updater reports there is a new version. It should look something like “r176 (Vim 9.0.1276)” where “r176” is the MacVim release number and the 9.0.1276 is the bundled Vim version. #1293 #1393

Sparkle (updater for MacVim) is now updated to 2.4.2. #1416

New Vim features





Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)

Script interfaces have compatibility with these versions:

MacVim r176

Updated to Vim 9.0.1276

This is the first release in 2023! It took a little longer than I hoped to push this out, but it contains a decent amount of new features and bug / crash fixes, MacVim is now split into a normal binary for macOS 10.13+ and a “legacy” binary for macOS 10.9-10.12. You can also opt-in to a pre-release update channel for getting beta software faster in the future.

Note: r175 had a bug where tabs could crash MacVim, and was skipped in favor of this release (r176), which contains the fix (#1361).


Dictionary lookup

You can now use Force Touch or Cmd-Ctrl-D to look up definitions of word under the cursor (or selected text in visual mode). This will also preview URLs, and support data types such as phone numbers and addresses. #1312 #1313

This feature can also be invoked programmatically from VimScript (see :h macvim-lookup). #1315

definition-url-sponsor-macvim definition-siri-knowledge-ice-cream

Tool bar / Touch Bar / menu icons

You can now use SF Symbols for Tool bar and Touch Bar icons, including using different symbol styles such as “palette” or “multicolor”. Menu items can now also use the icon= syntax to specify icons as well. See :help macvim-toolbar-icon for details. #1329

macvim toolbar icon

The default tool bar also has updated icons to look similar to SF Symbols used by newer macOS versions. #1214 by @sfsam

Window management actions

There are new macaction’s for managing the MacVim window. The new zoomLeft/zoomRight actions allow you to pin the window to the left/right of the screen, and there are also new actions for interacting with Stage Manager (requires macOS 13+). See :h macvim-actions for details. #1330

Pre-release updates / Sparkle 2

MacVim now supports pre-release software builds. It’s sometimes hard for us to release frequent updates due to the desire to pick a stable upstream Vim version, needing to test the release on multiple OS versions, making sure there aren’t half-complete or buggy features, and other reasons.

This new feature now allows us to push pre-release beta builds out in a more frequent fashion, which could be useful if there are particular features or fixes that you would like to try out before the next official release. Pre-release builds will be released depending on bug fixes and features instead of a fixed cadence. Do note that these pre-release builds may not be as well-validated and may have half-baked features.

If you are using the built-in auto-updater to update MacVim, you can turn this on by going to Advanced settings pane, and enable “Enable pre-release software updates”.

pre-release setting

This feature is only available for macOS 10.13 or above.

The auto-updater has also been updated from Sparkle 1.27.1 to 2.3.0 for 10.13+ builds. Legacy (10.9-10.12) builds are still using Sparkle 1.

See #1332.

New Vim features

New smoothscroll option allows you to scroll through a long wrapped line (using Ctrl-E or mouse wheel) without immediately jumping to the next line. (v9.0.0640)

splitscroll option has been renamed splitkeep, with more flexibility than before. (v9.0.0647)

Sound playback on macOS is now supported. You can use has('sound') to check. See help sound for details. (v9.0.0694)

Terminals now support :confirm for :q, etc, which also means MacVim’s Cmd-W will work properly for terminal windows. (v9.0.0710)

Virtual text had numerous bugs fixed.


Legacy build for 10.9 - 10.12

Per a previous announcement (#1271), the default MacVim binary will now require macOS 10.13 or above. Users of macOS 10.9 - 10.12 can use a separate “legacy” build which will still be supported. The legacy binary will still have the latest versions of Vim and be supported, but may not have all the latest features (e.g. pre-release builds).

If you are using the auto-updater (Sparkle) to update MacVim, it should “just work” and find the best version for you. If you are downloading MacVim from the website, there is also a link to download the legacy version marked for 10.9+ as well. If you download the normal binary marked for 10.13+ from the website, it won’t work on these older macOS versions.

See #1331.


CoreText Renderer clipping and rendering bugs

Unicode characters with multiple composing characters (e.g. “x⃗”) will now render correctly. #1172

Texts (e.g. Tibetan, Zalgo texts) that are taller than the line height will no longer be clipped inappropriately. You can use a new setting MMRendererClipToRow to re-enable clipping if the tall texts are distracting. #995 / #1356

Tab crash

Fixed a crash when opening new tabs that seems to only occur in macOS 13 Ventura. #1333

Other bugs


New settings:

“About MacVim” now reports the version number in a clearer way with clearly specified release number vs Vim version.

Known Issues


Printing using File→Print or :hardcopy is currently not working under macOS 13 Ventura due to its removal of PostScript support in the Preview app. This will be fixed in a later release. See the issue for workarounds. #1347



Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a separate legacy build)

Script interfaces have compatibility with these versions:

MacVim r174

Updated to Vim 9.0.472.



MacVim now allows you to sponsor the team! Any amount would be appreciated and it is of course optional. See the announcement (#1271) for more details.

Supporting old versions of macOS (10.12 or below)

Currently, macOS supports macOS 10.9 or above. However, this is getting harder to do so as time goes on (e.g. the latest Xcode doesn’t support building for it). In the near future, MacVim will mostly target 10.13 (High Sierra) or above, with 10.9 - 10.12 as legacy support. Visit this discussion (#1288) if you would be affected and would like to know more.


Resizing MacVim new options

You can now smoothly drag and resize MacVim without having it constrained to fixed multiples of the text size, by setting the “Smoothly resizes window” under General preference pane. This also allows MacVim to behave better when used with third-party tools (e.g. BetterSnapTool) to snap it to one side of the screen. #1276

The command line can now be pinned to the bottom of the window with a setting (under Appearance preference pane). This makes it look better aligned when using smooth resizing, or in other situations where the window size is not a direct multiples of Vim’s text size (e.g. full screen or guioption+=k). #1280

Both features in action:

New supported text styles

Vim highlight groups strikethrough, underdouble, underdotted, underdashed are now supported. #1287

MacVim new text styles

New Vim features

Virtual text allows you to place custom texts to be displayed inline for diagnostic information and more (e.g. build errors, CSS color preview). See :help virtual-text for more information.

The default color schemes (e.g. desert) are now fixed to look correct again.

Misc options and commands:



Sparkle (updater for MacVim) is now updated to 1.27.1 (#1284), and we no longer use DSA keys for signing updates (#1285) as we are using EdDSA already.



Requires macOS 10.9 or above.

Script interfaces have compatibility with these versions:

Latest release notes >