[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"content:\u002F2024\u002Fwindows-terminal":3,"surround:\u002F2024\u002Fwindows-terminal":589},{"id":4,"title":5,"body":6,"categories":561,"date":563,"description":564,"draft":565,"extension":566,"image":567,"meta":568,"navigation":570,"path":571,"permalink":572,"published":572,"readingTime":573,"recommend":578,"references":572,"seo":579,"sitemap":580,"stem":581,"tags":582,"type":586,"updated":587,"__hash__":588},"content\u002Fposts\u002F2024\u002Fwindows-terminal.md","Windows 终端体验优化指南",{"type":7,"value":8,"toc":543},"minimark",[9,13,31,35,40,44,54,57,65,69,72,75,85,88,123,126,150,154,261,265,268,301,308,311,314,344,347,350,357,413,420,461,465,490,504,507,510],[10,11,12],"h2",{"id":12},"启动",[14,15,16,28],"ul",{},[17,18,19,20,27],"li",{},"按 Win+R 打开运行窗口，输入 ",[21,22,25],"code",{"className":23,"code":25,"language":26},[24],"language-sh","wt","sh","，回车即可打开 Windows Terminal。",[17,29,30],{},"按 Win+X 打开开始按钮右键菜单，按 I（或 Alt+I）打开 Windows Terminal。",[10,32,34],{"id":33},"powershell","PowerShell",[36,37,39],"h3",{"id":38},"安装-sudo","安装 sudo",[41,42,43],"p",{},"如果你还没有升级到 Windows 24H2，你可以通过安装 gsudo 来添加 sudo 支持。",[14,45,46],{},[17,47,48,49],{},"安装 gsudo\n",[50,51],"copy",{"code":52,"prompt":53},"winget install gsudo","PS>",[41,55,56],{},"新系统的 sudo 命令十分令人恼火，它貌似无法执行 PowerShell 命令。要想在同一目录以管理员权限执行命令：",[14,58,59],{},[17,60,61,62],{},"在此目录以管理员权限启动新的终端：\n",[50,63],{"code":64,"prompt":53},"sudo wt -d $(pwd)",[36,66,68],{"id":67},"如果使用-windows-powershell","如果使用 Windows Powershell",[41,70,71],{},"根据 Microsoft 官方文档，PowerShell 和 Windows PowerShell 是两款不同的产品。",[41,73,74],{},"PSReadLine 模块会提供自动补全功能，Windows PowerShell 安装的是旧版本的 PSReadLine 模块，需要强制更新。",[14,76,77],{},[17,78,79,80,84],{},"安装新版 PSReadLine 模块\n",[50,81],{"code":82,"prompt":83},"Install-Module PSReadLine -Force","PS(管理员)>","\n如果第一次执行时提示安装 NuGet 提供程序，那么可能需要再次执行命令才能安装 PSReadLine。",[36,86,87],{"id":87},"启用自动补全",[14,89,90,96,110],{},[17,91,92,93],{},"新建 PS 配置文件的文件夹，若已存在可以忽略\n",[50,94],{"code":95,"prompt":53},"mkdir $PROFILE\u002F..",[17,97,98,99,102,107],{},"打开 PS 配置文件\n",[50,100],{"code":101,"prompt":53},"notepad $PROFILE",[14,103,104],{},[17,105,106],{},"也可以更改系统全局配置文件",[50,108],{"code":109,"prompt":53},"sudo notepad $PROFILE.AllUsersAllHosts",[17,111,112,113],{},"添加以下内容\n",[114,115,121],"pre",{"className":116,"code":118,"filename":119,"language":33,"meta":120},[117],"language-powershell","# 按 Tab 键显示补全菜单，按方向键切换选项\nSet-PSReadlineKeyHandler -Key Tab -Function MenuComplete\n# 启用行内自动补全，按右方向键补全\nSet-PSReadLineOption -PredictionSource History\n# 启用自动补全列表，按 F2 也可以切换行内补全和补全列表\n# Set-PSReadLineOption -PredictionSource History -PredictionViewStyle ListView\n# 行内自动补全使用 Ctrl+右方向键 按单词补全\nSet-PSReadLineKeyHandler -Chord \"Ctrl+RightArrow\" -Function ForwardWord\n","$PROFILE","",[21,122,118],{"__ignoreMap":120},[36,124,125],{"id":125},"小技巧",[14,127,128,134,140],{},[17,129,130,131],{},"快速切换到管理员终端（需要配置 OpenSSH 服务）\n",[50,132],{"code":133,"prompt":53},"ssh localhost",[17,135,136,137],{},"在配置文件中添加此行，快速进入 Git Bash\n",[50,138],{"code":139,"prompt":119,"lang":33},"Set-Alias bash $env:ProgramFiles\\Git\\bin\\bash",[17,141,142,143,146,147],{},"在配置文件中添加此行，按 ",[21,144,145],{"code":145},"Ctrl+D"," 退出 PowerShell\n",[50,148],{"code":149,"prompt":119,"lang":33},"Set-PSReadlineKeyHandler -Chord Ctrl+d -Function DeleteCharOrExit",[36,151,153],{"id":152},"oh-my-posh","Oh My Posh",[14,155,156,170,189,214],{},[17,157,158,159,166,167],{},"安装 oh-my-posh（参见 ",[160,161,165],"a",{"href":162,"rel":163},"https:\u002F\u002Fohmyposh.dev\u002Fdocs\u002Finstallation\u002Fwindows",[164],"nofollow","官方文档","）\n",[50,168],{"code":169,"prompt":53},"winget install JanDeDobbeleer.OhMyPosh",[17,171,172,173,178,181,186],{},"更改 PowerShell ",[160,174,177],{"href":175,"rel":176},"https:\u002F\u002Flearn.microsoft.com\u002Fzh-cn\u002Fpowershell\u002Fmodule\u002Fmicrosoft.powershell.core\u002Fabout\u002Fabout_execution_policies",[164],"执行策略",[50,179],{"code":180,"prompt":53},"Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser",[14,182,183],{},[17,184,185],{},"也可通过管理员权限更改系统策略",[50,187],{"code":188,"prompt":53},"sudo Set-ExecutionPolicy RemoteSigned",[17,190,191,192,166,196,201,203],{},"配置（参见 ",[160,193,165],{"href":194,"rel":195},"https:\u002F\u002Fohmyposh.dev\u002Fdocs\u002Finstallation\u002Fprompt",[164],[14,197,198],{},[17,199,200],{},"打开 PS 配置文件",[50,202],{"code":101,"prompt":53},[14,204,205],{},[17,206,207,208],{},"在文件中添加以下内容\n",[114,209,212],{"className":210,"code":211,"filename":119,"language":33,"meta":120},[117],"oh-my-posh init pwsh | Invoke-Expression\n",[21,213,211],{"__ignoreMap":120},[17,215,216,217],{},"安装字体\n",[14,218,219,233,248,251,258],{},[17,220,221,222,227,228],{},"访问 ",[160,223,226],{"href":224,"rel":225},"https:\u002F\u002Fwww.nerdfonts.com\u002Ffont-downloads",[164],"Nerd Fonts 网站"," 或者 ",[160,229,232],{"href":230,"rel":231},"https:\u002F\u002Fgithub.com\u002Fryanoasis\u002Fnerd-fonts\u002Freleases",[164],"Release 页面",[17,234,235,236,239,240,243,244,247],{},"按 ",[21,237,238],{"code":238},"Ctrl+F"," 搜索你常使用的字体，并下载（下载 ",[21,241,242],{"code":242},"Symbols Only","\u002F",[21,245,246],{"code":246},"NerdFontsSymbolsOnly.zip"," 即可）",[17,249,250],{},"解压后选中字体，右键安装",[17,252,253,254,257],{},"在 Windows Terminal 中，按 ",[21,255,256],{"code":256},"Ctrl+,"," 打开设置",[17,259,260],{},"配置文件 - 默认值 - 外观 - 字体 - 选择你下载的字体 - 保存",[10,262,264],{"id":263},"git-bash","Git Bash",[41,266,267],{},"在安装了 Git for Windows 后，可以将 Git Bash 添加到 Windows Terminal 中。",[14,269,270,273],{},[17,271,272],{},"打开 Windows Terminal 设置",[17,274,275,276],{},"配置文件 - 添加新配置文件\n",[14,277,278,283,289,295],{},[17,279,280],{},[50,281],{"code":264,"prompt":282},"名称",[17,284,285],{},[50,286],{"code":287,"prompt":288},"%ProgramFiles%\\Git\\bin\\bash.exe --login -i","命令",[17,290,291],{},[50,292],{"code":293,"prompt":294},"%USERPROFILE%","启动目录",[17,296,297],{},[50,298],{"code":299,"prompt":300},"%ProgramFiles%\\Git\\mingw64\\share\\git\\git-for-windows.ico","图标",[302,303],"link-banner",{"banner":304,"description":305,"link":306,"title":307},"https:\u002F\u002Fassets.zhilu.cyou\u002Fcover3\u002Fssh-key-login.jpg","生成SSH密钥，启用公钥认证，将公钥添加至授权列表，实现 Windows\u002FLinux\u002FGitHub SSH 免密登录。","\u002F2023\u002Fssh-key-login","SSH 免密登录",[10,309,310],{"id":310},"美化",[41,312,313],{},"修改位置：Windows Terminal 设置 - 配置文件 - 默认值 - 外观",[14,315,316,333],{},[17,317,318,319],{},"文本\n",[14,320,321,324,330],{},[17,322,323],{},"配色方案：One Half Dark",[17,325,326,327],{},"字体：",[21,328,329],{"code":329},"Cascadia Code, Symbols Nerd Font",[17,331,332],{},"自动调整无法区分的文本的亮度：仅适用于配色方案中的颜色",[17,334,335,336],{},"透明度\n",[14,337,338,341],{},[17,339,340],{},"背景不透明度：75%",[17,342,343],{},"启用亚克力材料：开",[10,345,346],{"id":346},"搜索历史命令",[41,348,349],{},"在更新了 PS ReadLine 后，可以通过按 F2 键切换行内补全和补全列表。",[41,351,352,353,356],{},"另外，",[21,354,355],{"code":355},"Ctrl + R"," 也可用于搜索命令历史记录。使用方法如下：",[358,359,360,374,380,389,399],"ol",{},[17,361,362,366,367,369,370,373],{},[363,364,365],"strong",{},"进入搜索模式","：按下 ",[21,368,355],{"code":355},"，你会看到提示符变成 ",[21,371,372],{"code":372},"(reverse-i-search)","，这意味着你可以开始搜索之前执行过的命令。",[17,375,376,379],{},[363,377,378],{},"输入搜索关键字","：开始输入你想要查找的命令的部分内容，PowerShell 会实时显示与输入内容匹配的最近命令。",[17,381,382,385,386,388],{},[363,383,384],{},"查看匹配结果","：如果有多个匹配的命令，你可以继续按 ",[21,387,355],{"code":355}," 来查看更早的匹配结果。每按一次，会向后查找一个匹配的命令。",[17,390,391,394,395,398],{},[363,392,393],{},"执行命令","：当找到想要的命令后，按 ",[21,396,397],{"code":397},"Enter"," 执行该命令。",[17,400,401,404,405,408,409,412],{},[363,402,403],{},"取消搜索","：如果不想执行搜索到的命令，可以按 ",[21,406,407],{"code":407},"Ctrl + G"," 或 ",[21,410,411],{"code":411},"Esc"," 取消搜索，返回到普通的命令提示符。",[41,414,415,416,419],{},"同时，",[21,417,418],{"code":418},"Ctrl + S"," 用于正向搜索命令历史记录。使用方法如下：",[358,421,422,433,438,445,451],{},[17,423,424,366,427,369,429,432],{},[363,425,426],{},"进入正向搜索模式",[21,428,418],{"code":418},[21,430,431],{"code":431},"(forward-i-search)","。",[17,434,435,437],{},[363,436,378],{},"：开始输入你想要查找的命令的部分内容，PowerShell 会实时显示与输入内容匹配的下一个命令。",[17,439,440,385,442,444],{},[363,441,384],{},[21,443,418],{"code":418}," 来查看下一个匹配结果。",[17,446,447,394,449,398],{},[363,448,393],{},[21,450,397],{"code":397},[17,452,453,455,456,408,458,460],{},[363,454,403],{},"：按 ",[21,457,407],{"code":407},[21,459,411],{"code":411}," 可以取消搜索，返回到普通的命令提示符。",[10,462,464],{"id":463},"使用-fastfetch-获取系统信息","使用 Fastfetch 获取系统信息",[41,466,467,468,473,474,478,479,484,485,489],{},"在 Windows 下，推荐使用 ",[160,469,472],{"href":470,"rel":471},"https:\u002F\u002Fscoop.sh\u002F",[164],"Scoop"," 安装命令行程序。安装 Scoop 后，可以通过 ",[21,475,477],{"className":476,"code":477,"language":26},[24],"scoop install fastfetch"," 安装 ",[160,480,483],{"href":481,"rel":482},"https:\u002F\u002Fgithub.com\u002Ffastfetch-cli\u002Ffastfetch",[164],"Fastfetch","。（参考",[160,486,488],{"href":487},"\u002F2024\u002Fsfd-xupt#%E4%BD%BF%E7%94%A8%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E5%AE%89%E8%A3%85%E8%BD%AF%E4%BB%B6","Windows 上的开源软件入门 > 使用包管理器安装软件","）",[14,491,492,498],{},[17,493,494,495],{},"打印系统信息\n",[50,496],{"code":497,"prompt":53},"fastfetch",[17,499,500,501],{},"更详细地显示系统信息，并隐藏 Logo\n",[50,502],{"code":503,"prompt":53},"fastfetch -c all -l none",[41,505,506],{},"Fastfetch 还支持更进一步地定义配置文件。",[10,508,509],{"id":509},"一些有趣的命令",[14,511,512,518,531,537],{},[17,513,514,515],{},"通过 PS ReadLine 获取历史记录\n",[50,516],{"code":517,"prompt":53},"Get-Content (Get-PSReadlineOption).HistorySavePath",[17,519,520,521,166,525,528],{},"获取命令位置（类似于 Linux 的 ",[21,522,524],{"className":523,"code":524,"language":26},[24],"which",[50,526],{"code":527,"prompt":53},"(Get-Command \u003Ccommand>).Definition",[50,529],{"code":530,"prompt":53},"where.exe \u003Ccommand>",[17,532,533,534],{},"在此次打开文件资源管理器\n",[50,535],{"code":536,"prompt":53},"explorer .",[17,538,539,540],{},"在无网状态下开启移动热点\n",[50,541],{"code":542,"prompt":53},"[Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile([Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()).StartTetheringAsync()",{"title":120,"searchDepth":544,"depth":544,"links":545},4,[546,548,556,557,558,559,560],{"id":12,"depth":547,"text":12},2,{"id":33,"depth":547,"text":34,"children":549},[550,552,553,554,555],{"id":38,"depth":551,"text":39},3,{"id":67,"depth":551,"text":68},{"id":87,"depth":551,"text":87},{"id":125,"depth":551,"text":125},{"id":152,"depth":551,"text":153},{"id":263,"depth":547,"text":264},{"id":310,"depth":547,"text":310},{"id":346,"depth":547,"text":346},{"id":463,"depth":547,"text":464},{"id":509,"depth":547,"text":509},[562],"技术","2024-06-16 22:48:57","一篇优化 Windows Terminal 体验的指南，涵盖 PowerShell 增强、Oh My Posh 主题配置、集成 Git Bash 以及终端美化等方面。",false,"md","https:\u002F\u002Fassets.zhilu.cyou\u002Fcover3\u002Fwindows-terminal.jpg",{"slots":569},{},true,"\u002F2024\u002Fwindows-terminal",null,{"text":574,"minutes":575,"time":576,"words":577},"6 min read",5.985,359100,1197,1,{"title":5,"description":564},{"loc":571},"posts\u002F2024\u002Fwindows-terminal",[583,584,585],"Windows Terminal","命令行","配置","tech","2024-11-02 17:55:29","pgaxnnXXnVSd3XxQRVIxaVZoge6t54ziwDGD8jBESyU",[590,596],{"title":591,"path":592,"stem":593,"date":594,"type":595,"children":-1},"有问题，就要讲出来。","\u002F2024\u002Fproblem-solved","posts\u002F2024\u002Fproblem-solved","2024-06-04 08:02:36","story",{"title":597,"path":598,"stem":599,"date":600,"type":595,"children":-1},"封面被 Linux QQ 官方用了，但是有一些小缺陷","\u002F2024\u002Fcover-copied","posts\u002F2024\u002Fcover-copied","2024-06-18 13:23:05",1782091373538]