首先,说明一下安装Cygwin的动机吧!情况是这样的,由于我长期在公司的服务器上做开发,都是ubuntu的server,我自己是电子信息工程专业的,入门搞软件时学的绝大部分是linux系统方面的知识(说到Linux系统,我觉得最值得我们去学习的就是它的开源精神,其次是非常适合开发,在此向Linus Torvalds致敬。说到开发,用到最多的可能就是vi,man,git,svn,make等强有力地工具了)所以Coding时喜欢Linux的一套,vi , makefile , gcc , git ,但是回到家就不是很方便了。虽然在VM里面装了个Fedora,但是VM的性能有限,导致机器运行不顺畅,所以打算在windows上搭建一个类似的环境,于是就想到了Cygwin;
其次,来说一下安装的过程吧,安装过程很简单,网上随便一搜就是了,这里不再赘述,下面主要来说明一下怎样设置 shell的命令提示符 ,ls等命令输出的颜色,和最重要的man手册安装。
0. 查看Cygwin版本信息:
[frank@win7 ~]$ cygcheck -V
cygcheck (cygwin) 1.7.32
System Checker for Cygwin
Copyright (C) 1998 - 2014 Red Hat, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1. 设置shell命令提示符:
当你安装完Cygwin后,第一次运行时prompt会分成两行,"$"总是在第二行开头,这样感觉很不习惯,只需将 ~/.bashrc 里面加上下面的语句:
export PS1='[\u \w]$ ' 参数的意思可以参考这篇博客:http://blog.163.com/band_jia/blog/static/100232966201282495329241/
当让你也可以像我一样设置成自定义的:export PS1='[frank@win7 \w]$ '
建议在Windos下面安装Notepad++,因为此时的Vi还未配置好,超级不好用
2. 设置Vi编辑器:
当你默认安装时,Cygwin会默认帮你安装一个轻量级的Vi,功能非常有限,Vi的版本为 version 7.4.417,下面开始配置。
a. 创建 ~/.virc (注意是.virc,并不是网上所说的.vimrc,.vimrc是对应vim的)
b. 用Notepad++ 添加以下常用习惯设置,如下:
set backspace=indent,eol,start
set ww=b,s,<,>,[,]
set ai
set shiftwidth=4
set sw=4
set tabstop=4
set ts=4
set expandtab
set et
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set si
set ruler
set incsearch
set nu
set matchtime=5
c. 此版本vi不支持语法高亮,所以syntax=on会报错
然后重启shell,会发现vi变得顺手多了。
3. 扩展man手册的内容:
当你默认安装完后man手册里面只能查看到很少的函数,连fopen,strstr之类的基本函数都不支持,这时可以下载一个man-pages-2.78.tar.gz,直接解压到/usr/share/man,然后修改 /etc/man_db.conf
在 /etc/man_db.conf中加入
MANDATORY_MANPATH /usr/share/man/man-pages-2.78
然后保存,重启shell,会发现glibc的函数都能man到了
4. 设置shell提示符的光标和字体背景色:
打开shell后直接右键选择Options,在Looks里面按照自己的习惯设置就好了,我习惯白底黑子,不透明,block类型的闪烁光标
5. 清屏:
由于没有clear命令,试了下网上说的两种方法但效果不是想要的,最后觉得还是Ctrl + L清屏最理想了
6. 让ls等命令输出色彩化
修改~/.bashrc,去掉下面这下别名前面的注释符
alias ls='ls -hF --color=tty' # classify files in colour
alias dir='ls --color=auto --format=vertical'
alias vdir='ls --color=auto --format=long'
alias ll='ls -l' # long list
alias la='ls -A' # all but . and ..
alias l='ls -CF' #
最后来点图片吧: