DEV Community

Cover image for Tips for developers switching from Windows to Mac
Cathal Mac Donnacha ๐Ÿš€
Cathal Mac Donnacha ๐Ÿš€

Posted on • Updated on • Originally published at cathalmacdonnacha.com

Tips for developers switching from Windows to Mac

I was a Windows fan all my life, both at home since I was 10 years old, and at work for 8 years of my frontend development career. However, when I moved jobs recently I was given a MacBook Pro, and so I had little choice but to dive headfirst into everything MacOS. It was a bit strange at first and it honestly took me a few days to get settled in with the Mac, but once I did, I really started to like it.

From the beginning, there were a couple of things I missed about Windows, and some alternative apps that I had to find. In this article, I go through some of the things that helped me, in the hope that I can help smoothen the ride for other developers starting out on their Windows to Mac journey.

Package manager ๐Ÿ“ฆ

I used to use Chocolatey as my package manager on Windows. I found it really useful to install and organise all of my various packages, and so I wanted to find the best alternative for Mac. Brew was the answer! I've been using it for the past year and haven't had any issues or missing features compared to Chocolatey.

Terminal ๐Ÿ“บ

ConEmu was my go-to terminal on Windows and so I was pretty bummed out when I realised that it wasn't supported on Mac. After asking some folks on my team, they suggested iTerm2 and I must admit it's equally fantastic.

One feature that is not included in iTerm2 though is the ability to display the currently active git branch at a glance. Worry not! oh-my-zsh to the rescue ๐Ÿฆธโ€โ™‚๏ธ You can install it using this curl command and hey presto, you now see those nice pretty git branches in your terminal.

Similar to ConEmu, I use a feature in iTerm2 called "window arrangements" to automatically launch tabs whenever I open the terminal. I find this really handy, as it automatically navigates to the correct directory and opens my regular 3 git, serve and test tabs for me. This feature has saved me countless hours over the years!

Finder ๐Ÿ—„

Finder is the default file manager on the Mac and it's equivalent to Windows Explorer, with some differences. The biggest difference for me was the lack of a classic cut and paste. On Windows you could simply press ctrl + x and ctrl + v. However, to do this on Mac you have to select the file and then press cmd + c and cmd + option + v.

Hidden Files

To show hidden files in Finder just press command + shift + ..

If you want to show hidden files by default just open your terminal and run this command:

defaults write com.apple.finder AppleShowAllFiles YES; killall Finder;
Enter fullscreen mode Exit fullscreen mode

Split screen ๐Ÿ’ป

I often use split screen to view both the browser and VS Code side by side. On Windows, this is quite simple to do using a feature called Snap Assist. You simply just drag a window to the edge of the screen and then select the other window you want to show beside it.

Windows Split View

Again I was pretty disappointed to find out that you couldn't easily achieve this on the Mac. Not to worry though, it does have a feature called Split View, which is close enough for me. It's not as quick and easy but gets the job done.

Mac Split View

Window management app

A reader suggested Rectangle for split screen window management and I must say, I'm impressed!

MS Paint ๐ŸŽจ

Oh man, how I loved this app. As a frontend developer, I was constantly taking screenshots, pasting them into Paint and then drawing arrows, boxes and text on top of them to include in JIRA tickets, emails etc. I even remember using it to create some icons back in the day. I couldn't believe the Mac didn't have a native paint app. However, I found two solutions that helped me dry my tears.

1. Shape detection in Preview

I may be easily amused, but this feature blew my mind when I first tried it. When you take a screenshot (command + shift + 3), a thumbnail will appear in the bottom right corner of the screen. Once you click on the thumbnail, the native Preview app on the Mac will open. From here you can draw a rough circle, square, or arrow and if it's recognised as a standard shape, itโ€™s replaced by that shape. How cool is that?!

Shape detection in Preview app

2. Sketchpad

