最近在win10下面搭建了一个 WSL+cmder+oh-my-zsh 的程序员命令行环境,为何呢?还不是买不起mac,加上本身的黑苹果瘫了,全部又回到了win10上面。不过上面无论是Cmd仍是PowerShell都是难看的要死要死的,并且不少命令不支持,因此有了这一次的实践。前端
以前咱们使用的是 cmder
这个工具。node
在 windows 1903 以及之后的版本中,能够直接使用windows自带的 windows terminal
,能够直接从windwos 10 的应用商店里面下载。这个比 cmder 用起来更加的便捷。linux
检查window版本: windows + R 后 输入 winvergit
安装 windows terminal 之后咱们能够本身去配置 terminal 的样式。 程序员
修改配置以下,其中 #XXX
为注释github
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"globals" :
{
"alwaysShowTabs" : true,
"copyOnSelect" : true,
"defaultProfile" : "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}", #默认的终端,点击+号
"initialCols" : 120,
"initialRows" : 30,
"keybindings" :
[
{
"command" : "closePane",
"keys" :
[
"ctrl+shift+w"
]
},
{
"command" : "copy",
"keys" :
[
"ctrl+shift+c"
]
},
{
"command" : "duplicateTab",
"keys" :
[
"ctrl+shift+d"
]
},
{
"command" : "newTab",
"keys" :
[
"ctrl+shift+t"
]
},
{
"command" : "newTabProfile0",
"keys" :
[
"ctrl+shift+1"
]
},
{
"command" : "newTabProfile1",
"keys" :
[
"ctrl+shift+2"
]
},
{
"command" : "newTabProfile2",
"keys" :
[
"ctrl+shift+3"
]
},
{
"command" : "newTabProfile3",
"keys" :
[
"ctrl+shift+4"
]
},
{
"command" : "newTabProfile4",
"keys" :
[
"ctrl+shift+5"
]
},
{
"command" : "newTabProfile5",
"keys" :
[
"ctrl+shift+6"
]
},
{
"command" : "newTabProfile6",
"keys" :
[
"ctrl+shift+7"
]
},
{
"command" : "newTabProfile7",
"keys" :
[
"ctrl+shift+8"
]
},
{
"command" : "newTabProfile8",
"keys" :
[
"ctrl+shift+9"
]
},
{
"command" : "nextTab",
"keys" :
[
"ctrl+tab"
]
},
{
"command" : "openNewTabDropdown",
"keys" :
[
"ctrl+shift+space"
]
},
{
"command" : "openSettings",
"keys" :
[
"ctrl+,"
]
},
{
"command" : "paste",
"keys" :
[
"ctrl+shift+v"
]
},
{
"command" : "prevTab",
"keys" :
[
"ctrl+shift+tab"
]
},
{
"command" : "scrollDown",
"keys" :
[
"ctrl+shift+down"
]
},
{
"command" : "scrollDownPage",
"keys" :
[
"ctrl+shift+pgdn"
]
},
{
"command" : "scrollUp",
"keys" :
[
"ctrl+shift+up"
]
},
{
"command" : "scrollUpPage",
"keys" :
[
"ctrl+shift+pgup"
]
},
{
"command" : "switchToTab0",
"keys" :
[
"ctrl+alt+1"
]
},
{
"command" : "switchToTab1",
"keys" :
[
"ctrl+alt+2"
]
},
{
"command" : "switchToTab2",
"keys" :
[
"ctrl+alt+3"
]
},
{
"command" : "switchToTab3",
"keys" :
[
"ctrl+alt+4"
]
},
{
"command" : "switchToTab4",
"keys" :
[
"ctrl+alt+5"
]
},
{
"command" : "switchToTab5",
"keys" :
[
"ctrl+alt+6"
]
},
{
"command" : "switchToTab6",
"keys" :
[
"ctrl+alt+7"
]
},
{
"command" : "switchToTab7",
"keys" :
[
"ctrl+alt+8"
]
},
{
"command" : "switchToTab8",
"keys" :
[
"ctrl+alt+9"
]
}
],
"requestedTheme" : "system",
"showTabsInTitlebar" : true,
"showTerminalTitleInTitlebar" : true,
"wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"
},
"profiles" :
[
{
"acrylicOpacity" : 0.5,
"backgroundImage": "C://Users//Administrator//Pictures//Saved Pictures//2.jpg", #背景图片
"backgroundImageOpacity" : 0.6, #背景透明度
"background" : "#012456",
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "powershell.exe",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Cascadia Code", #字体
"fontSize" : 12,
"guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", #终端惟一编号
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
"name" : "Windows PowerShell", #启动的终端
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : false,
"tabTitle" : "Powershell"
},
{
"acrylicOpacity" : 0.75,
"backgroundImage": "C://Users//Administrator//Pictures//Saved Pictures//1.jpg",
"backgroundImageOpacity" : 0.6,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "cmd.exe",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Cascadia Code",
"fontSize" : 12,
"guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "cmd",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
{
"acrylicOpacity" : 0.59999999999999998,
"closeOnExit" : false,
"colorScheme" : "Vintage",
"commandline" : "Azure",
"connectionType" : "{d9fcfdfa-a479-412c-83b7-c5640e61cd62}",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Cascadia Code",
"fontSize" : 12,
"guid" : "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{b453ae62-4e3d-5e58-b989-0a998ec441b8}.png",
"name" : "Azure Cloud Shell",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
{
"acrylicOpacity" : 0.5,
"backgroundImage": "C://Users//Administrator//Pictures//Saved Pictures//3.jpg",
"backgroundImageOpacity" : 0.4,
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"name": "Ubuntu-18.04",
"closeOnExit" : true,
"colorScheme" : "Campbell",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Cascadia Code",
"fontSize" : 12,
"source": "Windows.Terminal.Wsl",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"historySize" : 9001,
"tabTitle" : "Ubuntu (WSL)",
"useAcrylic" : false
}
],
"schemes" :
[
{
"background" : "#0C0C0C",
"black" : "#0C0C0C",
"blue" : "#0037DA",
"brightBlack" : "#767676",
"brightBlue" : "#3B78FF",
"brightCyan" : "#61D6D6",
"brightGreen" : "#16C60C",
"brightPurple" : "#B4009E",
"brightRed" : "#E74856",
"brightWhite" : "#F2F2F2",
"brightYellow" : "#F9F1A5",
"cyan" : "#3A96DD",
"foreground" : "#CCCCCC",
"green" : "#13A10E",
"name" : "Campbell",
"purple" : "#881798",
"red" : "#C50F1F",
"white" : "#CCCCCC",
"yellow" : "#C19C00"
},
{
"background" : "#000000",
"black" : "#000000",
"blue" : "#000080",
"brightBlack" : "#808080",
"brightBlue" : "#0000FF",
"brightCyan" : "#00FFFF",
"brightGreen" : "#00FF00",
"brightPurple" : "#FF00FF",
"brightRed" : "#FF0000",
"brightWhite" : "#FFFFFF",
"brightYellow" : "#FFFF00",
"cyan" : "#008080",
"foreground" : "#C0C0C0",
"green" : "#008000",
"name" : "Vintage",
"purple" : "#800080",
"red" : "#800000",
"white" : "#C0C0C0",
"yellow" : "#808000"
},
{
"background" : "#282C34",
"black" : "#282C34",
"blue" : "#61AFEF",
"brightBlack" : "#5A6374",
"brightBlue" : "#61AFEF",
"brightCyan" : "#56B6C2",
"brightGreen" : "#98C379",
"brightPurple" : "#C678DD",
"brightRed" : "#E06C75",
"brightWhite" : "#DCDFE4",
"brightYellow" : "#E5C07B",
"cyan" : "#56B6C2",
"foreground" : "#DCDFE4",
"green" : "#98C379",
"name" : "One Half Dark",
"purple" : "#C678DD",
"red" : "#E06C75",
"white" : "#DCDFE4",
"yellow" : "#E5C07B"
},
{
"background" : "#FAFAFA",
"black" : "#383A42",
"blue" : "#0184BC",
"brightBlack" : "#4F525D",
"brightBlue" : "#61AFEF",
"brightCyan" : "#56B5C1",
"brightGreen" : "#98C379",
"brightPurple" : "#C577DD",
"brightRed" : "#DF6C75",
"brightWhite" : "#FFFFFF",
"brightYellow" : "#E4C07A",
"cyan" : "#0997B3",
"foreground" : "#383A42",
"green" : "#50A14F",
"name" : "One Half Light",
"purple" : "#A626A4",
"red" : "#E45649",
"white" : "#FAFAFA",
"yellow" : "#C18301"
},
{
"background" : "#002B36",
"black" : "#073642",
"blue" : "#268BD2",
"brightBlack" : "#002B36",
"brightBlue" : "#839496",
"brightCyan" : "#93A1A1",
"brightGreen" : "#586E75",
"brightPurple" : "#6C71C4",
"brightRed" : "#CB4B16",
"brightWhite" : "#FDF6E3",
"brightYellow" : "#657B83",
"cyan" : "#2AA198",
"foreground" : "#839496",
"green" : "#859900",
"name" : "Solarized Dark",
"purple" : "#D33682",
"red" : "#DC322F",
"white" : "#EEE8D5",
"yellow" : "#B58900"
},
{
"background" : "#FDF6E3",
"black" : "#073642",
"blue" : "#268BD2",
"brightBlack" : "#002B36",
"brightBlue" : "#839496",
"brightCyan" : "#93A1A1",
"brightGreen" : "#586E75",
"brightPurple" : "#6C71C4",
"brightRed" : "#CB4B16",
"brightWhite" : "#FDF6E3",
"brightYellow" : "#657B83",
"cyan" : "#2AA198",
"foreground" : "#657B83",
"green" : "#859900",
"name" : "Solarized Light",
"purple" : "#D33682",
"red" : "#DC322F",
"white" : "#EEE8D5",
"yellow" : "#B58900"
}
]
}
复制代码
上面咱们用到了 Cascadia Code
字体。这里在推荐一下这个字体,这个月微软为编程人员出的一款字体,用起来简直舒服。 下载地址shell
win10系统须要更新到1067及其之后的版本,而且是64位的系统才能够安装。相信作开发的都是64位系统吧。npm
win10打开程序和功能 编程
咱们在win10应用商店里面搜索linux,安装Ubuntu。 json
安装完成后在开始菜单里面找到程序,启动。
刚开始的时候须要等一下,在配置环境。完成后须要设置用户名以及密码。
cmder有两个版本,Mini版与完整版(包含了git以及一些其余的命令)。推荐安装完整版。 安装完成后打开,咱们须要进行配置一下
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl --distro-guid={9df562ee-848c-4af4-ab4e-aedad54ceba9} -cur_console:pm:/mnt
。这里面的9df562ee-848c-4af4-ab4e-aedad54ceba9
指的是Ubuntu的惟一标识符,若是重装了子系统,那么这个标识符实惠变得。能够在在注册表(regedit)中查找 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
。win+R搜索regedit
。+
,里面有全部的配置。
在Ubuntu系统中使用命令行而不是win中
安装任何包以前必定要先更新! sudo apt-get update
安装zsh sudo apt-get install zsh
安装oh-my-zsh sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
安装成功
若是 遇到证书相似问题 apt-get install ca-certificates
自动启动zsh vim ~/.bashrc
或者nano ~/.bashrc
(推荐使用)打开编辑.bashrc
文件,添加如下内容:
if test -t 1; then
exec zsh
fi
复制代码
若是你使用的是vim ~/.bashrc
,编辑后使用:wq
退出。
若是你使用的是nano ~/.bashrc
,使用Ctrl+Shift+X
保存并退出。
修改主题:
nano ~/.zshrc
# 主题名字ys,你能够搜索其余的主题使用,ys挺好的
ZSH_THEME="ys"
复制代码
修改之后保存。
终端字体补全 sudo apt-get install fonts-powerline
客户端字体补全 注意: 有些字符在windows 上没法显示,因此须要安装字体 nerdfonts.com,选择 Hack
修改cmder字体为
因为博主是作前端开发的,用的是VSCode因此这里说一下,怎么在VSCode上面使用。
在VSCode的设置文件中添加这一句
"terminal.integrated.shell.windows": "C:\\\\Windows\\\\System32\\\\wsl.exe",
复制代码
若是须要使用node,npm等工具,WSL里面是不可以直接使用windows自带的这些环境变量的,咱们须要在WSL中安装,具体的安装方法能够google--Ubuntu安装软件
以前说的字体fonts-powerline
,Hack Nerd Font Mono
这个字体,其实仍是挺好看的,你们可使用,包括在PC上面也能够。这个字体可使用Git下载https://github.com/powerline/fonts
,不过这个实在是有点慢,这里我已经下载下来放在了这里。
下载下来之后使用PowerShell
,到字体目录下,运行如下命令
.\install.ps1
复制代码
可能会遇到报错,此时先执行set-Executionpolicy Remotesigned
关于启动时候报错 有时候咱们启动子系统的时候会报错,错误代码:0x800703fa
具体错误内容:WslRegisterDistribution failed with error: 0x800703fa
此时win+R
在运行窗口中执行“services.msc”指令,在本地服务中重启 LxssManager 服务便可
[1]. segmentfault.com/a/119000001… [2]. blog.joaograssi.com/windows-sub…