Skip to content

MacVim r179

Latest
Compare
Choose a tag to compare
@ychin ychin released this 05 Jan 05:54
· 575 commits to master since this release
release-179
73ed6d9

Updated to Vim 9.1.0

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

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

  • Command-line tab completion improvements and bug fixes (see :h cmdline-completion and :h complete-set-option)
    • Most string option values can now be completed. v9.0.1958
    • MacVim options (guifont, fuoptions) also support tab completion. #1436
    • ++opt (e.g. :e ++) and :terminal ++ completion work as well. v9.0.2025
    • listchars
  • 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 when gdefault 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 install ps2pdf (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