热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学妹问我的终端为什么这么好看———windows命令行美化指南(从cmd到ohmyposh)

学妹问我的终端为什么这么好看———windows命令行美化指南(从cmd到oh-my-posh)前言一个美观的开发界面,对于调试程序、管理代码版本、提升编程体验等
学妹问我的终端为什么这么好看———windows命令行美化指南(从cmd到oh-my-posh)

前言

一个美观的开发界面,对于调试程序、管理代码版本、提升编程体验等有着至关重要的作用。本文介绍了windows平台下命令行界面的美化方法,以期让读者拥有更好的编程体验。

在图形化用户界面(GUI)大规模普及之前,命令行界面(CLI)一直是电脑界的主流。CLI开销小、运行快速,但是非专业用户使用不方便。如今,不从事开发的电脑用户接触到命令行的机会已经很少了(非计算机系学习C,可能只会在“命令行参数”一节接触到命令行),但如果从事软件开发,使用git、gcc等工具,熟练掌握命令行的使用还是有必要的。

了解更多资讯,关注公众号:SEOFSC。
请添加图片描述

cmd

点击win+R,输入cmd,就会弹出windows下最基本的命令行终端——cmd。它的初始界面长这样:

在这里插入图片描述

且不说白+黑的配色毫无生机,字体看上去也十分违和。这种不美观的界面可能的确劝退了不少人学习它的欲望。

科普:什么样的字体才能称之为好看?

  • serif:衬线字体,字体边缘具有明显的艺术修饰效果,如 宋体(simsun)Times new roman

    这种字体适合做艺术字,但若用作代码字体,则会显得节外生枝,影响呈现效果。

  • sans-serif:非衬线字体,字体比划一般粗细均匀、清晰,如 微软雅黑(Arial)。

    这种字体一般用于正文写作。

  • monospace:等宽字体,指每个英文字符(字母、数字、标点)宽度一致的字体。如 Consolas、Courier New

    这种字体由于呈现效果较好,被广泛地用于编程。

    绝大多数开发工具都会有使用等宽字体的建议(如VS 2019):

    在这里插入图片描述


我们试图给cmd换一个monospace的字体(右键边框,点击“属性”)。遗憾的是,cmd字体的选择十分匮乏,找不到合适的monospace字体。

powershell

我们看看windows上另一款更加强大的命令行界面:powershell。在windows搜索框中键入powershell,打开。

在这里插入图片描述

遗憾的是,除了黑色界面变成蓝色界面,字体的呈现效果并没有什么改观。而且,powershell也没有提供一种较为美观的monospace字体。

在这里插入图片描述

windows terminal

长期以来,windows都没有像mac、Linux那样,为开发者提供一个较为美观的命令行界面。这种情况一直到2019年windows terminal的推出才有所改观。你可以在Microsoft Store中直接安装它。

安装完毕后,启动效果如下:

在这里插入图片描述

打开“设置-power shell图标-外观”,可以看到现在终端的字体是Cascadia Mono,可以查证这是一种等宽字体。windows powershell的字体的选择十分丰富,你可以根据自己的喜好任意挑选。

在这里插入图片描述

oh-my-posh

还可以实现更加美观的效果吗?当然可以!我们需要借助oh-my-posh插件,先看下最终效果吧:

在这里插入图片描述

可以看到,该插件不仅加入了彩色的图标、操作时间等元素,而且对文件夹的git仓库状态等也有较好的显示。

预安装要求:Windows terminal、git(关注公众号:SEOFSC,后台回复:git,领取git安装程序,安装时只需一路点OK)。

  1. 下载oh-my-posh和posh-git插件

    由于一些众所周知的原因,网络上所展示的传统的下载途径可能需要一些特殊的手段。对此,小编准备了插件资源(后台回复:terminal,提取插件)。资源中有一个Modules文件夹和一个Microsoft.PowerShell_profile.ps1文件。

    下载完毕后,在你的电脑中找到C:\Users\用户名\Documents(或文档)\WindowsPowerShell文件夹(也有可能是其它的D盘或E盘,因人而异)。此时的文件夹中应该有一个Scripts文件夹。将Modules文件夹和一个Microsoft.PowerShell_profile.ps1文件按照如下方式放置:

在这里插入图片描述

启动windows terminal,会看到以下场景:

在这里插入图片描述

这些方块是什么?是乱码。这是因为系统自带的字体不能渲染oh-my-posh的一些特定符号。我们需要下载对应的字体。

  1. 终端后续配置

    为渲染这些符号,我们需要下载名为Nerd系列的字体。网址如下:https://www.nerdfonts.com/.

    (若网址打不开,也可后台回复:fonts,领取Nerd字体)。解压文件夹后,打开其中的.ttf文件,点击安装,即可使用字体。

在这里插入图片描述

重启windows terminal,选择刚才安装的字体,即可呈现出正确的效果。

在这里插入图片描述

还可以设置终端背景、终端透明度等,让你的命令行界面更加出彩。
在这里插入图片描述

终端键入Get-PoshThemes,可以查看所有颜色主题。
在这里插入图片描述
键入Set-PoshPrompt -Theme 主题名称,切换主题。
在这里插入图片描述
至此,命令行界面美化完成!


推荐阅读
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
author-avatar
沈巛小糖meimei昌策_247
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有