cygwin 配置指南

[TOC]

安装

官方网站
http://www.cygwin.com/
下载安装
http://www.cygwin.com/setup-x86_64.exe

cygwin安装目录是C:\cygwin64\

cygwin 配置指南_第1张图片
Paste_Image.png

cygwin程序依赖目录是

cygwin 配置指南_第2张图片
Paste_Image.png

建议选则国内源,速度块,且可以不断更新

cygwin 配置指南_第3张图片
Paste_Image.png

建议选则国内源,速度块

  • 清华源 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 相关的模块

cygwin 配置指南_第4张图片
Paste_Image.png

图中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 在右侧窗口填入值

cygwin 配置指南_第5张图片
Paste_Image.png

右侧数值添加 鼠标右键 新建->字符串值

名称 类型 数据
默认 REG_SZ CygWin Here
Icon REG_SZ C:\cygwin64\Cygwin.ico
NoWorkingDirectory REG_SZ
Paste_Image.png

然后鼠标右键刚创建的 cygwin,选择新建->,填写command
在右侧填入

名称 类型 数据
默认 REG_SZ C:\cygwin64\Cygwin.bat %V
Paste_Image.png
  • 然后进入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.pubsome-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

把输出的内容配置到服务端

你可能感兴趣的:(cygwin 配置指南)