Affiliate: Claritee your landing page before building it!
Please note that this installation is not with WSL (Windows Subsystem for Linux). I always use terminal from VS Code so I don't need to change windows (alt + tab
) every time I need to do a command task.
Steps:
- ZSH on Windows installation, that require us to:
- Install Cygwin on Windows
- Set Up ZSH as the default terminal for windows
- Set up ZSH as the default terminal for VS Code
- Install oh-my-zsh for ZSH on Windows
1. ZSH on Windows installation
First, download the Cygwin installer based on your Windows system (32bit or 64bit). Then run it to install on your Windows.
In the installation process, you should make sure that the installation folder is c:\\cygwin64
.
When select packages screen prompted, you should find wget by typing directly on the search input form or change to: change to category view → expand (+) all
→ expand (+) web
→ find wget
→ from the new column, select the latest version → next.

After the Cygwin installation is finished, next we are going to set up Windows Terminal to use Cygwin bash as the default Windows Terminal.
To do so, you have to open the setting.json of your Windows Terminal. Or open it from the setting screen.

{
// the rest configuration goes above...
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44ba}",
"profiles": {
"defaults": {
},
"list": [
{
"commandline": "powershell.exe",
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"hidden": false,
"name": "Windows PowerShell"
},
{
"commandline": "C:/cygwin64/bin/bash.exe /bin/xhere /bin/zsh",
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44ba}",
"hidden": false,
"name": "Cygwin ZSH"
},
// the rest configuration goes below...
]
},
}
If you reopen the terminal, you should now be using bash from Cygwin. You can check by running the command echo $SHELL
to see what current is the command line.
Next, we will then use wget
to install apt-cyg
. Then use this apt-cyg
to install zsh
to the Cygwin.
To do so, on the terminal, run these commands:
wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin
apt-cyg install zsh git gdb dos2unix openssh chere vim
Relaunch the terminal, then try to check the version of the ZSH by run command zsh --version
, the version should be show.
We are done installing Cygwin and ZSH on Window Terminal. Let's make the ZSH to be the default terminal for VS Code.
2. Set up ZSH as the default terminal for VS Code
As I said earlier, I do this step because I enjoy run command from VS Code. If you don't want, you can just skip this part and move to the oh-my-zsh installation step.
2.1 Cygwin Terminal Profile Integration
First, open setting.json
of your VS Code. Locate the terminal.integrated.profiles.windows
then add the Cygwin terminal profile code inside it. and to make the Cygwin as the default terminal, add the "Cygwin" as the value for terminal.integrated.defaultProfile.windows
.
So the code should be like this:
{
//the rest setting.json code goes above..
"terminal.integrated.defaultProfile.windows": "Cygwin",
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"Cygwin": {
"path": "C:\\cygwin64\\bin\\bash.exe",
"args": [
"--login",
"-c",
"zsh"
]
}
}
}
2.2 Add VS Code Plugin into Cygwin
To add the VS Code plugin, you open the .zshrc
file that is located in your Cygwin user folder, ex: c:\cygwin64\home\[your profile]
.
Scroll and find plugins, add vscode inside it. ex: plugins=(... vscode)
. Save it and relaunch the VS Code Terminal.
To check, kill any running terminal on VS Code then reopen it. Run command echo $SHELL
or zsh --version
like before.
We have the ZSH as the default terminal, the last is to install oh-my-zsh.
3. Install oh-my-zsh for ZSH on Windows
Go to the oh-my-zsh homepage to learn more about it. As you can see on their documentations, the installation is straightforward via wget
.
You can just run the following command:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
Wait the installation completed then you can relaunch the Terminal and oh-my-zsh should be there now.