One drawback to the native Preview app is that you can't simply copy and paste two images onto one canvas. Again, I do this a lot when creating "before and after" screenshots of tasks I'm working on. It's so much easier to convey this in one single side-by-side image instead of two separate ones.

Again MS Paint was great for this, so I had to find an alternative. I tried lots of Mac apps, browser extensions and web apps but struggled to find anything suitable, user friendly, and free, which had similar features to MS Paint. Finally, I found it! Sketchpad is a fantastic web app where you can quickly copy and paste images side by side, draw, add text, fill vectors and lots more.

Screenshots and video recording ๐Ÿ“น

I touched on this earlier, but as a frontend developer, I take a lot of screenshots and recordings so that I can attach them to JIRA tickets, Slack messages, emails and so on. I think that this is an important part of any frontend developer's workflow, so I wanted to go through it in a bit more detail.

Basic screenshot

Using the command + shift + 3 shortcut, you can take a screenshot of the currently active screen. You should then see a thumbnail appear in the right bottom corner of your screen. Clicking on this will bring up the native Preview app, which (as mentioned earlier) you can use to draw on the image. It will save the image to your default screenshots folder on your Mac, which is useful if you want to refer back to it later.

Capture a portion of the screen

Using the command + shift + 4 shortcut, you can take a screenshot of a portion of the screen. This will save the image to your Mac. Out of all the screenshot options, I probably use this the most.

Capture a portion of the screen

Capture a portion of the screen and copy to clipboard

Using the command + shift + control + 4 shortcut, you can take a screenshot of a portion of the screen. The difference between this and the previous shortcut is that it will only copy the image to your clipboard. It will not save the image to your Mac. This is useful if you want to quickly copy and paste screenshots into chat or an email body, but not take up space on your hard drive.

Screenshot a window

Using the command + shift + control + space shortcut, you can take a screenshot of a particular window.

Screenshot a window

Record the screen

Using the command + shift + 5 shortcut, you will see a toolbar appear which allows you to record the entire screen, or just a portion of it.

Mac record video toolbar

To stop recording, just press the same command + shift + 5 shortcut again and press the "stop" button. I use this very often in PRs, or when showing my team some early progress of a feature I'm working on.

You can even trim the beginning and end of the video using this button:

Trim video button on Mac

Noteworthy screenshot app

I thought it was worth calling out a great free tool which I've found very useful called Shottr. It hasn't fully replaced the native screenshot functionality for me, but it's mighty close.

Shortcuts โŒจ๏ธ

First of all, the keyboard is subtly different compared to Windows. The command key is what you'll use for most shortcuts and commands, it's mostly similar to the ctrl key on Windows. In most cases, shortcuts that require the use of the alt key on windows will use the option key on Mac.

Once I got used to these differences I started to look up various shortcuts for applications I use every day. Below are only some of the shortcuts I use, but here is the full list if you need it.

Basics

Shortcut Description
command + x Cut
command + c Copy
command + v Paste
command + w Close window
command + z Undo
command + spacebar Open spotlight to quickly find and open apps, documents, and other files.
command + tab Switch apps
command + n New finder window
command + delete Delete file / folder
command + shift + . Show hidden files in Finder
control + down arrow Show all windows of the active app (i.e all Chrome windows)
command + shift + 3 Take a screenshot of the currently active screen
command + shift + 4 Take a screenshot a portion of the screen
command + shift + 4 + space Take a sccreenshot of a window of your choosing
command + shift + control + 4 Take a screenshot of a portion of the screen and copy it to the clipboard
command + c then command + option + v Cut and paste files in finder
enter Rename selected file or folder

Text editing

Shortcut Description
command + left arrow Go to beginning of line
command + right arrow Go to end of line
command + control + spacebar Show Emoji viewer ๐Ÿ˜ƒ
command + shift + v Paste without formatting
option + backspace Delete word
command + backspace Delete all text left of cursor

Chrome

Shortcut Description
command + option + i Open dev tools
command + r Reload page
command + f Search within the page
command + shift + t Open last closed tab

