Mac advice for a long time Windows user
Started a new job today and got a mac as a dev machine. I won't do technical onboarding until later in the week, so I haven't seen what the dev tools are like, but today I was driving myself crazy just trying to do basic things like copy, paste, screenshot, change windows.
At the last job, we had ubuntu machines, so I was able to use gnome extensions to mostly replicate the same general layout, menus, and shortcut keys as Windows. Primarily, this allowed me to keep the same "muscle memory". Since the ubuntu gnome desktop is nothing special from a UX point of view, there didn't seem to be a downside. But I understand that the Mac experience is very curated, so I'm thinking I should lean into learning it.
So my questions are: what are your mac pro tips and things that speed up your work? And for others who have made this transition, what did you learn to do the "mac way" and what did you tweak?
The old
ctrlis dead! Long livecmd!So macOS is a very interesting operating system. It has caught me hook line and sinker, because I don’t think there is anything else quite like it. A lot of the concepts in it are older than windows itself (for example, try clicking and holding on a menu bar item, moving the mouse to one of the selections, then release the mouse. That was the only way to interact with the menu bar on the original Macintosh from 1984, and still exists to this day). Many people say that macOS is confusing and unintuitive. I disagree. I think the ubiquity of windows and its stupid idiosyncrasies has trained everyone to use windows, and when they try to use macOS, it is intuitive, but doesn’t match the windows paradigm. But windows is so ingrained in the general population that they think windows = intuitive. My recommendation is to be ready to forget what you know about computing and learn a new paradigm.
With all Apple products, it is often best to follow apple’s intended path. macOS is no exception, but macOS is also incredibly customizable, unlike apple’s other operating system. You should learn the intended systems and give them a chance, and be ready to carefully decide what you will customize. For example, I like the dock to be hidden, and I have some defaults write commands that make the dock show up much quicker than default when I mouse to the bottom.
I’ll post some more things as I think of them.
CtrlandCmdto match my muscle memory, but things don't always map one-to-one and it ultimately didn't work as well as I'd hoped. You can try it in case you find it helpful, but personally I recommend just biting the bullet and retraining your hands.Cmd+,is pretty much always the shortcut to open the settings for whatever app you're using. If you want to get really power user-y, you can set custom shortcuts for any app to open any item from the top menu bar (though I haven't used this a ton).Cmd+Space) is basically the equivalent to the Start menu's search bar, except less bad. I've found some of the extra features in Raycast (third-party replacement/upgrade for it) pretty handy as well, but the vanilla version is still useful if you can't/don't want to install it.Cmd+Shift+5by default).Cmd+Q). I still can't decide if I prefer this behavior or not, but it isn't usually changeable, so you'll have to get used to it regardless.I personally always swap the screenshot to clipboard (default: cmd-option-shift-3/4) and screenshot to file (cmd-shift-3/4) key bindings so I don’t clutter up my desktop with screenshots
Instead of remembering screenshot key bindings, I find it easier and fast enough to cmd+space for spotlight and type screenshot.
TIL and I’ve been a mac user for I don’t know how long. I use the screenshot shortcut on a daily basis and do a cleanup every once in a while. This will improve my life significantly!
I'm actually finding that more and more MacOS applications actually do close entirely when all the windows are closed these days. It's probably about 50/50 with the applications I use frequently. Preview, for instance, will close itself after you select another application's window if there are no open windows.
I read a book called "Mac OS X: The Missing Manual" back in the 2000s, and proceeded to never use Windows again.
Some random things:
Keyboard shortcuts are almost universally better. They're more consistent between applications (except Electron stuff), they're searchable in the Help menu on the Menu Bar. The separation of Command for MacOS functions and Ctrl for terminal sequences is also amazing, as it makes the OS basically the only mainstream one to consistently use a meta key. Command+C is copy, ctrl+c terminates a process in a terminal. Sense at last.
The metaphor for Mac applications is that opening an application is taking a typewriter out of a drawer and putting paper in it is opening a window. You should be able to have many windows with documents, but putting them all away doesn't put the typewriter away: that's a separate and deliberate action. Apps that exit when all windows are closed are wrong and should feel bad.
Command+W closes a window and Command+Q exits the focused application. You'll never need the traffic light buttons in the corner. Command+Space and type an application name to open it.
You can put folders on the right side of the Dock, and choose what style of menu you want them to open up as when clicked (the option is in the context menu). I've always pinned the Applications folder, my Home folder and Downloads there.
iTerm > the stock terminal. Download it and don't look back.
Install Homebrew. It's the de facto standard package manager.
There are many options for window management. The traditional way is the freedom of not giving a shit: let them pile up, flip through applications with cmd+tab and windows in the same application with cmd+tilde. Use gestures to make Exposé explode the open windows out into a visible arrangement when you're trying to find one. Making windows full screen compulsively is an anti-pattern. Embrace the chaos and use the magic to bring order to it as needed. Don't waste brain moving things around, summon what you need. Also, Spaces are virtual desktops. They fit perfectly with this approach.
There are tiling and auto-snapping options now if you need them.
What makes it so much better?
There's a lot that iTerm can do an can customize, but one feature that I use a lot are the split panes. In Terminal.app, "split pane" just gives you two views of the same session - type in one, shows up in the other. I guess this has some uses. In iTerm, each pane is a completely separate session, which I find extremely useful and flexible.
iTerm also has native support for
tmux, which I know a lot of people use.Lots of options to customize it, avoid annoyances, and little nice to haves that all add up. I find the search, scroll back and color scheme enhancements nice.
https://iterm2.com/features.html
For the shortcuts, learn to love it. As a developer, IMO it's way better situation. CMD is all the UI shortcuts now - copy, paste, and so forth. CTRL is almost exclusively for terminal shortcuts.
That means that you'll never accidentally kill something in the CLI while trying to copy something. Also, I just think command is a nicer key for such common shortcuts - I can hit command with my thumb, which is much stronger than my pinkie.
In the interm, you can consider using something like rectangle for window management, and something like alt+tab (https://alt-tab-macos.netlify.app/) for command-tab behavior. But I would recommend trying out the "spatial finder" way - that is, just don't snap your windows. Let your windows be strewn across the screen - macOS does a great job at keeping things where you left them. You'd be surprised how you can intuitively remember where you left a window - it's like how your desk can be messy, but you still know where everything is.
Every native macOS text window has emacs keybindings. They're very powerful, and even if you just remember a few, they can make everyday text input much more convenient.
In terms of going from Linux to Mac, just remember that technically Linux isn't actually POSIX compliant, whereas macOS is. This means that some of the core CLI programs do not work the same - find, for example, behaves fairly differently, because the GNU ones have diverged from the POSIX standards. Just keep this in mind, because it can be frustrating.
It probably isn’t worth enough to matter, but stock macOS isn’t actually posix compliant. Apple changes a lot when testing for posix compliance. Most of it doesn’t actually matter, but if you are frequently using uucp for some reason, it could.
By the way, you can install the gnu utils using homebrew and add them to PATH. That gives you a nearly identical experience to Linux.
Nitpicky note on both of the above comments, but we're talking about standards compliance so it's probably one of the few places it's warranted.
This article speaks on UNIX compliance, which is different from POSIX compliance. macOS is UNIX certified, Linux is POSIX compliant, and (as I understand it) UNIX is a superset of POSIX, so macOS is likely more POSIX compliant than it is UNIX compliant.
100% agreed on your conclusion though. I migrated to macOS from daily driving Linux, and I still feel as comfortable and at home in the terminal on my MacBook as I do when SSH'd into any of my Linux servers.
It took a while to get used to the differences but I now prefer the mac interface to windows. I agree with the other posters here that say you should try to get used to the differences instead of overriding them.
It took me longest to get used to command instead of ctrl, but now I am able to automatically switch if I'm using mac or windows or linux.
For a dev, the terminal shell is much better than windows command or powershell.
If you are working in a place is mostly a windows shop, you may have some issues with proxy and may need to setup cntlm.
For utility apps, I recommend
Rectangle is so good that I picked using a Mac again in my new job even though I actually hate HATE Apple. I can't work without it and there's no exact replica for windows.
I'd also add Shotter as a great tool to have, it's a far more superior screenshot tool and has some great QoL additions over the native screeblnshot tool.
It's not an exact replica, but have you tried PowerToy's FanzyZones?
This discussion from last time a Tildes user migrated to macOS might be worth looking at:
https://tildes.net/~tech/1pbq/i_am_new_to_mac_os_give_me_your_favorite_or_preferred_settings_tools
The reason I bring this up is that my comment from then holds, I think:
As others have mentioned there are tools to get it more Windows-like, but going with the flow may in fact work out better longer term. I only picked up macOS in university and did have to put in an earnest effort to like… learn it. But by now I'm quite used to it.
In addition to the awesome gestures with a trackpad, I highly encourage getting out of the "tap-to-click" mindset of Windows users coming from shitty trackpads. If you (@first-must-burn) take advantage of the fact that a "physical" click on a Mac trackpad feels the exactly same anywhere on the trackpad, you can save time by just clicking rather than tapping.
Tapping is popular on Windows because most trackpads there physically move, so different points on a trackpad will feel different and have different resistance. On a Mac trackpad, it's a pane of glass mimicking a click by using a vibration upon sensing pressure, thus allowing for a consistent feel anywhere. Adjust the pressure required to click to your preference!
I bought a Magic Trackpad when I switched from Linux to Mac OS mid 2025. The gestures are so good, that my "toe in the water" machine, an M1 Air, convinced me I couldn't live without gestures on my desktop.
That, and the fact that I was starting to get wrist pain from mousing, so I went trackpad on the Mac Mini M4 and never looked back.
Well, until I tried to run Minecraft. Which doesn't work for toffee on a trackpad. But for all my day to day? Track pad it is. Especially flipping between full screen apps on a monitor is great with gestures.
I also use the Magic Trackpad now for similar reasons (primary desktop is an M4 Mac mini), plus… my last mouse was an MX Vertical and it's now such an ugly disintegrating mess and the left-click switch would last two years on average before it's time to disassemble, desolder and replace. And that's the only ergonomic mouse that'd helped with wrist pain for me.
After how much I'd enjoyed the trackpad on my MacBook it was kind of just the next logical step.
I cannot brain so good because I should be in bed, but to give you an idea, the tools that I find I cannot do without are (I only link to stuff that you cannot install via either the Mac App Store or via Homebrew, which I link to below.) I wrote this just before bed, so hopefully I didn't screw it all up. Follow links and such at your own risk, I'm pretty sure I have legit ones but... I am very tired.
GUI Apps
(Mac App Store) Velja - This allows me to quickly pick what browser I want to open links from Discord, Messages, and non-browser apps in. I keep Safari, Zen, Firefox, and Vivaldi installed on my system, and I use them all for different things. I like to choose where things go, so my "default" browser is Velja. It's free in the Mac App store.
(Mac App Store) Pure Paste - It hangs out in the background and clears formatting when I copy text. I almost never want to keep the formatting, so this handles that nicely.
(Homebrew) Shottr - Others have explained Shottr's appeal, but I like it for when I want to capture an entire web page and I don't want to use things like Firefox's built-in ability.
(Mac App Store) Scrivener - I cannot do serious writing without this. My only issue is that I still haven't figured out how to correctly get the iPhone and Mac versions to sync.
(Mac App Store) Scapple - Mind-mapping from the creators of Scrivener. It's more free-flowing in ways that other mind maps aren't, and doesn't assume a default node like so many others.
(Mac App Store) Hidden Bar - Too many tiny widgets that I never touch at the upper-right of the screen, but need to find on occasion. Hidden Bar does what many other paid apps do, but free. It's free in the App Store.
(Website) LuLu by Objective-See - This is a snooper that I keep running so that I know when an app does something naughty like try to phone home. It's free and by a guy that seems to have some level of industry trust. This is basically a per-app firewall. You can permanently allow something internet access, allow it while it's running but force it to request access again next time, or allow it until a certain time stamp. Probably my most-used app.
(Website) Multi-Touch by Ryan Hanson - You've been recommended Rectangle. This is that on steroids. I have the paid version, which means if I wanted I could put it on a MacBook and enable all sorts of wild gesture-based stuff, or get a touch pad for my Mac, but I shan't.
(Homebrew) ImageOptim - This is great for quickly clearing metadata from supported files. Mostly I use it when I want to ensure that something I'm going to upload somewhere doesn't have a bunch of crap that points back to me, like GPS coordinates and other horse shit like that.
(Homebrew) iTerm 2 - There are other terminal emulators I'm sure are excellent, and if I hadn't spent the last 5 years configuring zsh and iTerm 2 to do my bidding I'm sure I'd love them, too. But I can't stand fiddling around and getting nothing done, so iTerm 2 is what I started with. But you can start fresh with Kitty or WezTerm or something.
Terminal Stuff
(Website) Homebrew - The best way to install apps for the terminal, and a lot of 3rd-party apps.
(Homebrew) micro - This is a tool I use in the terminal for file editing. Vi/Vim/Neovim is the standard, but I hate modal editing because I'm too dumb and I've got 30+ years of ctrl/command muscle memory to fix it now, and so I use micro.
(Homebrew) helix - I know I just said I don't like modal editors, but helix is the exception. It's built for modern use from the ground up, it's stable as hell, and I've customized the crap out of it.
(Homebrew) ffmpeg - In addition to being the backbone of a lot of other work horses, it's good to know how to use the best multimedia conversion tool on the planet.
(Homebrew) zoxide - I use this in place of the "cd" command because it remembers places I've been so I can type partial directories and often find where I need to go, exactly
(Homebrew) zsh-autopair / zsh-syntax-highlighting - these introduce some functionality native to fish that I really liked. autopair lets me hit tab to get a list of compatible commands to what I've begun typing. syntax-highlighting lets me see when I've entered a valid command, which is excellent for telling me when aliases are messed up.
(Homebrew) starship - lets me customize my prompt so that I know that a) my last command took x amount of time, was run at y timestamp, I am in some directory, and whether or not I've currently got sudo permissions.
Have you popped open the terminal on your Mac yet and tried a few unix commands?
before everything...
cmd + shift + .to toggle hidden files in Finder.If you get skhd, you can use this to launch Finder to your desktop folder. It'll only do one Finder window at a time at ~/Desktop -- but just switch the folder and you can launch a second. If you want
Hyper, you can map it using https://karabiner-elements.pqrs.org.Next up:
cmd + shift + 4will let you select a region to be captured.It's been a while since I have been on Mac, but as others have mentioned, IMO, shortcuts are WAY better and more consistent on Mac. Honestly, once I got used to it, doing daily work on a Mac was way more pleasurable than Windows.
I love the universal colour picker that let's you save custom colours and makes them available across all applications. I have no idea why this isn't standard on Windows.
Their website seems kind of borked right now, but:
https://www.publicspace.net/
had some great apps when I was doing research involving hundreds of thousands of newspaper articles.: mainly A Better File Renamer and The Big Mean Folder Machine
HEJ Stylus is basically a very nice Lazy Nezumi for Mac (smooths out pen strokes for art)
https://hejstylus.com/
Forklift was my go-to dual pane Finder replacement, but Fileside lets you organise tonnes of folders if you are working with things like lots of media
https://binarynights.com/
https://www.fileside.app/
For window management I used Moom, but that has probably been surpassed these days
https://manytricks.com/moom/
Is there any macOS version of the following set of keys that I use heavily while editing a line of text?
Ctrl+RightArrow= move to end of current word, then the next wordCtrl+LeftArrow= move to beginning of previous word, then the previous wordHome= move to beginning of current lineEnd= move to end of current lineCtrl+Home= move to beginning of documentCtrl+End= move to end of documentAnd then also use
Shiftwith any of the above and the move creates a selection?These work in almost all edit fields, documents etc. in Windows and also seem to work on most Linuxes and Chromebooks.
adding
shiftworks with all of themI believe all of those have an equivalent, but I don’t know exactly what they are. In general just swap cmd for ctrl. Shift while moving the cursor makes a selection just like on windows. Cmd+left/right arrow moves to the beginning/end of a line. I don’t have a keyboard with home and end to try, but I think they are similar to windows.
If you very often go back and forth between operating systems in your daily life, then I think swapping CTRL and CMD can be useful. As much as I totally understand the "get used to it" sentiment too- I think that's fine if the majority of your computer use is on macOS.
However, I go back and forth between Linux and macOS all the time and having them align is more comfortable for my brain- and if I don't swap them I constantly make frustrating mistakes
One thing I’ll add is AlDente. It’s an app that allows you to control the charging behavior of your MacBook.
For some reason Apple hasn’t implemented the ability to limit charging to 80% on macOS like they have on iOS, but AlDente gives you that ability to extend the lifespan of your battery. It also has other features to monitor your battery temperature and prevent charging when your battery is running hot.
The ability to customize the widget in the menu bar is also very handy. I have an estimated battery life/estimated charge time readout up there too which helps me understand what I may be able to do at a certain power draw.
I haven’t used it long enough to say if it actually protects the health of my battery, but many others swear by it.