工作需要在windows环境下搭建一个基础开发环境,在此记录一下:

一、注意事项

  1. 以下的安装配置方法仅支持win7/8/10之类的系统,xp可以洗洗睡了。
  2. 装了cmder-full(With git-for-windows)版或者babun就没有必要安装git-for-windows了,不过从兼容性角度出发,建议还是使用cmder-full的版本,至少纯windows的环境下也能直接使用git指令,也支持外部ide调用。
  3. babun(cygwin)是调整过的cygwin环境,cmder默认是windows环境(可以安装chocolatey做包管理)两个环境面对的场景不同,choco安装的软件基本都是port到win环境下的版本,和babun的cygwin环境下的版本配置方式不一样,看各人喜好,可以分别使用,也可以只使用一个。
  4. linux的家HOME目录用~字符来标识,windows下通常对应的就是C:\Users\Administrator目录

二、终端环境

推荐使用cmder(With git-for-windows) + babun(cygwin)预配置环境的方式,既有普通cmd终端的linux化,又支持cygwin环境安装使用你所需要的linux环境安装包

  1. cmder-full(With git-for-windows)下载后解压缩到磁盘,(推荐c:\opt\cmder)
  2. 加入系统环境变量PATH环境变量中追加c:\opt\cmder路径。
  3. 注册右键菜单:以管理员身份启动命令行提示符(cmd),然后进入c:\opt\cmder路径后执行:
1
    Cmder.exe /REGISTER ALL
  1. 提示符配置:修改cmder目录下的config\cmder.lua的第2行把λ替换为$,更符合日常linux下用户prompt的习惯。
1
2
3
    function lambda_prompt_filter()
        clink.prompt.value = string.gsub(clink.prompt.value, "{lamb}", "$")
    end
  1. 常用别名配置:修改cmder目录下的config\alias文件,在最后加入常用的alias,比如:
1
2
3
    l=ls --show-control-chars
    la=ls -aF --show-control-chars 
    ll=ls -alF --show-control-chars
  1. 中文字间距问题,启动cmder后win+alt+p呼出设置面板去掉 monospace 选项(点两下让勾选框留空),然后save settings保存设置。

  2. 可选(安装chocolatey windows包管理器),打开cmder/cmd终端,执行以下命令:

1
    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
  1. 安装babun的环境:下载babun官网上的安装包,解压后执行其中的install.bat批处理文件
  2. 配置整合babun环境到cmder工具中:启动cmder后win+alt+p呼出设置面板(Settings),然后打开 Startup>Tasks面板点+号添加一个task,名称输入babun, Task parameters中输入:
1
    /icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"

下面的Commands大输入文本框中输入:

1
%userprofile%\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe

save settings保存设置,然后你可以按up或down的按钮把{babun}的顺序调到{cmd}的前后,也可以勾选Default task for new console和Default Shell选项来把它作为默认console。注意,如果新开窗口想默认用{babun},需要修改Startup面板中的Specified named task不选{cmd}而是新的这个{babun}

  1. 修改babun的环境配置:cmder启动后打开{babun}的终端后编辑~/.zshrc文件:
1
vim ~/.zshrc

修改ZSH_THEME=“babun"为ZSH_THEME=“ys”,后保存退出,然后关闭终端后再启动{babun}终端即可。

  1. 如果你还是习惯mingw的git-bash环境也可以在cmder工具中添加配置:启动cmder后win+alt+p呼出设置面板(Settings),然后打开 Startup>Tasks面板点+号添加一个task,名称输入gitbash,Task parameters中留空下面的Commands大输入文本框中输入:
1
%ConEmuDir%\..\git-for-windows\git-cmd.exe --cd-to-home --command=usr/bin/bash.exe -l -i

save settings保存设置即可,后续的就可以启动{gitbash}终端使用了。

至此你已经完成了windows下终端环境的配置,启动cmder后,{cmd}的task为windows上下文命令行:使用choco作为包管理器 同时也支持一些基本的linux命令比如ls,curl之类的,软件包管理可以使用chocolatey的choco指令,

1
    choco install -y notepadplusplus

{babun}的task为cygwin上下文命令行:使用pact作为包管理器

1
2
    pact find php
    pact install -y php

注意{babun}的cygwin环境上下文中的安装的包不能在windows上下文环境中使用,(比如这里安装的php指令在windows环境下则会报招不到php指令),但windows上下文环境中安装的软件可以在cygwin环境下最后被搜索到则调用,注意是调用,效率比较低,而且也无法控制执行,所以通常情况下的windows指令还是推荐在{cmd}终端中执行。

  1. 命令行生成私钥公钥对:
1
    ssh-keygen -t rsa -C "you@myteam"

默认生成的文件在~/.ssh路径下的id_rsa(私钥)和id_rsa.pub(公钥),id_rsa.pub可以添加到代码托管环境的个人公钥列表中去

  1. 设置个人基础的git信息:
1
2
    git config --global user.name "你的名字或昵称"
    git config --global user.email "你的邮箱"

其他推荐软件

以下软件都可以用 chocolatey windows下的命令行包管理器 来安装,安装/卸载软件并不需要用到那些什么软件管理专家了。

  1. wox windows下类似于mac的alfred的快速启动工具,有了它记得软件、目录名字就可以了,忘了开始菜单吧。
  2. everything windows下的文件搜索工具,这个就不用多说了吧。