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.
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.
:h cmdline-completion
and :h complete-set-option
)
set jumpoptions=stack
. Ported from Neovim. v9.0.1921getmousepos()
returns a new “coladd” for tab characters. v9.0.2032:Man
now works properly when gdefault
is set. vim/vim#13097:h vim-script-library
.New settings:
Clean mode (#1453):
:h macvim-settings
.:hardcopy
under macOS 14. NOTE: Starting from macOS 14, you have to install ps2pdf
(available from Ghostscript) yourself before you can print. See #1464<Down>
. #1455Requires 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.0.1897
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.
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.
packadd editorconfig
to activate it. See vim/vim#12902.g<End>
now goes to the first non-blank char. v9.0.1753xxd
is now bundled with MacVim like most other Vim distributions, and MacVim.app now provides man page for the CLI vim commands if the user wants to associate man pages with the mvim
comamnd (see :h macvim-PATH
). #1430serverlist()
on exit. #1427:Man
command doesn’t work properly if gdefault
option is set. vim/vim#13097.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.0.1677
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.
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
cryptmethod
: xchacha20v2
, which is designed to be more forward compatible with future Vim versions than xchacha20
. (v9.0.1481)switchbuf
works for more commands. (v9.0.1546)strutf16len
and utf16idx
) (v9.0.1485):hardcopy
or File→Print) should
work again. #1390Requires 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.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).
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
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
The default tool bar also has updated icons to look similar to SF Symbols used by newer macOS versions. #1214 by @sfsam
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
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”.
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 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.
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.
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
Fixed a crash when opening new tabs that seems to only occur in macOS 13 Ventura. #1333
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:emenu
crash when the menu is associated with an action in a non-valid mode. #1305New settings:
“About MacVim” now reports the version number in a clearer way with clearly specified release number vs Vim version.
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: