babun安装,整合到cmder

时间:2023-02-25 10:38:21

babun

Babun的特性:
预装了Cygwin以及许多的插件
默认的命令行安装工具,没有管理员权限要求。
预装了 pact工具,一个高级的包管理器,类似 apt-get或yum
xTerm-256兼容的控制台
支持Http(s)的代理
面向插件的架构
配置了 git 和 shell
集成 oh-my-zsh
自动更新机制
集成右键菜单,在此打开Babun Cygwin
Babun的核心就是Cygwin,不过它经过了配置。Cygwin是一个不错的工具,但是有很多问题需要花一些时间来配置它,让它易于应用。Babun做了一些配置,并且包含了很多重要的工具包,使得它非常易用。
Package manager
Babun提供了一个包管理器,pact。类似于apt-get 或
yum。pact使得安装,搜索,更新和删除cygwin的工具包非常容易。pact
--help快去看一下它怎么使用吧。
Shell
Babun的shell经过了微调,这样可以提供更好的用户体验。有两个预配置的shell - bash 和 zsh,可以马上使用。zsh是默认的shell。Babun的shell具有如下的特征:
语法高亮
UNIX工具
软件开发工具
git改进
自定义的脚本和别名
还有一些其他功能
Console
Mintty是在babun中用的控制台,它具有xterm-256模式的特征,良好字体简洁画面。
Proxying
Babun支持HTTP代理。只需要在Home目录下的.babunrc文件中配置可信的HTTP代理服务器,执行source .babunrc 开启HTTP代理即可。现在还不支持Socks代理
Developer tools
Babun提供了许多软件包,方便的工具和脚本,使得我们的工作更容易完成。包括如下的工具:
编程语言 Python,Perl等等
git 进行少许修改,添加了很多别名
UNIX工具,比如grep,wget,curl等
vcs 包括svn,git
oh-my-zsh
自定义的脚本,例如pbcopy,pbpaste,babun等 插件结构
Babun有一个非常小的微内核,cygwin,一些bash脚本,以及一个插件结构。它的意思是几乎所有的工具都可以以插件形式放入babun的世界。当前babun的插件有如下的几个:
cacert,core,git,oh-my-zsh,pact,cygdriver,dist,shell
Auto-update
自更新时一个非常暖心的功能。许多Cygwin工具只是简单的bash脚本,一旦安装了,就无法很好地获取新的版本。或者删除旧版本或者使用更新的版本覆盖它,这样就丢掉了之前的设置。
Babun包含了一个自动更新的功能,它可以更新微内核,插件甚至是所基于的cygwin。你的本地设置或自定义保存在home目录,在更新中home目录下的文件不会被删除或覆盖。 Installer
Babun添加了一个静默命令行安装脚本,安装时不需要Windows的管理员权限
默认安装

下载完成之后解压babun,直接双击目录中install.bat脚本(需管理员权限)进行安装。几分钟之后自动安装完成,默认会被安装在%userprofile%\.babun目录下。

自定义安装位置

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

执行:babun.bat /t c:\babun

例如安装到D:\Program Files\babun里面,就直接命令

install.bat /t "D:\Program Files\babun"

会自动在babun文件夹内生产.babun文件夹

如果按照这种方式安装,那么最好配置环境变量,下面整合到cmder里面的时候用

babun安装,整合到cmder

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

虽然.babun在%babun%中,但是还有很多要安装的插件并不在%babun%,如果想设置成可迁移的,在环境变量中添加

babun安装,整合到cmder

效果:

babun安装,整合到cmder

按照这种方式安装的话,git可能会出现问题,如果你win里面已安装git,可以将%userprofile%内的.gitconfig替换%babun%内的.gitconfig,主要是别名,用户名

这样的话,虽然git都可以使用,不管是本身git bash,还是babun内的git,使用感觉上是一致的,但是其实是两套git,可以删除掉babun中的git,babun命令里面自动就会使用window中安装的。

其实设置HOME环境变量不太好,可能很多软件会有问题,目前仅发现git,网上还有Emacs,可能还会有其他的。

测试安装成功

安装完毕后,一般需要以下两个命令检查

babun check(用于判断环境是否正确)
babun update(用于判断是否有新的更新包)

默认根目录

%userprofile%\.babun\cygwin\home\qhong

windows cmd内置命令显示中文

babun默认编码是UTF-8的,而windows的cmd命令输出是GBK编码的,所以在Babun里面运行ipconfig等windows命令时,中文会是一大堆乱码。

