Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。

在 Microsoft Build 2019 的大会上,微软给我们带来了一款全新设计的终端模拟器 Microsoft Terminal。虽然过度好看的宣传片和实际的效果有着巨大的落差,但是也不影响它在 Windows 阵营里取得最高的颜值称号。

从 Preview v0.2 版本开始我就试用了这款工具,到今天的 Preview v0.6 版本最后关键的问题修复后我才想说来跟大家分享一下这个工具。

安装 Terminal

Microsoft Terminal (下称 Terminal) 明确要求了系统版本至少需要 「Windows 10 version 18362」 或以上才能使用。

而现在的安装方法也很简单,从 Microsoft Store 里面搜索 「Microsoft Terminal」 就可以直接安装和卸载了。

但是到目前为止,Terminal 还是处于一个 Preview 的阶段,功能上来说不会囊括所有的用户的期望,如果想要有自己期望的功能,可以在官方的开源仓库的 Github issue 上发 Feature Request 哟~

全新配置管理方式

Terminal 采用了 JSON 文件作为它的配置文件,这就意味着你可以将整个配置文件备份,然后在别的地方下载下来快速使用,十分的方便。

实际使我眼前一亮的点是,当我用 Sublime 修改该配置文件保存的时候,已经打开了的 Terminal 的样式能实时发生改变,这大大提高了用户调整配置的便捷程度,而很多工具要做到这点都是将设置界面做成软件的一部分才能实现的,这点给 Terminal 大大的加分。

由于是 JSON 纯文本配置文件,总是有可能出现手抖或者配置出错的问题,这时候保存配置文件会被提示文件哪里的配置有问题,而该次的保存不会生效,实际调试样式还是十分方便的。

Less is More 的配置项

Terminal 提供的配置项不多,但我觉得 98% 的人也只需要修改到这些配置项就足够了,下面来跟大家陈列一下它提供的配置项吧(我只挑重点的来展示):defaultProfile:默认启动的方案,可以为 CMD,PowerShell,Azure 等

keybindings:快捷键映射

acrylic:透明度

background:背景颜色或者背景图片 动漫女神

colorScheme:配色方案,可以自定义配色

commandline:默认启动的程序,一般为 cmd.exe 等

cursorColor:光标颜色

cursorShape:光标形状

fontFace:字体方案

fontSize:字体大小

icon:该方案的代表图标

name:该方案的名称

padding:外边距

historySize:保留的历史输出大小

一般情况下,当你调整好了显示的字体和大小,调整背景和透明度,还有配色方案,基本上就把一个终端模拟器的外观给定义好了。

由于是 JSON 配置文件,文件里面也不能像以前的方式一样给出选项,微软将一份配置文件说明放在了仓库中 => Settings Schema 。但是却没有在配置文件里面提供链接,我觉得这点还是需要改进的。

功能的最后一块拼图

谈及终端模拟器,一般情况下我会从一些特定的功能去考察它是否功能完备,以及它的加分点有哪些

GPU 加速

这个就属于新时代的终端模拟器的代表功能了,之前在 Manjaro 下面使用 Alacritty 终端模拟器时才体会到在 GPU 加速的这一功能。在大量的文本打印的时候,得益于 GPU 的加速,丝毫没有那种播放 PPT 的卡顿感,这个对于长时间在终端下工作的我来说还是十分舒服的。

多标签

诚然,很多的终端模拟器都自带了多标签,比如 xshell,mobaxterm 和 cmder 等。前两者在工作用途上是收费的,后者总是占用了太多的 Linux 快捷键。之前我不得不使用 CMD 代替它们(发现意外的好用),现在 Terminal 来将 CMD 缺失的多标签功能给补齐了。

Emoji 支持

虽然微软平台的 Emoji 真的很丑,但是有总比没有好不是嘛,我还是很喜欢在 Git commit 里面加点 emoji 让它好看一点的。

NCURSES 的支持

对于重度使用终端的人来说,基本上离不开两个重要的工具,文本编辑器(Vim / Emacs)和终端复用器(Tmux / Screen)。而它们的底层,其实都是由 ncurses 来提供支持的。这个库可以让你的终端除了不断打印出新的东西,还能后退擦除一些东西,从而造成屏幕不断刷新的效果。

通过我两周以来的实际体验,在我的日常使用中完全没有问题,因此才会想推荐给大家。

复制与粘贴

这个就是我指的最后的一块拼图。在 v0.6 版本之前,Terminal 的复制粘贴功能一直有很大的问题。在 Github issue 中搜索 「copy / paste」 等关键字就可以知道。开发团队为了兼容微软长期以来的 Ctrl + C 的复制快捷键做了大量的工作。

v0.6 版本以前,复制多段文字的时候,在别的地方粘贴总是会出现超长的一行,比如a\nb可能会被粘贴成a \space*555 b的情况,十分影响正常的工作,可惜我已经展示不了了。之前总是需要借助 tmux + http 才能绕过这个问题。现在这个恼人的问题终于被修复了,也就是说可以被大家广泛使用了。

基础的功能

Terminal 本身还支持 xterm-256 color ,UTF-8 和 unicode 编码,这些我认为都是必要的功能,这里就不细说了。

我的使用分享

