[TOC]
安装
官方网站
http://www.cygwin.com/
下载安装
http://www.cygwin.com/setup-x86_64.exe
cygwin安装目录是C:\cygwin64\
cygwin程序依赖目录是
建议选则国内源,速度块,且可以不断更新
建议选则国内源,速度块
- 清华源 https://mirrors.tuna.tsinghua.edu.cn/cygwin/
清华源帮助 tsinghua help - 163源 http://mirrors.163.com/cygwin/
- 东软源 http://mirrors.neusoft.edu.com/
- 搜狐源 http://mirrors.sohu.com/cygwin/
必用插件
在search
中输入 vim
等待片刻就会搜索出 vim 相关的模块
图中keep表示已经安装完成,未安装的点击 成 install
常用安装
vim
- 默认没有安装,请自行勾选后安装
dos2unix
转换 win 的脚本让 unix 可用
curl
(Net)
wget
(Web)
time
(GUN time commond)
推荐一定安装
dos2unix
用于修复 windows 换行符导致的脚本报错^m
无法运行的错误
配置
加入右键菜单
如果安装目录修改过,请自行替换脚本或者配置的对应目录
新建文件 cygwinRegDirShell.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin]
""="CygWin Here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin]
"Icon"="C:\\cygwin64\\Cygwin.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin]
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin\command]
""="C:\\cygwin64\\Cygwin.bat %V"
运行这个脚本即可写入注册表
或者Win+R
输入 regedit
进入节点 HKEY_CLASSES_ROOT\Directory\Background\shell
鼠标右键,选择新建
->项
填写cygwin
在右侧窗口填入值
右侧数值添加 鼠标右键 新建->字符串值
名称 | 类型 | 数据 |
---|---|---|
默认 | REG_SZ | CygWin Here |
Icon | REG_SZ | C:\cygwin64\Cygwin.ico |
NoWorkingDirectory | REG_SZ |
然后鼠标右键刚创建的 cygwin
,选择新建
->项
,填写command
在右侧填入
名称 | 类型 | 数据 |
---|---|---|
默认 | REG_SZ | C:\cygwin64\Cygwin.bat %V |
- 然后进入cygwin 安装目录修改
Cygwin.bat
文件
@echo off
setlocal enableextensions
set TERM=
set _T=%*
C:
chdir C:\cygwin64\bin
bash --login -i
修改.bash_profile
文件,在C:\ctgwin64\home\[用户名]\
下, 在文件的最后增加
# Set CygWin Right Click open with folder
export _T=${_T//\\//} # replace backslash to fowardslash
if [[ $_T == "" ]]; then
export _T="c:/Users/${USER}"
fi
cd "$_T"
如果没用找到.bash_profile文件,运行一次 cygwin 将生成用户文件基础配置文件
换行符风格
因为 win 的换行符不能在其他系统上使用,安装 dos2unix
工具,再需要转换的文本处执行
dos2unix [filePath]
cygwin中文乱码
这里是针对GBK乱码,如果没有乱码就不需要修改
进入用户目录, 打开目录下 .bash_profile 文件
cd ~
vim .bash_profile
将如下内容添加到文件的末尾
## for windows GBK
export LC_CTYPE=zh_CN.GBK
export LANG=zh_CN.GBK
export OUTPUT_CHARSET=GBK
export XMODIFIERS=@im=Chinput3
stty cs8 -istrip
stty pass8
export LESSCHARSET=latin1
然后打开用户根目录的 .inputrc
文件,解开注释
# Allow 8-bit input/output
增加bash 对8 字节字符处理
加载配置生效
source ~/.bash_profile
文件作色
修改~/.bashrc
在最末尾增加内容
alias ls='ls -F -N --color=auto'
然后执行 source ~/.bashrc
用户环境变量
- 用户环境变量,在
~/.bash_profile
的Set CygWin 前添加,以后的设置也这样
alias ls='ls -hG'
alias ll='ls -l'
alias la='ls -a'
alias l='ls -CF'
alias gs='git status'
然后执行 source ~/.bash_profile
vim基础配置
在用户的跟新建文件 vim ~/.vimrc
内容有
" windows backspace can delete
set backspace=indent,eol,start
" open syntax
syntax on
" close compatible like annotate
:set nocompatible
" set not show line number can change by :set nu
:set nonu
" show cmd
:set showcmd
" set show line number when in edit
:set ruler
" set tab button stop
" default tabstop=8
:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab
" use keyboard F11 to change paste mode
:set pastetoggle=
" normal is :set nolist | show hide is :set invlist
:set nolist
如果想使用 vi 类似 vim 需要修改成这样
" windows backspace can delete
set backspace=indent,eol,start
" open syntax
syntax on
" close compatible like annotate
set nocompatible
" set not show line number can change by :set nu
:set nonu
" show cmd
set showcmd
" set show line number when in edit
:set ruler
" set tab button stop
" default tabstop=8
:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab
" use keyboard F11 to change paste mode
:set pastetoggle=
" normal is :set nolist | show hide is :set invlist
:set nolist
set wildmenu
set fo=cqrt
set laststatus=2
set textwidth=78
set ww=<,>,h,l
set autoindent
" set no error bells
set noeb visualbell
let mapleader = ","
syn on
filetype on
filetype plugin on
filetype indent on
shell老是提示\r错误
检查shell 内容错误cat -v
解决方法是对文件进行换行风格处理
sed 's/..$//g' srcfile > destfile
ssh / git-ssh配置
win+r
运行 cygwin
cd ~
mkdir .ssh
cd .ssh
sshkey-gen -t rsa -C "[email protected]"
输入文件别名的生成 some-git.pub
和 some-git
然后配置本地ssh设置
vim config
# 输入内容为
Host gitlab.yougit.com
HostName gitlab.yougit.com
IdentityFile ~/.ssh/some-git
如果是ssh
远程到服务器,可以添加
- User 来设置用户
Host youserver.host.com
HostName 192.168.1.101
User mine
IdentityFile ~/.ssh/my_server
配置服务端
cat some-git.pub
把输出的内容配置到服务端