Slack

Shortcut Description
command + shift + c Format higlighted text to code
command + k Quick switcher
command + shift + u Add link text (You can also paste a link directly onto highlighted text to achieve the same)

iTerm2

Shortcut Description
control + u Delete line
control + y Restore previous deleted line. This is handy if you need to run another command then come back to the previous one.
command + t New tab

VS Code

For VS Code, I have customised a lot of the shortcuts myself as I personally think they make more sense and are easier to remember, so I've included them below. However, here's a list of the default out-of-the-box shortcuts.

Shortcut Description
command + click Go to definition
command + p Quick search
option + left arrow Go back
option + right arrow Go forward
command + d Copy lines down i.e duplicate line of code
control + e Add cursor to next matching text
command + / Comment out line
command + backspace Delete line
command + \ Open file in side pane

Final thoughts ๐Ÿค”

You might wonder if I miss Windows for frontend development, well my answer is "kinda but not really". Yes, Windows does some things better, but Mac has some of its own advantages. I think Mac is a happy medium for software developers who work on a lot of backend code as it's based on Unix, runs most Linux applications but is still user friendly. However, as a frontend developer, all I really need is VS Code and a browser to do my work, both of which work exactly the same regardless of which OS I'm using.

Hopefully, this article can make the Windows to Mac switch that small bit easier for you. If you found this article useful, or have some tips of your own, feel free to leave a comment ๐Ÿ™Œ

Useful resources ๐Ÿ“–

I found these resources useful when learning the basics during my Windows to Mac switcharoo:

Want more? ๐Ÿ“ข

I mainly write about real-world tech topics I face in my everyday life as a frontend developer. If this appeals to you, then feel free to follow me on Twitter for more: https://twitter.com/cmacdonnacha

Bye for now ๐Ÿ‘‹

Latest comments (28)

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Thanks, glad you found it useful.

Yea that one has come up a few times along with Spectacle and Rectangle.

Collapse
 
sylviashen profile image
sylvia • Edited

Super helpful, thanks for sharing!

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€ • Edited

Glad you found it useful ๐Ÿ‘

Collapse
 
huncyrus profile image
huncyrus

I thought it will be an article like:
"How to switch from windows to mac? - don't, use linux, spare money instead of stupidity" :D

Thx the shortcuts, there were a few what I did not know before.

An extra thing for screen recording.
By default the recorder does not have any audio, so better to create a sound aggregate in the midi config tool, then use that to have mic and output in the same time.

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Yea, money doesn't matter when it's a company issued Macbook ๐Ÿ˜€

For screen recording I personally never need audio, just use it to show a feature working. Good tip though. I use the new Slack video recording feature if I do need to explain things which is great!

Collapse
 
fernando140alto profile image
fernando140alto

What caused me more trouble to get used to it was the window management, which is very easily done in windows with win key + direction is not that easy in mac. For that, I use Magnet (magnet.crowdcafe.com/index.html). Which has a ton of options for window management. I use a 34"screen alongside a 15" laptop screen. It makes my life much easier!

Collapse
 
glydric22 profile image
Glydric22

if you have a trackpad (that is very cool) you can use swish, I love it

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

I don't but I've heard good things about them. I've been pretty happy with my MX Master mouse as it has a lot of shortcut buttons too. I really like the trackpad on the laptop but I have the laptop closed most of the time when at home so I might look at getting on external one.

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Yea readers have suggested Spectacle and Rectangle too so it's a hot topic. You have to pay for Magnet right? How does it differ to Rectangle? I like how Rectangle has snap assist but I'd really love if when I drag one windows that the other takes up the remaining space.

Collapse
 
fernando140alto profile image
fernando140alto

Oh I know what you mean. Like in windows, where if you place lets say, the window in the right side, you'd get the option to set the left side with any remaining window. Sadly this doesnt happen with magnet, however, you'get like 20+ of sizing options that really make a difference when you are working with big screens. I personally like it very much and it's the closest I've found to windows window management.

