程序员福音!Win10下使用oh-my-zsh全攻略,让Win10开发更顺滑…

  • Post author:
  • Post category:其他

最终效果

首先安装Wsl2和Windows Terminal

Wsl2安装教程:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

Wsl2只是一个壳,里面需要装一个Linux系统,我选择的Ubuntu20.04, Microsoft Store商店下载地址 : https://www.microsoft.com/store/productId/9N6SVWS3RX71

Windows Termianal Microsoft Store商店下载地址商店下载地址:https://www.microsoft.com/store/productId/9N0DX20HK701

并在ubuntu20.04中完成zsh和oh-my-zsh的安装

sudo apt install zsh -y
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

然后改注册表

Win+R,并输入regedit,打开注册表

运行regedit

在注册表添加右键信息

路径 计算机\HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\在此处打开WindowsTerminal\command

填入的信息 wt -d "%V%/"

打开Windows Terminal, 改setting

改Setting的目的是将defaultProfile字段的值改为Ubuntu20.04对应的guid

setting示例

// This file was initially generated by Windows Terminal 1.5.10271.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
                "hidden": false,
                "name": "Ubuntu-20.04",
                "source": "Windows.Terminal.Wsl",
            },

            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "命令提示符",
                "commandline": "cmd.exe",
                "hidden": false
            },

            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [],

    // Add custom actions and keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
    "actions":
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        // Press Ctrl+Shift+F to open the search box
        { "command": "find", "keys": "ctrl+shift+f" },

        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ]
}

如果重启电脑后,右键菜单自动出现了一个 Open in Windows Terminal ,功能和我们新增的右键功能一样,但又无法独立运作,建议去除它

  1. 通过组合键Windows+R,打开运行, 输入 regedit 打开注册表
  1. 打开 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked (如果Blocked不存在,则需要自己创建) 然后 新增 一个字符串类型的值 键设置为 {9F156763-7844-4DC4-B2B1-901F640F5155} 值设置为 WindowsTerminal
  1. 重启电脑,即可去除系统自动新增的右键菜单

参考资料

https://segmentfault.com/a/1190000037717476

http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1858613

https://github.com/microsoft/terminal/issues/7008

本文永久更新地址(欢迎来读留言,写评论):

https://www.v2fy.com/p/2021-02-10-zsh-win-1612954923000


版权声明:本文为zhuoyuedelan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。