我最近使用的是微软为开发者打造的一款字体 Cascadia,开源仓库在这里 => Cascadia Code . 我很喜欢它,得益于对 unicode 编码的支持,在 GPU 加速的情况下,它总能给我很多很好看的小惊喜,比如=>会被渲染成一个完整的箭头,并且跟随进度条移动。更多的就等你们使用发掘啦。

我用的是里面默认的 「One Half Dark」配色,我觉得很好看,搭配 70% 的透明度和 5 pixel 的外边距,整体效果很不错。

最后放上我的配置图,剩下的就大家去尝试一下吧~

> 下载少数派 客户端、关注 少数派公众号,找到更好用美观的新工具

linux高颜值终端,Microsoft Terminal 颜值在线的终端模拟器相关推荐

  1. Linux 探索之旅 | 第二部分第一课:终端 Terminal,好戏上场

    -- 作者 谢恩铭 转载请注明出处 内容简介 第二部分第一课:终端Terminal,好戏上场 第二部分第二课预告:命令行,世界尽在掌握 终端Terminal,好戏上场 上一课 Linux探索之旅 | ...

  2. Linux中的终端(Terminal)与控制台(Console)的区别

    前言:我们经常听见两个概念,终端和控制台,但是它们的本质到底是什么,到底有什么区别,却很少能够讲得清楚,虽然明确的区分它们并没有太大的用处,但是对于理解Linux还是非常有帮助的. 一.终端Termi ...

  3. 腾讯云在线WebShell终端使用体验

    前言 WebShell最近更新的很快,之前都是每更新一次就新开一篇文章并引用前一篇文章的链接,后面考虑到更新如此频繁影响到小伙伴们的阅读体验,故开一篇新的合集,此后每次更新都会在这里修改并打上修改日期 ...

  4. Linux 高并发服务器开发

    该文章是通过观看牛客网的视频整理所得,以及在实践过程中遇到的问题及解决方案的整理总结. Linux 高并发服务器开发 linux 系统编程 linux 环境的搭建 环境搭建需要的软件 虚拟机中安装 u ...

  5. linux的终端,网络虚拟终端,伪终端

    linux的终端,网络虚拟终端,伪终端 转自:http://www.xuebuyuan.com/877887.html Linux上许多网络服务应用,如l2tp.pptp.telnet,都用到了伪终端 ...

  6. hyperterminal使用教程_如何在Win7中安装使用超级终端Hyper Terminal(转)

    [整理]如何在Win7中安装使用超级终端Hyper Terminal how install hyper terminal into Win7 作者:crifan 联系方式:green-waste ( ...

  7. 如何在Win7中安装使用超级终端Hyper Terminal

    如何在Win7中安装使用超级终端Hyper Terminal how install hyper terminal into Win7 作者:crifan 联系方式:green-waste (at) ...

  8. Linux高并发服务器开发---笔记2(多进程)

    0630 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.2 Linux系统编程1.4.3 Linux系统编程2 4.4 多进程 1-9 10.进程间通信☆☆☆ 进程间 ...

  9. Linux高并发服务器开发---笔记1(环境搭建、系统编程、多进程)

    0613 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.1.1 项目介绍 4.1.2 开发环境搭建 ①安装Linux系统.XSHELL.XFTP.Visual Stu ...

最新文章

  1. 但是我们还是不想留遗憾,我们不后悔!
  2. php函数剩余时间,php计算剩余时间的自定义函数
  3. 【MYSQL】常用命令备忘录
  4. html中怎样引入外部字体文件路径,CSS引入外部字体
  5. 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)
  6. 大话oraclerac集群、高可用性、备份与恢复_数腾Oracle RAC数据库灾备解决方案
  7. matlab图像边缘检测分析
  8. 【零基础学Java】—System类(三十五)
  9. DeepStream运行范例出错,提示缺少libnvinfer.so怎么办?
  10. antd table动态表头_jQuery的datatable动态列处理,轻松重绘表格
  11. 12306数据库遭泄露,请尽快修改密码
  12. xbox蓝牙手柄驱动_如何通过蓝牙将Xbox One控制器连接到Windows
  13. 自然语言处理 文本数据分析
  14. 163,搜狐,新浪哪个邮箱安全?
  15. error: cannot lock ref ‘refs/remotes/origin/release/xxxx‘: ‘refs/remotes/origin/release‘ 已存在,无法创建
  16. 折叠屏领衔 1亿累计用户的vivo X系列战高端
  17. 每日一学 | 2021-05-18 | Power BI 学习笔记00、01、02
  18. 动态路由协议RIP配置和动态路由协议OSPF配置
  19. 红米K30s和华为Mate30Epro哪个好
  20. 电路中输入电阻,网孔电流法,节点电压法,戴维宁定理知识点复习总结

热门文章

  1. 【※iPad到底有些什么用※lpxt】
  2. 怎么做一个管理者和怎么成为一个管理者?
  3. Android手机9008模式刷机教程(以小米手机为例)
  4. 正面刚甲骨文?那不是华为GaussDB的格局
  5. 情迁qq机器人图文api调用
  6. Java基础巩固(二)异常,多线程,线程池,IO流,Properties集合,IO工具类,字符流,对象流,Stream,Lambda表达式
  7. JOHNSON-COOK材料模型参数
  8. 单向链表与双向链表区别
  9. 使用PostGIS对数据做拓扑抽稀
  10. PG提示could not determine data type of parameter $4