Thread Thread
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Great thanks ๐Ÿ‘

Collapse
 
aisirachcha21 profile image
Ryan Kuruppu

A free alternative to Spectacle is Rectangle this is just as good a tool as spectacle.

Alfred is also good but honestly speaking unless you need to get into an app really fast or run some macro or something it's really not "entirely" worth the effort. I think the default spotlight search is a blessing

Additionally like one other user here mentioned, Azure Data studio is a must have if you're working with DB's often.

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

I'm pretty sure Spectacle is free, probably since it's no longer being maintained.

I'll give Rectangle a go though, thanks.

Collapse
 
jeel profile image
JP

Most important of all : To OPEN A FILE --> Command + โฌ‡๏ธ
Since "Enter" Key just renames it. LOL

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Yea, I found that funny when I first tried to open a file ๐Ÿ˜‚

Collapse
 
dastasoft profile image
dastasoft

Very useful article, one of the most surprising things coming from Windows/Linux to Mac are the touchpad gestures which are amazing and once you learn them you use them all the time. ๐Ÿ˜

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€ • Edited

I actually use a Magic Keyboard and MX Master mouse most of the time while I work from home. I use the touchpad while on the road though and agree, it's very intuitive.

Collapse
 
sylviashen profile image
sylvia

Same!

Collapse
 
leviarista profile image
Levรญ Arista

I don't know if it could fit here but I found this calculator, Numi, very helpful when using a Mac.
Nice and helpful article by the way ๐Ÿ‘

Collapse
 
joshcronkhite profile image
Josh Cronkhite

Numi is incredibly useful. @leviarista good share!

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Thanks, glad you found it helpful and thanks for the suggestion, looks cool!

Collapse
 
joshcronkhite profile image
Josh Cronkhite

I had a similar experience years ago. I still maintain a Windows environment, but MacOS is my platform of choice.

There are a couple of things I want to recommend that I think you'll enjoy. Have a look at PowerLevel10k for zsh in iTerm. Here's what your CLI might look like after setting it up:

PowerLevel10k on iTerm/zsh

Also I have been really enjoying JetBrains Mono font with ligatures enabled:

JetBrains Mono Ligatures Example

Lastly, if you're a die-hard VSCode fan, check out Azure Data Studio and don't let the name fool you as it's not only for Azure. I use this regularly at work for MSSQL and most often no longer need SSMS. So much faster and easier to deal with.

Hope this is useful. Thanks for the post.

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Nice one. Thanks for all those recommendations ๐Ÿ‘

Collapse
 
oscarablinger profile image
Oscar Ablinger

I don't work on mac, but I'm surprised that Alfred isn't on here. Mac people seem to love it.

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Yea, I'm still pretty new to Mac, been Windows pretty much my whole life. Never heard of Alfred so will give it a go thanks ๐Ÿ‘

Collapse
 
damjand profile image
Damjan Dimitrov

Very well written and very helpful!

For split screen window adjustments I would suggest Spectacle (spectacleapp.com). It's free and it offers pretty much any possible window layout customization and you can adjust the keyboard shortcuts yourself.

Also a small note - I notice you mentioned command + shift + i to be the hotkey for showing hidden files in Finder. I don't know if you have a different configuration, but in my case it is the shortcut to open the iCloud drive in Finder and the hotkey for displaying hidden files is command + shift + . (which I think is the default).

Collapse
 
cathalmacdonnacha profile image
Cathal Mac Donnacha ๐Ÿš€

Thanks, glad you found it helpful!

Thank you for the tip on Spectacle, I didn't even think to look at apps to solve this problem for me so I will check that out.

Also thanks for heads up on the incorrect shortcut, I have fixed that now ๐Ÿค

Collapse
 
rajasekharguptha profile image
Rajasekhar Guptha

Great ๐Ÿ‘๐Ÿป

Some comments have been hidden by the post's author - find out more