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. Java传递变量和对象的区别

    传递对象 public class Demo03 { //引用传递:(实际上还是值传递)对于引用数据类型来说,传递的则是地址的副本(对象的地址).但由于地址副本和原来的类似,因此传递过去后形参也只想同 ...

  2. Parallel.For实现

    static class MyParallel { //4.0及以上用Task, Task的背后的实现也是使用了线程池线程 //static List<Task> tasks = new ...

  3. MongDB日志分析

    Result文件数据说明: Ip:106.39.41.166,(城市) Date:10/Nov/2016:00:01:02 +0800,(日期) Day:10,(天数) Traffic: 54 ,(流 ...

  4. 【记录一个问题】linux下使用opencv中的UMat,性能并未提升,反而略有下降

    使用后性能略微下降,一开始怀疑是UMat拷贝的问题.运行 nvidia-smi -l 1, 发现GPU占用始终为0.说明opencl使用的是CPU版本,而不是GPU版本.明天试验opencl的GPU版 ...

  5. Android Studio如何查看自己设计的数据库

    首先点击左上角进入Device File Explorer 进入后 点击data-data 找到你的项目名称 进入后点击你建立的数据库 一步步按照提示进行操作,即可显示你的表

  6. AtCoder Beginner Contest 146_E - Rem of Sum is Num

    预处理即可 我们要找的是 (f[i] - f[j]) % k == i - j 移项可得 f[i] - i = f[j] - j 在 i - j <= k 的条件下 因此题目变成了,对于每个右端 ...

  7. LeetCode673

    LeetCode每日一题2021.9.20 LeetCode673. 最长递增子序列的个数 思路 在最长上升子序列的转移时,维护一个 cnt 数组,表示 以 i 结尾的最长上升子序列个数 f[i] 表 ...

  8. Java安全之BCEL ClassLoader

    目录 Java安全之BCEL ClassLoader 写在前面 About BCEL 调试分析 食用姿势 Fuzz反序列化Gadget Fastjson BCEL Payload Thymeleaf ...

  9. PriorityQueue的用法和底层实现原理

    定义 PriorityQueue类在Java1.5中引入并作为 Java Collections Framework 的一部分.PriorityQueue是基于优先堆的一个无界队列,这个优先队列中的元 ...

  10. JSP response.setCharacterEncoding与response.setContentType的区别

    问题描述 昨天在参考别人的项目时,发现页面引用js,css等文件总是乱码,后来才发现是MIME类型统一设置为text/html,并且仅仅编码设置了浏览器端的解析编码.另外,可以先通过文本编辑器(如no ...