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痞子衡便介绍完毕了,掌声在哪里~~~

转自:https://www.cnblogs.com/henjay724/p/8456791.html

忘掉cmd.exe吧!选用优雅的控制台终端(ConsoleZ)的更多相关文章

  1. 痞子衡嵌入式:忘掉cmd.exe吧!选用优雅的控制台终端(ConsoleZ)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是一款优雅的替换cmd的命令行终端ConsoleZ. 1.使用cmd的烦恼 嵌入式开发经常会用到命令行工具,Windows系统自带的com ...

  2. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  3. 将Python文件打包为exe文件,并在控制台运行之简易教程

       第一步  在线安装 pyinstaller. 方法:打开win+ R,输入cmd,在命令行输入"pip install pyinstaller" 静等几分钟后即可安装成功. ...

  4. 关于.Net中Process的使用方法和各种用途汇总(二):用Process启动cmd.exe完成将cs编译成dll

    上一章博客我为大家介绍了Process类的所有基本使用方法,这一章博客我来为大家做一个小扩展,来熟悉一下Process类的实际使用,废话不多说我们开始演示. 先看看我们的软件要设计成的布局吧. 首先我 ...

  5. vista忘记用户名密码的修改方法(使用PE进入系统,用cmd.exe冒充虚拟键盘,然后就可以mmc组策略,或者命令行添加用户并提升权限)

    1. 准备Windows Vista安装光盘,进入BIOS将光驱设为第一启动,在出现的安装界面依次单击"修复计算机","命令提示符". 2.输入以下命令: co ...

  6. CMD.EXE中dir超长字符串缓冲区溢出原理学习

    最近看逍遥的<网络渗透攻击与安防修炼>讲到CMD命令窗口的dir传超长字符串溢出的例子.自己实验了一下,的确会产生程序崩溃,但是具体什么原理没太详细说,这里做一下原理探究,权当学习笔记了. ...

  7. visual 2008中error PRJ0003 : 生成 cmd.exe 时出错

    visual 2008中error PRJ0003 : 生成 cmd.exe 时出错”,   和vs2008 sp1没关系 解决方案:工具—>选项—>项目和解决方案—>VC++目录, ...

  8. windows CMD.exe下写路径太长的解决方案

    1.直接找到文件拖进cmd里,路径就出来了. 2.在文件目录的空白处,按住shift键,再点击右键,就出来再此处打开命令行窗口了. 相关CMD.exe的加强项目: https://github.com ...

  9. C#程序调用cmd.exe执行命令

    代码部分 using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Wi ...

随机推荐

  1. RHCSA 第五天

    1. a.创建普通变量local_data=1并访问 [root@sss ~]#local_data=1 [root@sss ~]#echo local_data local_data [root@s ...

  2. Cplex用法

    Cplex用法 1.将问题转化为LP问题: cplex -c read mps/nw460.mps change problem type lp opt 2.将问题转化为LP问题并输出问题: cple ...

  3. Nginx 反向代理解决跨域问题分析

    当你遇到跨域问题,不要立刻就选择复制去尝试.请详细看完这篇文章再处理 .我相信它能帮到你. 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://local ...

  4. RBAC: K8s基于角色的权限控制

    文章目录 RBAC: K8s基于角色的权限控制 ServiceAccount.Role.RoleBinding Step 1:创建一个ServiceAccount,指定namespace Step 2 ...

  5. ManualResetEvent实现线程的暂停与恢复

    背景 前些天遇到一个需求,在没有第三方源码的情况下,刷新一个第三方UI,并且拦截到其ajax请求的返回结果.当结果为AVALIABLE的时候,停止刷新并语音提示,否则继续刷新. 分析这个需求,发现需要 ...

  6. echarts x轴的纵向区域随便点击获取点击的x轴那一纵向区域的值

    1.现在xAxis里面配置一下: 2.在生成图表的后面加入框起来的部分 myChart.getZr().on('click', function (params) { /* 通过获取echarts上面 ...

  7. centos7 查看开机启动项

    使用 systemctl list-unit-files  查看开机启动项 systemctl is-enabled redis.service  是否开机启动

  8. iptables规则管理

    查看规则 iptables -t filter -L INPUT -n -v --line  省略-t选项时,表示默认操作filter表中的规则 添加规则 注意点:添加规则时,规则的顺序非常重要  - ...

  9. 「数据结构」Link-Cut Tree(LCT)

    #1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...

  10. clickhouse-mysql数据同步

    clickhouse版本:22.1.2.2 1.Mysql引擎(不推荐) CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] EN ...