<< back

MacVim 9.1.0

Improved version of the UNIX editor Vi

Category: Developer Tools
Price: Free
Popularity: Medium
Version String: 9.1.0 (179)
Release Date: 2024-01-04
Architecture: Intel & AppleSilicon(ARM)
Minimum OS: macOS 10.13
Vendor Name: Bram Moolenaar
Homepage: github.com

Version History 9.1.0 (179)

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

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
• 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.
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.
• 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
• 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 . #1455
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

Latest release notes >


What is Vim?
Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. There is also a Graphical User Interface (GUI) available. Still, Vi compatibility is maintained, those who have Vi "in the fingers" will feel at home. See runtime/doc/vi_diff.txt for differences with Vi.

This editor is very useful for editing programs and other plain text files. All commands are given with normal keyboard characters, so those who can type with ten fingers can work very fast. Additionally, function keys can be mapped to commands by the user, and the mouse can be used.

Vim is a highly configurable text editor for efficiently creating and changing any kind of text. It is included as 'vi' with most UNIX systems and with Apple OS X.

Vim is rock stable and is continuously being developed to become even better. Among its features are:
- persistent, multi-level undo tree
- extensive plugin system
- support for hundreds of programming languages and file formats
- powerful search and replace
- integrates with many tools