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](https://private-user-images.githubusercontent.com/1217449/294083499-56e4a7b7-9f9d-4cfa-9e6a-bb4baffc6d30.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3Nzc4MTMsIm5iZiI6MTcyNDc3NzUxMywicGF0aCI6Ii8xMjE3NDQ5LzI5NDA4MzQ5OS01NmU0YTdiNy05ZjlkLTRjZmEtOWU2YS1iYjRiYWZmYzZkMzAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjdUMTY1MTUzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YmU3N2RiMGM2NzBhZGNmM2M5MjZkNGIxN2FjMTViMTRjNzUxNDY1ZjIxMGFjYzE3ZjdhYjcxNTVmMzFhZTRlYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.mG5ay8mnE3o92zJQPFGn8IpZ4T9evbQqvfHVDryhoLo)
New Vim features
- Command-line tab completion improvements and bug fixes (see
:h cmdline-completion
and:h complete-set-option
) - New options:
set jumpoptions=stack
. Ported from Neovim. v9.0.1921
- API changes
getmousepos()
returns a new "coladd" for tab characters. v9.0.2032
:Man
now works properly whengdefault
is set. vim/vim#13097- A new small Vim script library that may expand in the future. See
:h vim-script-library
. - Vim9 script improvements.
- Miscellaneous security fixes.
Misc
New settings:
- "Scroll in one direction only" (Input). Prevents accidental horizontal scrolling when scrolling vertically using a trackpad. #1442
Clean mode (#1453):
- Vim can be opened in clean mode (does not use .vimrc or plugins) via the new menu item "New Clean Window". The new menu isn't localized in most languages. Please comment on the issue if you would like to help in localization.
- MacVim can be launched without loading user defaults for a clean experience via a command-line flag. See
:h macvim-settings
.
General
- Sparkle (updater for MacVim) is now updated to 2.5.2. The updater can now show multiple release notes when updating MacVim across multiple versions. #1446 #1469
- Binary release is now built with more optimized compiler settings. Vim will now run slightly faster than before. #1444
- macOS 14 Sonoma:
- Binary release is now built using the macOS 14 SDK (#1434, #1440, #1448). One small change is that very tall characters (e.g. "นี้") on the first line will now draw into the title bar instead of being clipped.
- Fixed printing with
:hardcopy
under macOS 14. NOTE: Starting from macOS 14, you have to installps2pdf
(available from Ghostscript) yourself before you can print. See #1464
- Python 2 support: The default location for locating the Python 2 lib in the binary release is now under /Library/Frameworks rather than /usr/local. Note: Python 2 has long been obsolete. If you rely on Python 2 plugins, consider this a warning as it's only supported as long as it's feasible and could be removed in the future. #1434
Fixes
- Fixed non-native full screen mode when using a MacBook with a notch and having the "Show menu bar in non-native mode" option set. Changing the screen resolution while using non-native full screen also works properly now. #1450
- Fixed Help menu's documentation search not working with tags with special characters like
<Down>
. #1455
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.9 or above
- Ruby 3.2