MacVim r179

Updated to Vim 9.1.0

Happy New Year! See #1472 for a retrospective of 2023 and future roadmap.

Also, Vim 9.1 is now released! See announcement.

Features

System monospace font (SF Mono)

MacVim’s guifont option now supports a new -monospace- value, which instructs it to use the system monospace font, which is SF Mono in recent macOS versions. As mentioned below (New Vim features), you can now use tab-completion to see the available values in cmdline. See :h macvim-guifont for more details on how to use it (including using different font weights). #1463

Note: I’m contemplating changing the MacVim default value for guifont to be -monospace- in the future so MacVim will always use the native monospace font instead of being hard-coded to Menlo. This makes it more consistent with Apple Terminal and Xcode. Feel free to leave a comment on #1277 if you have opinions on this.

Menlo (default) vs SF Mono

New Vim features

Misc

New settings:

Clean mode (#1453):

General

Fixes

Compatibility

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

Script interfaces have compatibility with these versions:

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.

Features

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

Fixes

Known issues

Scripting

Compatibility

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

Announcements

Website

The official website for MacVim is now https://macvim.org. Previously it just forwarded to https://macvim-dev.github.io/macvim/ (#1385).

You can also now read the MacVim documentation at https://macvim.org/docs/gui_mac.txt.html. See #1382 for announcement.

Features

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

General

Fixes

Scripting

Compatibility

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).

Features

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.

General

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.

Fixes

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

Misc

New settings:

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

Known Issues

Printing

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

Scripting

Compatibility

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

Script interfaces have compatibility with these versions:


Latest release notes >