zoukankan      html  css  js  c++  java
  • babun安装,整合到cmder

    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:abun

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

    install.bat /t "D:Program Filesabun"

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

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

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

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

    效果:

    按照这种方式安装的话,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%.babuncygwinhomeqhong

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

    bash

    vi /usr/local/etc/babun.bash
    PS1="[33[00;34m]{ [33[01;34m]W [33[00;34m]}[33[01;32m] $( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" ) [33[01;31m]>>[33[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:Usersqhong.babuncygwinhomeqhong.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
    View Code

    整合cmder:

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

    在Task parameters中填入

    /icon "%userprofile%.babuncygwininmintty.exe" /dir "%userprofile%"

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

    #默认使用ZSH
    %userprofile%.babuncygwininmintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe
    #使用自定义mintty配置
    %userprofile%.babuncygwininmintty.exe -t "%userprofile%.babuncygwinetcminttyrc"

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

    效果:

    常用软件安装:

    #安装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

  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/hongdada/p/7989236.html
Copyright © 2011-2022 走看看