Skip to content

MacVim Release 176

Compare
Choose a tag to compare
@ychin ychin released this 07 Feb 10:44
· 2005 commits to master since this release
release-176
8d7e6a2

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

MacVim release-176 download MacVim release-176 download (10.9-10.12)

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

zoomLeftRight.mp4

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 (#1288), 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

  • Fixed non-native full screen not working well with the notch on newer MacBook's when set to not show menu bar. You can also use MMNonNativeFullScreenSafeAreaBehavior to force MacVim to use the notch area as well if you don't mind some content being obscured. Note that the previous release also claimed it fixed this, but because the binary was built against an old macOS SDK (Big Sur), the fix did not work in the binary release. #1261
  • Allow "Open untitled window: never" and "After last window closes: Quit MacVim" to be set together again. Added safeguards to make sure doing so won't immediately close the app. #1338
  • Edit.Cut / Copy menu items will now be properly disabled when there isn't selected text. #1308
  • Fixed potential :emenu crash when the menu is associated with an action in a non-valid mode. #1305
  • Fixed bug where just bringing up the right-click (or the MacVim→Services) menu would somehow copy the selected texts to the system clipboard. #1300
  • Fixed a Japanese input method bug where using left/right arrow to move to a different section of the input text would previously result in the candidate list not showing up at the correct position. #1312
  • Fix non-CoreText renderer not handling text styles like strikethrough correctly (note: this renderer has been deprecated for a while and you should not use it). #1296
  • This release uses an older sh/bash syntax file because the latest one in Vim has a bug. #1358

Misc

New settings:

  • "No drop shadows" (Appearance). #1301
  • "Treat Ctrl-click as right-click" (Input) (#1326). This was previously configurable via command-line, but now also possible in the settings pane under the new "Input" category.

"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

  • Scripting languages versions:
    • Perl is now built against 5.30, up from 5.18.
    • Ruby is now built against 3.2, up from 3.1.
Compatibility

Compatibility

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

Script interfaces have compatibility with these versions:

  • Lua 5.4
  • Perl 5.30
  • Python2 2.7
  • Python3 3.10
  • Ruby 3.2