Releases: macvim-dev/macvim
MacVim r182
Updated to Vim 9.1.1887
This update is still built against macOS 15 Sequoia, and does not contain any specific fixes or improvements for macOS 26 Tahoe. That will come in a future update.
Announcements
Moving macOS 10.13 - 10.15 support to legacy release
Currently, MacVim binary releases are available in two versions: a normal version (macOS 10.13 or above), and a legacy version (macOS 10.9 or above). Starting next release (r183), the normal version will require macOS 11.0 Big Sur (due to Xcode 26 requirements), and macOS 10.13-10.15 users will need to use the legacy version instead. This will mostly be a transparent change, and the updater will automatically update to the right version. The legacy version should be almost identical to said users as they are using older versions of macOS that can’t make use of newer OS features to begin with.
In the future we may remove support for macOS 10.9-10.12 but for now they are still supported.
Features
Better mouse support
- Scroll wheels should feel much better to use in MacVim. A small scroll is now guaranteed to scroll at least one line, and shift-scrolling (horizontal scroll) works correctly now. You can now also turn off macOS's scroll wheel acceleration to scroll a fixed amount of lines in the "Input" settings pane. #1566
- Mouse buttons 4 and 5 can now be bound to
<X1Mouse>and<X2Mouse>in Vim mappings (:h X1Mouse). #1534
New Vim Features
- Diff mode improvements
-
Vim diff can now highlight per-character or per-word differences within a line. Per-character highlighting is now used by default. See
:h 'diffopt'under "inline". v9.1.1243
-
Diff anchors allow for more explicit controls over how and where the diff algorithm aligns text across files (
:h diff-anchors). v9.1.1557
-
- Lots of auto-completion improvements. Some highlights below:
- New option:
autocomplete. Get completion suggestions as you type. See:h ins-autocompletion. v9.1.1590 - Fuzzy matching now uses the fzf algorithm. v9.1.1627
- Popup menu borders can now be styled (
:h 'pumborder'/:h 'completepopup'). v9.1.1835 / v9.1.1856 - Can now specify a custom completion source when using insert-mode completion (
:h 'complete'). v9.1.1301 set completeopt+=nearestwill sort completion items by proximity to the cursor. v9.1.1308- Command-line completion
- New option:
- New vertical tab panel (
:h tabpanel). v9.1.1391 - new bundled optional plugins (use
packaddto enable them):- hlyank (
:h package-hlyank): Briefly highlight region of last yank command
- hlyank (
- new commands:
General
- Sparkle (updater for MacVim) is now updated to 2.8.0. #1605
Security Fixes
- Fixed MacVim erroneously setting the get-task-allow entitlement, which could allow another user-installed application to inspect it (CVE-2025-8597) #1585
Fixes
- Fixed issue where macOS services (available in the "Services" menu) could not insert text when not in visual mode. #1571 #1569
- Fixed issue where guifont did not accept PostScript names with underscores (e.g. "CascadiaMono-Regular_Light"). #1600
- MacVim now uses the standard
v:colornamesvariable for choosing highlight colors. #1568 - Vim syntax now understands MacVim-specific function
showdefinition(). #1601
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.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
MacVim r181.2 (prerelease)
Updated to Vim 9.1.1577
This Vim update comes with further improvements to the diff functionality by supporting diff anchors (:h diff-anchors). There is also now a vertical tab panel (:h tabpanel).
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
MacVim r181.1 (prerelease)
Updated to Vim 9.1.1251
This Vim update contains a new diff highlight mode to allow per-character/word diff from v9.1.1243 (use :set diffopt+=inline:char to enable). Feel free to try it out and use it as a Git diff tool! (git difftool --tool=gvimdiff)
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Support extra side mouse buttons in MacVim (X1 and X2) by @ychin in #1534
- Add better scroll wheel support and option to disable acceleration by @ychin in #1566
- Remove Colors.plist and fix CI by @ychin in #1568
- Fix macOS services no longer able to insert texts in non-Visual modes by @ychin in #1571
Full Changelog: release-181...prerelease-181.1
MacVim r181
Updated to Vim 9.1.1128
This update contains a completely new GUI tabs implementation by @sfsam! It also contains lots of small fixes for window resizing and full screen mode that aims to make using MacVim feel rock solid and stable.
Defaults Change
New settings defaults related to window sizing #1528:
- "Smoothly resizes window" is now on by default. MacVim's window will now resize smoothly instead of snapped to the size of the character grid.
- Vim's
guioptionsnow haskset by default (:h go-k). This prevents MacVim's window size from changing unnecessarily when showing/hiding tabs or changing font size.
These should align MacVim better with how other apps work and integrate better with OS window management, including macOS 15 Sequoia's window tiling feature.
Features
Tabs
MacVim has a new tabs implementation! The old version (PSMTabBarControl) is not maintained and lacks features such as overflowing tabs and customizable colors. The new tabs will overflow horizontally and are scrollable. They also animate when tabs are closed or moved, respect system settings such as right-to-left locales and high-contrast modes, and are designed to fit within the currently selected Vim colors.
There are a few ways to customize the colors of the new tabs, under the "Appearance" settings pane. MacVim defaults to an "Automatic colors" mode which tries to pick sensible colors automatically based on the current foreground/background colors. However, you can also configure it to simply use the tab colors specified by the Vim color scheme (some color schemes will work better than others depending on their choice of colors). Another new option is "Use tabs background color" which when combined with "Transparent title bar" allows the title bar and tabs to look like a single cohesive whole.
Relevant work:
New Vim features
- new bundled color scheme:
- unokai (vim/vim#16443)
- new bundled optional plugins (use
packaddto enable them):- helptoc: Use
:HelpTocto show an interactive table of contents for Vim help, man pages, Markdown files, and terminal. vim/vim#10446
- helptoc: Use
- new options:
- new functions:
- Vim tutor has a new interactive plugin (
:h :Tutor) (v9.1.0836). There is also now a chapter 2 (vim/vim#5729).
Misc New Settings
- "Open untitled window" (General) has a new option to only open on MacVim re-activation. #1509
- "Show document icon at title bar" (Appearance). Previously MacVim implicitly hid the document icon when using transparent title bar. This is now customizable. #1510
General
-
The MacVim dmg installer has a new design. Courtesy of @jasonlong. #1540 #1545
-
Legacy builds (macOS 10.9 - 10.12) are no longer built by GitHub hosted runners, due to GitHub's deprecation of old runners. They are now built by a custom self-hosted VM instead. In the future we hope to set up reproducible builds (#1506) so it will not matter who's building the app as it would be verifiable. #1559
-
"Nightly" build: We now build a dmg installer for every commit. This allows for trying out the latest developmental version of MacVim, but note that the app will not be signed / notarized, and it will not be as polished as official release/pre-release builds. See wiki for instructions. #1532
Fixes
Apple "Intelligence" Writing Tools
macOS 15 Sequoia's Apple "Intelligence" Writing Tools should work correctly with MacVim now. To use it, select some text, right click to show menu, and then select the "Writing Tools" sub-menu. As part of this fix, the integration with the "Services" menu now works more reliably as well. You can select texts in blockwise visual mode and select a service and MacVim will try to place the new texts back to the blockwise selection if possible. #1552
Window resizing and full screen
- Flicker begone: Changing font size, showing/hiding tabs or scroll bars, or entering non-native full screen should no longer cause MacVim to flicker. Previously there could be a momentary but distracting/annoying stale image that flashes briefly. #1547 #1549
- Fixed issue where resizing MacVim window would occasionally cause Vim to be stuck in a stale wrong size. #1518
- Non-native full screen now supports
blurradiusoption. #1546 - Fixed window size not always restoring correctly when exiting full screen. Non-native full screen also works more reliably in multi-monitor setup. #1525
- Fixed non-native full screen mode when using an external monitor with a MacBook with a notch, and having the "Show menu bar in non-native mode" option set. Previously MacVim would sometimes miscalculate the menu bar height in the second screen. #1548
- Fixed misc issues with non-native full screen's interaction with
fuoptionsand also thetransparencysetting, and rare crash. #1521
Other Fixes
- Fixed issue where changing font size (using Cmd =/-) with guifont set to "-monospace-" would result in guifont being changed to a confusing name like ".AppleSystemUIFontMonospaced-Regular". #1544
- "MacVim Website" menu item now goes to the updated URL. #1524
- What's New page now allows changing font size (using Cmd =/-), and showing table of contents. #1561 #1562
- Dark mode documentation is now a bit clearer on
v:os_appearance. #1511 - Using dictionary look up on selected texts (by right clicking and then selecting "Look Up" in the pop-up menu) is now more resilient as it uses Vim's native
getregion()to determine the selected texts. #1508
Scripting
- Scripting languages versions:
- Ruby is now built against 3.4, up from 3.3.
- Perl is now built against 5.34, up from 5.30.
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.34
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.4
MacVim r180.2 (prerelease)
Updated to Vim 9.1.1050
Note: This update contains a completely new GUI tabs implementation. If you have GUI tabs disabled with set go-=e I recommend giving the new tabs a try!
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Tabs by @sfsam in #1120
- Make GUI tabs track Vim tabs in updates and animate correctly by @ychin in #1535
- Tabs: Expose option to show scroll tab buttons, fix tab scroll behavior, fix memory leaks, cache images and other cleanups by @ychin in #1536
- MMTabline: Localize button strings by @ychin in #1537
- MMTabline: Add right-to-left (RTL) locale support by @ychin in #1538
- MMTabline: Add Vim colorscheme / window use tab fill color support by @ychin in #1539
Full Changelog: prerelease-180.1...prerelease-180.2
MacVim r180.1 (prerelease)
Updated to Vim 9.1.1000
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- Use getregion() for showing definition of selected texts by @ychin in #1508
- Expose setting to only open untitled window only on reactivation by @ychin in #1509
- Add setting for whether to show document icon at title bar by @ychin in #1510
- Dark mode improve docs for v:os_appearance and add tests by @ychin in #1511
- Add support for macos-15 for CI by @ychin in #1514
- Fix non-native fullscreen quit to black screen bug by @ychin in #1516
- Fix resizing MacVim window occasionally result in a stale wrong Vim size by @ychin in #1518
- Fix non-native full screen misc crash, background color, and transparency issues by @ychin in #1521
- Fix menu item "MacVim Website" to go to correct URL by @ychin in #1524
- Fix full screen window restore / multi-screen / misc issues by @ychin in #1525
- New defaults: Smoothly resize window, guioptions+=k by @ychin in #1528
New Contributors
Full Changelog: release-180...prerelease-180.1
MacVim r180
Updated to Vim 9.1.0727
This update mostly syncs to new upstream Vim version, along with small fixes.
Features
New Vim features
- Vim now supports the XDG Base Directory Specification. You can now put your vimrc and plugins in
~/.config/vimintsead of~/.vim/~/.vimrc. See:h xdg-base-dir. v9.1.0327 - Auto completion
- New options:
- New functions:
- New bundled optional plugins (use
packaddto enable them):- comment: toggle code comments on/off. vim/vim#14634
- nohlsearch: simple package to automatically set
nohlsearch. vim/vim#15042
- Highlighting for diff files are back to normal. v9.1.0016
- Vim9 script improvements.
- Miscellaneous smoothscroll, termdebug, security fixes.
- Other platforms (these don't affect MacVim and included for reference only):
Misc
- When resizing MacVim, the title bar's message looks a little nicer now. #1488 by @sfsam
- Copyright disclaimer in About MacVim no longer shows a year. #1497
General
- Sparkle (updater for MacVim) is now updated to 2.6.4. For legacy builds it's now updated to 1.27.3. #1494
Fixes
- Fixed dragging tabs to reorder them resulting in a crash. #1499
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.3
MacVim r179.1 (prerelease)
Updated to Vim 9.1.0695
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
MacVim r179
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.
New Vim features
- Command-line tab completion improvements and bug fixes (see
:h cmdline-completionand: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
:Mannow works properly whengdefaultis 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
:hardcopyunder 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
MacVim r178.1 (prerelease)
Updated to Vim 9.0.2043
This is a pre-release version of MacVim. To use the latest stable release, see https://github.com/macvim-dev/macvim/releases/latest
What's Changed
What's Changed
- CI: Update to Xcode 15 / macOS 13 in GitHub runner by @ychin in #1434
- Add cmdline completion for MacVim options: 'fuoptions', 'guifont(wide)' by @ychin in #1436
- Fix tabs drawing over rest of MacVim in macOS 14 Sonoma by @ychin in #1440
- Add option to only scroll in one direction when using trackpad by @ychin in #1442
- Use -O3 and link-time-optimization for published builds by @ychin in #1444
- Sparkle 2.5.1 by @ychin in #1446
- Fix macOS 14 Sonoma non-native full screen background color by @ychin in #1448
- Allow showing pre-release in What's New page by @ychin in #1447
- Fix non-native full screen show menu with notch, and changing resolution by @ychin in #1450
Full Changelog: release-178...prerelease-178.1

