什么是cygwin?

       cygwin是一个在windows平台上运行的unix模拟环境,它对于 从unix到windows的应用程序移植,或者进行某些特殊的开发工作, 尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

下载地址:http://www.cygwin.com。下载后会保存成setup.exe,双击开始安装。安装时要选择镜像站点;

组件安装有两种方式可供选择,一种是本地安装,这里采用另一种在线安装方式。

安装时,选择必须的组件如Devel 下的gcc-core, gcc-g++, make和Libs下的glib2.0,

如果组件都将安装,其下载量大概能有1.7G左右。

安装完成后,在环境变量里加入 d:/cygwin/bin 目录。然后在命令行里输入:

make –v(是否是 3.8.1 以上)

gcc –v (注意查看版本)

g++ -v 成功显示版本,表示安装及配置成功。

==============================================

由于Cygwin默认安装(就是推荐的安装)后,没有安装文本编辑器,

安装cygwin_命令行


1、在Cigwin里 添加别名

vim ~/.bashrc

把 alias 的 相关注释 去掉 就ok了,如下:

alias ls='ls -hF --color=tty' #打开ls的颜色


2、添加 vim的配置文件

vim ~/.vimrc

在 这个 文件里 配置 vim,如:set nu 添加 行号

“以下 是Cigwin的vim常用配置

"1.基本设置:

set nu  "显示行号

set ic  "查找时不考虑大小写

"set noic  "查找时考虑大小写,默认

set hlsearch  " 搜索时高亮显示被找到的字符,hls

"set mouse=a   "设定在任何模式下鼠标都可用,相当于 光标 跟在 鼠标走,副作用是 :选中该项 将无法用鼠标复制,鼠标 将失去的 右键的 复制功能

set tabstop=4                   "设置tab长度为4,默认为8,ts
set shiftwidth=4                "设定>命令移动时宽度为4,sw

set expandtab                      "编辑时将所有 Tab 替换为空格,et

"注:该选项只在编辑时将 Tab 替换为空格, 如果打开一个已经存在的文件, 并不会将已有的 Tab 替换为空格。 如果希望进行这样的替换的话, 可以使用这条命令“:retab”。

set softtabstop=4               "使得按退格键时可以一次删除4个空格
set autoindent                  "自动缩进,默认 打开

"在粘贴的时候把所有自动缩进都关闭, 粘贴完毕之后再打开; 只要输入“:set paste”, 就可以关闭所有自动缩进。 粘贴完毕后再输入“:set nopaste”就可以重新打开原有的自动缩进设置了。

"set nowrap  "指定不折行,如果一行太长, 超过屏幕宽度, 则向右边延伸到屏幕外面

set wrap                        "自动换行显示,默认方式

set formatoptions=tcqro         "使得注释换行时自动加上前面的的 // 注释符


"--------------------- 个人 配置 ------------------

"设置命令行和状态栏
set cmdheight=1                 "设定命令行的行数为1
set laststatus=2                "显示状态栏(默认值为1,无法显示状态栏,为2时显示状态栏)

set ruler                        "标尺信息,显示当前光标的坐标,这一步 需要设置 ”显示状态栏“,才能看到效果

set statusline=%F%m%r\ ASCII=\%b,HEX=\%B,%l,%c%V\ %L-%p%%
        "设置在状态行显示的信息如下:
            "   %F              当前文件名
            "   %m              当前文件修改状态
            "   %r              当前文件是否只读
            "   %Y              当前文件类型
            "   %{&fileformat}  当前文件编码
            "   %b              当前光标处字符的ASCII码值
            "   %B              当前光标处字符的十六进制值
            "   %l              当前光标行号
            "   %c              当前光标列号
            "   %V              当前光标虚拟列号(根据字符所占字节数计算)
            "   %p              当前行占总行数的百分比
            "   %%              百分号
            "   %L              当前文件总行数



"获取当前文件名
function GetFileName()
    return bufname(winbufnr(winnr()))  "获取当前窗口缓冲区的名字
endfunction

"获取当前时间,精确到分
function GetDateTime()
    return strftime("%Y-%m-%d %H:%M")
endfunction


"恢复文件关闭之前光标位置
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
"用 ctrl+v 组合键,添加 如下 信息:
nmap <C-V> i/************************************************************<CR>
\<CR>******* *   Function :     <CR>
\<CR>******* *    Author  :    ZaiLang<CR>
\<CR>******* *     Time   : <C-R>=GetDateTime()<ESC>    <CR>
\<CR>***************************************************************/<CR><ESC>kkkkkkklllllllllllllllllllllllllli