windows平台下超强的cmd工具Babun使用笔记

Babun是一款集颜值功能于一身的window平台下的命令行工具。它集成了zsh、Cygwin等强大的工具,支持各种配置,并且有丰富的插件支持;并且有丰富的命令和命令提示功能,以及超级棒的历史命令提示。

Babun

官方贴出了Babun的十大特性

  • Pre-configured Cygwin with a lot of addons: 预置大量的Cygwin插件
  • Silent command-line installer, no admin rights required:静默命令行安装,不需要管理员权限
  • pact - advanced package manager (like apt-get or yum): 支持pact高级包管理器,类似于apt-get、yum等
  • xTerm-256 compatible console: xterm-256兼容控制台
  • HTTP(s) proxying support: HTTP(s) 代理支持
  • Plugin-oriented architecture: 插件体系,可以安装丰富的插件
  • Pre-configured git and shell: 预置git和shell,支持自定义配置
  • Integrated oh-my-zsh: 集成了zsh
  • Auto update feature: 自动检测最新版本
  • “Open Babun Here” context menu entry: 支持右键菜单“此处打开Babun”

当然对于上面这些特性,我不得不补充一点,那就是它强大的命令提示功能,能从根据你的输入匹配历史输入,狠棒!

Cygwin

Babun的核心包括一个预配置的Cygwincygwin是一个非常好的工具,但有很多使用技巧,使你能够节省大量的时间。Babun解决了很多问题,它里面包含了很多重要的软件包,是你能够第一时间能够使用它们

shell

Babunshell通过调整,已达到最佳的用户体验,Babun有两个配置之后马上使用的shell(默认使用zsh,可以使用bash或者zsh命令切换到对应的模式),Babunshell具有以下的特点:

  • 语法高亮
  • 具有unix的工具
  • 软件开发工具
  • git-语义提示
  • 自定义脚本和别名

Console

Babun支持HTTP代理,只需添加地址和HTTP代理服务器的凭据。Babunrc文件所在文件夹执行源Babunrc启用HTTP代理。目前还不支持SOCKS代理。

开发者工具

Babun提供多种方便的工具和脚本,是你的开发工作更轻松,具有的功能如下:

  • 编程语言(python,Perl, etc等)
  • git(各种各样的别名调整)
  • UNIX工具((grep, wget, curl, etc)
  • vcs (svn, git)
  • oh-my-zsh
  • 自定义脚本(pbcopy, pbpaste, Babun, etc)

安装

默认安装

双击install.bat脚本,Babun使用默认安装位置C:\Users\userName\.Babun,安装好的Babun会在C:\Users\userName\下;
当然也可以指定安装位置

自定义安装

通过cmd命令行在执行install.bat时指定参数/t/target指定安装的目录。
执行:Babun.bat /t install-dir

1
Babun.bat /t c:\Babun

安装好之后会在d:\Babun目录下生成一个.Babun的目录,Babun所有文件都在这个目录中。注意安装目录最好不要有空格,这是cygwin要求的

启动Babun默认是在’%userprofile%.Babun\cygwin\home\username’

开发环境配置

pip

Babun内置了PythonPerl等解释器。cygwin自带的python没有pip,需手动安装。
直接执行下面这个命令就好了。

1
wget https://bootstrap.pypa.io/get-pip.py -O - | python

有了pip就可以自由的安装诸如ipython之类的东西,还有包罗万象的类库。

常用插件

Babun默认是安装了oh-my-zsh的,这里可以根据自身情况安装一些插件。具体可参考利用oh-my-zsh打造你的超级终端一文;

包管理器使用

Babun提供一个叫pact包管理工具,类似于linux上面的apt-getyum的包管理工具

配置别名(alias)

可以在.Babun\cygwin\home\username目录下配置对应工具的别名,而并不仅限于git-bash
当然记忆别名其实也是体力活,我的想法是对一些常用的命令、经常手滑手速过快打错的命令、复杂的命令配置一些别名,例如

1
2
3
4
5
6
gt = git
gti = git
n = npm
nr = npm run dev
gtlg = git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
...等等

问题

本地SSH-KEY不可用

查看我记录的Babun导致本地SSH-KEY不可用一文

中文乱码问题

找了很多解决方案,都不能完美的解决问题,最后还是回归原始:不解决!!!

锁定文件夹

在使用Babun时(比如此时进入了a目录),它会锁定文件夹a目录,导致你可能无法做一些危险操作。必须关闭Babun后才能解锁进程

参考文章:

  • windows下的命令行工具Babun