解决:在babun自带的shell(mintty)右上角右键options-text,在character set选择default或者GBK,之后执行ipconfig等cmd内置的命令时就正常显示中文了。

如果把Babun的编码改成GBK的话,命令的中文输出倒是正常了,PS1却会出现一个乱码字符,如图

babun安装,整合到cmder

去掉命令提示符乱码

babun内置两个shell,默认是zsh,另一个是bash,设置成中文后命令提示符最后会有一个乱码字符,看着很不爽,要修改PS1变量去掉。把乱码字符替换为:>>

bash

vi /usr/local/etc/babun.bash
PS1="\[\033[00;34m\]{ \[\033[01;34m\]\W \[\033[00;34m\]}\[\033[01;32m\] \$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" ) \[\033[01;31m\]>>\[\033[00m\]"

zsh

vi ~/.oh-my-zsh/custom/babun.zsh-theme

PROMPT='%{$fg[blue]%}{ %c } \
%{$fg[green]%}$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" )%{$reset_color%} \
%{$fg[red]%}%(!.#.>>)%{$reset_color%} '

注:将编码修改成GBK后,ls命令中文文件名的会出现乱码。最好在Babun环境中使用UTF-8编码,ipconfig等windows指令用cmder或默认cmd执行就行了。将Babun整合到ConEmu/cmder这样改好后命令提示符就变成: { ~ } >>

添加国内镜像:(C:\Users\qhong\.babun\cygwin\home\qhong\.pact),发现默认的也挺快的,不一定要添加

PACT_REPO=http://mirrors.sohu.com/cygwin/

整个文件为:

PACT_REPO=http://mirrors.sohu.com/cygwin/
PACT_REPO=http://mirrors.kernel.org/sourceware/cygwin/
PACT_REPO=http://mirrors.neusoft.edu.cn/cygwin/ # POPULAR HTTP REPOSITORIES
# http://mirror.switch.ch/ftp/mirror/cygwin/ # POPULAR FTP REPOSITORIES
# ftp://mirror.switch.ch/mirror/cygwin/
# ftp://ftp.inf.tu-dresden.de/software/windows/cygwin32/
# ftp://mirrors.kernel.org/sourceware/cygwin/
# ftp://gd.tuwien.ac.at/gnu/cygwin/
# ftp://ftp.iij.ad.jp/pub/cygwin/
# ftp://mirror.cpsc.ucalgary.ca/cygwin.com/ # FULL LIST
# http://cygwin.com/mirrors.html

整合cmder:

在cmder窗口右上角右键Settings>Startup>Tasks,点+号添加一个新task,命名为babun。

在Task parameters中填入

/icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"

在Commands中填入以下任意一种都可以

#默认使用ZSH
%userprofile%\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe
#使用自定义mintty配置
%userprofile%\.babun\cygwin\bin\mintty.exe -t "%userprofile%\.babun\cygwin\etc\minttyrc"

babun安装,整合到cmder

如果不是采用默认方式安装的,且配置了babun环境变量,那么将userprofile替换成babun即可!

效果:

babun安装,整合到cmder

常用软件安装:

#安装tmux
pact install tmux
#安装screen
pact install screen
#安装zip
pact install zip
#安装svn
pact install subversion
#安装lftp命令
pact install lftp
#安装p7zip命令
pact install p7zip
#基于openssh的socks https代理
pact install connect-proxy
#安装linux基础命令行工具more/col/whereis等命令
pact install util-linux
#安装dig命令
pact install bind-utils
#安装Telnet等常用网络命令
pact install inetutils
#安装python环境
pact install python
pact install python-crypto

提高babun启动速度,关闭开启检查:

.babunrc文件中取消下面的注释:

export DISABLE_CHECK_ON_STARTUP="true"

babun内zsh使用:

查看当前环境内的shell:

{ ~ }  » echo $SHELL                                                                            ~
/bin/zsh

查看系统自带哪些shell:

{ ~ }  » cat /etc/shells                                                                        ~
/bin/sh
/bin/ash
/bin/bash
/bin/dash
/bin/mksh
/bin/pdksh
/bin/posh
/bin/tcsh
/bin/zsh
/usr/bin/sh
/usr/bin/ash
/usr/bin/bash
/usr/bin/dash
/usr/bin/mksh
/usr/bin/pdksh
/usr/bin/posh
/usr/bin/tcsh
/usr/bin/zsh

https://github.com/babun/babun

https://blog.jamespan.me/2015/04/09/babun-the-shell/

https://www.hi-linux.com/posts/57246.html

babun安装,整合到cmder的更多相关文章

  1. Msys2的安装,并整合到cmder中

    下载:msys2-x86_64-20161025.exe 下载安装包,然后装上. 打开msys的shell之后首先升级一下pacman,然后就可以愉快地Syu了. $ pacman -Sy pacma ...

  2. svn的安装(整合apache、ldap)包括错误解决post commit FS processing had error

    2013年12月5日 admin 发表评论 阅读评论 以下是centos环境下,以yum安装apache及其相关软件.svn使用源码包编译,使用官网最新的1.8.5版本. 一.安装apache ope ...

  3. sublime 安装 Terminal 使用 cmder

    在 packagecontrol.io 可以找到 Terminal. 在 cmder.net 下载 cmder 复制 Terminal.sublime-settings 文件到 C:\Users\WX ...

  4. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  5. centos7.2下编译安装&&使用-git代码库

    centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...

  6. 【转】centos安装memcached+php多服务器共享+session多机共享问题

    参考博文: centos安装memcached 源码安装 Yum安装Memcache Memcached内存分配优化及使用问题 <转>php+memcached 实现session共享 P ...

  7. MAMP:在 OSX 中搭建 Apache&comma; MySQL&comma; PHP 环境并本地安装、调试 WordPress

    MAMP 这个名字来源于 Macintosh Apache MySQL PHP,显然专门用来在 Mac 环境下搭建 Apache.MySQL.PHP 平台. 虽然 OSX 中已经预装了 Apache ...

  8. g4e基础篇&num;3 Git安装与配置

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

  9. linux&plus;nginx&plus;mysql&plus;php环境下,安装ecshop

    我们在工作过程中要经常和电商打交道,所以,学会安装ecshop是必须的. 下面我们来介绍一下ecshop的安装. nginx和php安装整合,在我前面的文章中有提到,这里就不做赘述了.mysql可以使 ...

随机推荐

  1. NAT协议

    NAT服务器的设定   NAT的全名:Network Address Translation;即网络地址的转换: iptables指令就能够修改IP封包的表头数据,IP的目标地址,源地址都可以修改. ...

  2. SRF之数据访问

    数据访问组件实现实体类和数据表映射.SQL语句配置执行.动态sql语句等功能,ORM方式能实现简单的对象和表的映射(配置类似hibernate),但比较单一(不支持一对多.多对多的情况),下边不做介绍 ...

  3. flask中的request对象方法

    'accept_charsets','accept_encodings','accept_languages','accept_mimetypes','access_route','applicati ...

  4. C语言面试题分类-&gt&semi;链表

    链表的创建,清空,插入,删除 typedef int (* __compfunc)(const void *, const void *); //Traverse list. Fast macro t ...

  5. 4-20arget 属性和hover

    1.target 属性 定义和用法 target 属性规定在何处打开 action URL. 值 描述 _blank 在新窗口中打开. _self 默认.在相同的框架中打开. _parent 在父框架 ...

  6. C&plus;&plus;学习的书籍

    https://www.ossblog.org/master-c-programming-with-open-source-books/

  7. Tomcat 配置目录

    TOMCAT 1.主目录下有bin,conf,lib,logs,temp,webapps,work 1.bin目录主要是用来存放tomcat的命令 2.conf目录主要是用来存放tomcat的一些配置 ...

  8. 二叉树求逆序对&lpar;伪AC 23333&rpar;

    成链的时候 是最坏情况 O(n^2)的复杂度呢! 按照输入的数据 一个一个的插入建树 然后维护左右儿子的个数  (我们规定, 左儿子 小于  父亲  右儿子大于父亲) 往左走 说明存在逆序对 逆序对的 ...

  9. 【bzoj2560】串珠子 状压dp&plus;容斥原理

    题目描述 有 $n$ 个点,点 $i$ 和点 $j$ 之间可以连 $0\sim c_{i,j}$ 条无向边.求连成一张无向连通图的方案数模 $10^9+7$ .两个方案不同,当且仅当:存在点对 $(i ...

  10. java动态代理(JDK和CGLIB)笔记

    动态代理:为一堆interface或类的实现提供统一的执行通道,从含义上就像局域网电脑通过代理上网一样,走统一的通道,代理控制通道,自然可以在通道里加上自定义实现,例如像AOP切面,日志等. JDK的 ...