热门标签 | 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 主题名称,切换主题。
在这里插入图片描述
至此,命令行界面美化完成!


推荐阅读
  • 2019-2020学年 20174325 叶竞蔚 《网络对抗技术》实验六:Metasploit基础应用
    本实验旨在掌握Metasploit框架的基本应用方法,重点学习三种常见的攻击方式及其实施思路。实验内容包括一次主动攻击(如MS08-067)、一次针对浏览器的攻击(如MS11-050)以及一次针对客户端的攻击(如Adobe漏洞利用)。此外,还包括成功应用一个辅助模块。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 解决Pytesser模块在Windows环境下出现的错误
    本文详细探讨了如何解决在Windows环境中使用Pytesser模块进行OCR(光学字符识别)时遇到的WindowsError错误,提供了具体的解决方案。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 深入解析Dubbo:使用与源码分析
    本文详细介绍了Dubbo的使用方法和源码分析,涵盖其架构设计、核心特性和调用流程。 ... [详细]
  • 本文将详细介绍如何配置JDK 8u101的环境变量,包括下载、安装和环境变量的设置步骤。适用于64位和32位操作系统。 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 在Effective Java第三版中,建议在方法返回类型中优先考虑使用Collection而非Stream,以提高代码的灵活性和兼容性。 ... [详细]
  • 探讨低代码行业发展现状,分析其未能催生大型企业的原因,包括市场需求、技术局限及商业模型等方面。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
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社区 版权所有