大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是一款优雅的替换cmd的命令行终端ConsoleZ。

1.使用cmd的烦恼

  嵌入式开发经常会用到命令行工具,Windows系统自带的command line工具(cmd.exe)的简陋程度不用说大家都深有体会。使用cmd.exe有如下几个主要的烦恼:

  • 没有多标签支持:打开多个命令行窗口,任务栏下面就会显示多个终端窗口,且这些窗口都没有命名,切换极不方便。
  • 复制粘贴太麻烦:复制粘贴的操作之繁琐简直让人无法接受。
  • 窗口大小不可调:窗口宽度不可调整,对于比较长的命令输入或log显示,看起来极不雅观。

2.Console项目

  在讲本文主角ConsleZ之前有必要提一下这个软件的前身,ConsoleZ实际上是Console项目的一个分支,Console是由Marko Bozikovic维护在SourceForge上的开源项目,第一个正式版本1.0于2002年1月发布。目前最新的版本是2.00b148-Beta(截止到2017年9月),发布于2011年10月。

Console项目官方主页(SourceForge) https://sourceforge.net/projects/console/

Console项目Github:https://github.com/bozho/console

  Console(Console2)可以理解为cmd.exe的前端(Windows系统下),和Konsole,Gnome Ternimal之于bash的角色(Linux系统下)是一样的。

3.ConsoleZ项目

  由于Console已经很久没有更新,Christophe Bucher在Console项目基础上开发出了ConsoleZ。相比Console,ConsoleZ主要是在更新的系统Windows Vista/7/8/10下的体验以及视觉效果上有进一步改进。目前最新的版本是1.18.2(截止到2017年9月),发布于2017年9月。

ConsoleZ项目官方主页(Github) https://github.com/cbucher/console

  跟Console一样,ConsoleZ也只是个shell工具(cmd.exe)的前端,它本身并没有实现shell工具的功能,它只是基于shell工具做了一个包装。无论是Console还是ConsoleZ,都可以解决我们在使用cmd.exe时的烦恼。如下是ConsoleZ(Console)基本特性:

  • multiple tabs(多标签)
  • text editor-like text selection(像文本编辑器一样编辑)
  • different background types (solid color, image, fake transparency)(可设背景样式)
  • configurable font(可设字体类型)
  • different window styles(不同窗口式样)

  除了上述基本特性外,ConsoleZ还支持更多有用的特性:

  • Splitting Tabs into views (horizontally and vertically)(同窗分屏显示多标签)
  • Grouping views (so input sent to one goes to all of them)
  • and more...

  尤其是看到同窗分屏显示多标签,小伙伴们是不是有点激动?在Edit->Settings->Hotkeys里找到或定义Spilt Horizontally/Vertically的热键,然后使用热键将打开的Console窗口按需分屏,下面贴一张效果图:

4.如何包装更多的shell工具?

  cmd.exe是ConsoleZ默认包装的shell工具,除了cmd.exe外,我们还会用到其他的shell工具,比如Git bash(痞子衡安装的版本是v2.12.0 x64)。那么ConsoleZ如何包装Git bash呢?在Edit->Settings->Tabs里使用Add新建一个Tab(痞子衡新建的叫ConsoleZ - git bash),然后将Main框里的一些选项配置上,其中最重要的是Shell一栏,需填入如下语句(cmd.exe和sh.exe路径需要根据自己PC路径而定):

C:\Windows\SysWOW64\cmd.exe /c "C:\mcu_tools\Git\bin\sh.exe --login -i"

  配置好之后新建Tab时选择ConsoleZ - git bash便可以看到Console打开的是Git bash。

  至此,命令行终端ConsoleZ痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:忘掉cmd.exe吧!选用优雅的控制台终端(ConsoleZ)的更多相关文章

  1. 忘掉cmd.exe吧!选用优雅的控制台终端(ConsoleZ)

    1.使用cmd的烦恼 嵌入式开发经常会用到命令行工具,Windows系统自带的command line工具(cmd.exe)的简陋程度不用说大家都深有体会.使用cmd.exe有如下几个主要的烦恼: 没 ...

  2. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(3)- Serial Downloader模式(sdphost/MfgTool)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Serial Downloader模式. 在上一篇文章 Boot配置(BOOT Pin, eFUSE) ...

  3. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(1)- 环境搭建(Python2.7.14 + PyAudio0.2.11 + Matplotlib2.2.3 + SpeechRecognition3.8.1 + pyttsx3 2.7)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之环境搭建. 在写Jays-PySPEECH时需要先搭好开发环境,下表列出了开发过程中会用到的 ...

  4. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之语音识别实现. 语音识别是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...

  5. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(6)- 文语合成实现(pyttsx3, eSpeak1.48.04)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之文语合成实现. 文语合成是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...

  6. 痞子衡嵌入式:导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之SFDP

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之SFDP. i.MXRT系列MCU发布已两年多了,基于i.MXR ...

  7. 痞子衡嵌入式:借助Serial Plot软件测量i.MXRT系列FlexSPI驱动Flash页编程执行时间

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT系列FlexSPI驱动Flash页编程执行时间. 痞子衡之前写过一篇文章 <串行NOR Flash的页编程模式对于量产 ...

  8. 痞子衡嵌入式:浅析IAR下调试信息输出机制之半主机(Semihosting)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之半主机(Semihosting). 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我 ...

  9. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

随机推荐

  1. 如何在Ubuntu上安装LAMP服务器系统?

    在Ubuntu上安装LAMP Ubuntu的开发人员让人们很容易安装和配置LAMP软件包,只要借助一个终端命令.所以,打开终端窗口,让我们开始入手吧. sudo apt-get install lam ...

  2. JSP与Servlet的关系

    之前的文章里有说过,其实Servlet比JSP出现的早,JSP的本质就是Servlet,但是一个是jsp页面,一个是java类,硬要说他们的本质是一样的,搁谁都有点难以置信.后面的结论会更加让你吃惊. ...

  3. Timer of STM32

    下面是STM32得定时器程序,分两个文件Timer.c和Timer.h /*************************************************************** ...

  4. vue.js 2.0(1)

    1.点击一个按钮打开,关闭弹框 2.实现滚动监听,导航看顶置,实现某元素吸顶 路由

  5. Leetcode 34 Find First and Last Position of Element in Sorted Array 解题思路 (python)

    本人编程小白,如果有写的不对.或者能更完善的地方请个位批评指正! 这个是leetcode的第34题,这道题的tag是数组,需要用到二分搜索法来解答 34. Find First and Last Po ...

  6. stm32模拟IO读写AT24C02

    /* *@brief 主机向从机写多字节 * *@param addr - 地址 *@param p_buf - 数据指针 *@param len - 待写入字节长度 * *@return * *@n ...

  7. JS全局变量与局部变量

    一句话概括:在函数外声明的变量都为全局变量,在函数内声明的为局部变量. 一.局部变量和全局变量重名会覆盖全局变量 var a = 1; function test1() { var a = 2; al ...

  8. cf Round#273 Div.2

    题目链接,点击一下 Round#273 Div.2 ================== problem A Initial Bet ================== 很简单,打了两三场的cf第一 ...

  9. 关于isNaN()函数的细节

    根据<JavaScript高级程序设计>的解释,NaN,即非数值(Not a Number),用于表示一个本来要返回数值的操作数未返回数值的情况,例如5/0就会得到NaN. 而因为NaN的 ...

  10. 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/v0pffOhjFWnVbU2lXjuEmw 导语 G ...