You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just a general issue for improving the defaults for what I consider to be what constitutes a modern GUI text editor. Changing defaults is always contentious, and therefore should require a bit of thoughts behind them. None of the proposed defaults below change any features and they would just require either a vimrc change or changing them in the user settings. Just listing them below to keep track of and to gather feedbacks:
I'm here because the release notes asked for feedback. Maybe it makes sense to have one comment per bullet point, so that people can thumbs-up and thums-down each item?
No real opinion on smooth resizing (I have it on; having it on is probably a nicer default)
No strong opinion on k
No opinion on macligatures either. I don't use a font with coding ligatures, so it won't affect me. People who do use fonts with ligatures would probably prefer if those just worked, so it makes sense to me from a distance.
Disagree on MMShareFindPboard being NO. A shared find pasteboard across apps is a macOS thing, and integrating MacVim with that seems like a good thing to do by default
Depends on how good the overlay scroll bar impl is, but if it's good then that sounds good (as long as it honors the OS-wide pref for this)
Maybe it makes sense to have one comment per bullet point, so that people can thumbs-up and thums-down each item?
That's not a bad idea. I'll do that. I wish there's a better way to do this in GitHub.
No opinion on macligatures either. I don't use a font with coding ligatures, so it won't affect me. People who do use fonts with ligatures would probably prefer if those just worked, so it makes sense to me from a distance.
Yes that's the main reason for turning it on. The main reason it's not on right now is that the renderer is less efficient when ligatures is on, so I'll be investigating this only after hardware-accelerated renderer is implemented and see if the improved renderer can make sure to have good default and worst case performance before switching defaults over. E.g. some terminals like iTerm2 don't even support hardware accelerated ligatures.
Disagree on MMShareFindPboard being NO. A shared find pasteboard across apps is a macOS thing, and integrating MacVim with that seems like a good thing to do by default
I think my annoyance with this is that a lot of search commands I do in Vim are oddball regex that don't translate to other programs, but maybe I never really bought in to this part of the Mac philosophy (sharing find pboard everywhere). But it's good to hear a dissenting view here. I should at least expose it as a graphical user-visible setting. (FWIW Cmd-E/Cmd-G in MacVim are hard-coded to use the system shared find pasteboard no matter what, and it ignores MMShareFindPboard)
Reacted by Brom Bresenham, Iam iAGorynT, Joseph Ryan, Aristotle Pagaltzis, Gabriele Renzi, David Cairns, caseyandgina, Jon Cameron, John Platte, Wilfred Spiegelenburg and 5 more
Agreed that the regex searches we often use aren't useful to other apps - but they could be in the future.
Unless it being on by default is a pain point for people, we should just stick to the Mac paradigm. I've been a MacVim user for ~15 years and I never noticed that behavior, so it's prolly not bothering most people.
I think your suggestion of leaving it on (YES) but exposing it as a GUI setting sounds great.
Reacted by Yee Cheng Chin, Aristotle Pagaltzis and caseyandgina
Can you please briefly explain what set guioption+=k and MMShareFindPboard would do?
Also, I downvoted ligatures because I assume that would mean that things like => would be rendered automatically as a ligature, and I think that would be jarring to me and others editing code as I've never experienced that behavior in the editors that I've used over the years (granted, most of those have been terminal-based, so it's more due to lack of ligatures in terminals, but I think I would find it annoying enough to search for a way to disable it).
This would make the window not change size when you add a new tab, scroll bar, and toolbar. Without this setting, adding/removing those will try to resize the GUI window to preserve same number of lines, which could be jarring for the user and unlike how most other text editors work. Setting the option makes it work more like in full-screen, where it will change the number of lines to preserve the GUI window size so the window stays stable.
MMShareFindPboard
This defaults to "YES" right now. It makes it so that all the search you do (e.g. using /) will be shared to macOS's find pasteboard. Then means you can search for something in Vim, then do Cmd-G in another app (e.g. Safari) and it will just work. The primary reason I don't like this is that a lot of times Vim searches are complicated regex patterns that may not make sense in other text editors. But from other people's reactions I'm easing on that.
Also, I downvoted ligatures because I assume that would mean that things like => would be rendered automatically as a ligature, and I think that would be jarring to me and others editing code as I've never experienced that behavior in the editors that I've used over the years (granted, most of those have been terminal-based, so it's more due to lack of ligatures in terminals, but I think I would find it annoying enough to search for a way to disable it).
=> will only be turned into a ligature if your font supports it, which I would guess your font does not. I actually don't know if there's any font ligature at all in the default monospace fonts provided by Apple. Usually people have to install custom fonts like Fira Code in order to get ligatures. Ultimately your font dictates what ligatures you will get, and usually when people use a font that supports ligatures that is because they want ligatures, but maybe that's not always true.
But it's a fair point that a renderer isn't obligated to support ligatures, and the default should probably be more minimal, as people who care about ligatures can just turn it on.
set macligatures by default — yes, please, it will be awesome.
I strongly agree to set MMShareFindPboard to NO or at least make it configurable on vimrc level if possible (even with a required restart). I have it on my systems by default and probably I'll make this setting default for all apps globally anyway.
set guifont=-monospace- it makes sense as default as it's presented in a terminal emulator anyway. I have Fira Code in my configuration file.
Smooth resize! Long anticipated feature and yes, I'd love to have it default.
Activity
MacVim r179
nico commentedon Jan 5, 2024
I'm here because the release notes asked for feedback. Maybe it makes sense to have one comment per bullet point, so that people can thumbs-up and thums-down each item?
kmacligatureseither. I don't use a font with coding ligatures, so it won't affect me. People who do use fonts with ligatures would probably prefer if those just worked, so it makes sense to me from a distance.MMShareFindPboardbeing NO. A shared find pasteboard across apps is a macOS thing, and integrating MacVim with that seems like a good thing to do by default-monospace-by default!ychin commentedon Jan 5, 2024
That's not a bad idea. I'll do that. I wish there's a better way to do this in GitHub.
Yes that's the main reason for turning it on. The main reason it's not on right now is that the renderer is less efficient when ligatures is on, so I'll be investigating this only after hardware-accelerated renderer is implemented and see if the improved renderer can make sure to have good default and worst case performance before switching defaults over. E.g. some terminals like iTerm2 don't even support hardware accelerated ligatures.
I think my annoyance with this is that a lot of search commands I do in Vim are oddball regex that don't translate to other programs, but maybe I never really bought in to this part of the Mac philosophy (sharing find pboard everywhere). But it's good to hear a dissenting view here. I should at least expose it as a graphical user-visible setting. (FWIW Cmd-E/Cmd-G in MacVim are hard-coded to use the system shared find pasteboard no matter what, and it ignores
MMShareFindPboard)ychin commentedon Jan 5, 2024
New default:
ychin commentedon Jan 5, 2024
New default:
set guioption+=kychin commentedon Jan 5, 2024
New default:
set macligaturesychin commentedon Jan 5, 2024
New default:
MMShareFindPboardshould be NO.ychin commentedon Jan 5, 2024
New default:
ychin commentedon Jan 5, 2024
New default:
set guifont=-monospace-brombres commentedon Jan 5, 2024
bikermikem commentedon Jan 8, 2024
set guifont=-monospace-
Yes. Please.
caseyandgina commentedon Jan 9, 2024
Can you please briefly explain what
set guioption+=kandMMShareFindPboardwould do?Also, I downvoted ligatures because I assume that would mean that things like
=>would be rendered automatically as a ligature, and I think that would be jarring to me and others editing code as I've never experienced that behavior in the editors that I've used over the years (granted, most of those have been terminal-based, so it's more due to lack of ligatures in terminals, but I think I would find it annoying enough to search for a way to disable it).ychin commentedon Jan 9, 2024
This would make the window not change size when you add a new tab, scroll bar, and toolbar. Without this setting, adding/removing those will try to resize the GUI window to preserve same number of lines, which could be jarring for the user and unlike how most other text editors work. Setting the option makes it work more like in full-screen, where it will change the number of lines to preserve the GUI window size so the window stays stable.
This defaults to "YES" right now. It makes it so that all the search you do (e.g. using
/) will be shared to macOS's find pasteboard. Then means you can search for something in Vim, then do Cmd-G in another app (e.g. Safari) and it will just work. The primary reason I don't like this is that a lot of times Vim searches are complicated regex patterns that may not make sense in other text editors. But from other people's reactions I'm easing on that.=>will only be turned into a ligature if your font supports it, which I would guess your font does not. I actually don't know if there's any font ligature at all in the default monospace fonts provided by Apple. Usually people have to install custom fonts like Fira Code in order to get ligatures. Ultimately your font dictates what ligatures you will get, and usually when people use a font that supports ligatures that is because they want ligatures, but maybe that's not always true.But it's a fair point that a renderer isn't obligated to support ligatures, and the default should probably be more minimal, as people who care about ligatures can just turn it on.
caseyandgina commentedon Jan 10, 2024
Thanks! Given that, I upvoted both of those.
New defaults: Smoothly resize window, guioptions+=k
New defaults: Smoothly resize window, guioptions+=k
eirnym commentedon Feb 3, 2025
My personal thoughts:
set macligaturesby default — yes, please, it will be awesome.MMShareFindPboardtoNOor at least make it configurable onvimrclevel if possible (even with a required restart). I have it on my systems by default and probably I'll make this setting default for all apps globally anyway.set guifont=-monospace-it makes sense as default as it's presented in a terminal emulator anyway. I haveFira Codein my configuration file.