`
rikugun
  • 浏览: 351043 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

cygwin 汉化即其他新特性

阅读更多
转自 http://homewj.spaces.live.com/Blog/cns!1pav0HyE-t7RIT4zpRdid3PQ!113.entry

引用
cygwin 汉化即其他新特性
使用cygwin的原因
最近在研究java的源码,源码官方的编译文档里提到一个unix环境到windows移植的
工具包MKS,在网上百觅不得,于是想起了久违的cygwin,使用之后居然能启动java
那庞大makefile系统,于是觉得有必要写点东西向大家推介推介。
安装
从http://www.cygwin.com/下载网络安装setup.exe,该安装程序会一步步提示,只
是选取安装包的那一节自己注意点,针对自己的需要看看有什么要额外装的。比如
编译java源码时就要多选取几个:perl、gawk、make、binutils(好像就这几个,
反正编译时会有提示找不到那个执行程序,届时用setup.exe到网上再下就可以了。
),另外vim这个包是linux下编辑文本必备的,在windows下的cygwin中也是如此。
cygwin环境汉化
修改三个文件:
1、~/.bashrc BASH的配置文件
# base-files version 3.4-2
# WARNING
#
# IF THIS .bashrc IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
# SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.
#
# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/skel/.bashrc
# User dependent .bashrc file
# See man bash for more options...
# Don't wait for job termination notification
# set -o notify
# Don't use ^D to exit
# set -o ignoreeof

# Don't put duplicate lines in the history.
# export HISTCONTROL=ignoredups
# Ignore some controlling instructions
# export HISTIGNORE="[   ]*:&:bg:fg"

# Some example alias instructions
# If these are enabled they will be used instead of any instructions
# they may mask.  For example, alias rm='rm -i' will mask the rm
# application.  To override the alias instruction use a \ before, ie
# \rm will call the real rm not the alias.
# Interactive operation...
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
# Default to human readable figures
# alias df='df -h'
# alias du='du -h'
# Misc
# alias less='less -r'                          # raw control characters
# alias whence='type -a'                        # where, of a sort
# alias grep='grep --color'                     # show differences in colour
# Some shortcuts for different directory listings
# 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'                              #

# Some example functions
# function settitle() { echo -n "^[]2;$@^G^[]1;$@^G"; }
###################### 以下为添加部分 ################################
# cygwin中取\usr\share\locale\zh_CN\LC_MESSAGES中*.mo文件,如果提示信息中
# 的字符集为utf8则会显示有误(不知何解?,magiclinux无类似情况),为gb2312
# 则正常,大概与gettext这个模块有关,这个模块的作用是使linux程序提示信息
# 区域话,即不同地区用不同语言,即常说的i18n;像我们设置的zh_CN.GBK,“.”
# 之前部分“zh_CN”表示地区即“中国大陆”,后面部分“GBK”表示字符集编码,
# 像我们下面的设置,当程序调用时会到\usr\share\locale\目录中查找,发现地
# 区为“zh_CN”则到该目录中查找程序对应的*.mo文件,*.mo文件的名称是在调用
# 的程序中设置了的。然后取该语种的对应提示,然后按编码(在mo文件中指明了)
# 处理该文字。
# 当然这些不是自动处理的,要在程序中调用像setlocale、textdomian、gettext
# 这样的函数处理。
# 在cygwin中有些程序,做了下面的设置,因为对应的mo文件中编码为utf8而无法
# 显示,我是直接将它删除,之后程序会因为找不到mo文件而用默认的英文来显示
# 的。(下面的编码设置并没有错,应该是cygwin程序中的BUG,只是设置了LC_ALL
# 就没必要设LANG了,有的文档上面这样写的:))
export set LC_ALL=zh_CN.GBK
export set LANG=zh_CN.GBK
#export set LC_CTYPE=zh_CN.UTF-8
#export set CHARSET=UTF-8
# 解决ls中文显示问题
alias ls='ls --show-control-chars'
alias dir='ls --show-control-chars'
alias less='less --raw-control-chars'
# 添加清屏处理
alias clear='clearn'
alias clr='clearn'
# 添加whereis的别名
alias whereis='which'
2、~/.inputrc BASH中命令行输入出控制的配置文件
# base-files version 3.4-2
# WARNING
#
# IF THIS .inputrc IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
# SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.
#
# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/skel/.inputrc
# don't beep at me
# set bell-style visible
# the following line is actually
# equivalent to "\C-?": delete-char
"\e[3~": delete-char
# VT
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# kvt
"\e[H":beginning-of-line
"\e[F":end-of-line
# rxvt and konsole (i.e. the KDE-app...)
"\e[7~":beginning-of-line
"\e[8~":end-of-line
###################### 以下为添加部分 ################################
# 关闭bash命令行8字节字符转义符的转换
set convert-meta off
# 使bash命令行支持8字节字符输入
set input-meta on
# 使bash命令行支持8字节字符输出
set output-meta on
# 让bash的命令行已vi模式执行,屏蔽掉下面一行,BASH的命令行操作
# 就像vi中编辑文本一样,默认为INSERT模式,可以在BASH启动后直接
# 输入:set -o vi,来启动该开关,set +o vi关闭该模式,但在cygwin
# 中调用set +o vi关闭时会出现一些乱码,估计也是一个BUG
#set editing-mode vi
3、~/.vimrc vim的资源控制文件
" 显示语法高亮度
:syntax on
" 设置字符编码,可使显示中文光标移动和字符删除操作变为双字节
:set encoding=cp936
" 设置vim中TAB缩进为4个空格
:set ts=4

cygwin的新特性
windows驱动器的管理
cygwin启动后,windows中驱动器自动挂接到cygdrive目录。
比如:
wj@wj-server1 ~
$ ls /cygdrive
c  d  e
cygdrive是一个虚拟目录,它在注册表中设置。
看看这个:
wj@wj-server1 ~
$ regtool get '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\cygdrive prefix'
/cygdrive
regtool是cygwin中注册表的操作工具,get选项会把上面注册表项的值显示出来。
我们把/cygdrive该成/media试试。
wj@wj-server1 ~
$ regtool set '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\cygdrive prefix' '/media'
重启cygwin
wj@wj-server1 ~
$ ls /media
c  d  e
在cygwin中也可以这样操作驱动器,比如我们要进入到E盘
wj@wj-server1 ~
$ cd e:
wj@wj-server1 /media/e
$
wj@wj-server1 /media/e
$ ls
DZSW20050606.rar   EDUMS20050606.rar  cvs    ftp.txt  music    temp
Downloads          Recycled           ebook  job      oracle   work
EDUMS20050529.rar  ctais              film   linux    rav.rar  全国DNS地址.txt
直接输盘符cd就可以了。等同于下面的操作。
wj@wj-server1 ~
$ cd /media/e
wj@wj-server1 /media/e
$
另外, '\HKLM\software\Cygnus Solutions\Cygwin\mounts v2\'下面的项可以制
定目录的连接关系,比如该项下面有一个项叫‘/’该项中有个值叫‘native’为字
符串‘C:\cygwin’,cygwin启动的时候就会将根目录‘/’指向‘C:\cygwin’本地
目录。所以你无论从那个目录启动bash.exe程序,根目录是不会变的,以前的好像
不是,默认的关联还有‘/usr/bin’指向‘C:\cygwin/bin’所以cygwin中/usr/bin
和/bin其实是同一个目录,因为根目录/为‘C:\cygwin’,‘/usr/lib’指向
‘C:\cygwin/lib’,同理/usr/lib与/lib为同一个目录。
分享到:
评论

相关推荐

    cygwin之root权限

    2. **设置权限**:虽然不是必需的,但为了安全起见,可以为新创建的`root`目录设置适当的权限,以限制其他用户对其的访问。 ##### 步骤三:重启Cygwin 1. **重启Cygwin**:完成上述步骤后,关闭当前的Cygwin窗口,...

    最新版cygwin4hadoop,cygwin2.761

    更新可能包括性能优化、新的库支持、对Windows新版本的兼容性增强,以及对已知问题的修复。对于Hadoop开发者来说,这意味着他们可以获得更稳定、功能更全面的开发环境。 Hadoop是一个开源的分布式计算框架,主要...

    Cygwin User's Guide

    Cygwin的许多特性都依赖于环境变量的正确设置。例如,通过设置`PATH`环境变量,可以让系统知道如何查找可执行文件。 **调整Cygwin的最大内存** 某些情况下,可能需要增加Cygwin可以使用的最大内存量。这通常通过...

    cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917

    cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917 cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917 cygwin64 最新cygwin64 net release setup program 联网自动下载 2.917...

    Cygwin

    1. **模拟环境**:Cygwin通过在Windows系统上构建一个类似于Linux的运行时环境,使得命令行工具、编译器、shell脚本以及许多其他Linux应用能够正常运行。它提供了POSIX接口,让开发者可以在Windows环境下使用Unix...

    cygwin-最新网络版本

    cygwin-最新网络版本,csdn上好像都是比较老的,方便各位!

    Cygwin2.850离线安装包

    这个版本的Cygwin可能包含了各种基础工具、开发库、编译器、脚本解释器和其他实用程序,例如bash shell、gcc编译器、gdb调试器、git版本控制系统、vi/vim编辑器、Perl、Python等。 离线安装包意味着所有的组件都...

    cygwin_lite, 小巧的cygwin虚拟机

    cygwin_lite, 小巧的cygwin虚拟机

    Cygwin 1.7.1(new)

    这个是目前最新版本的cygwin安装程序。cygwin 是一个运行在windows下的一个linux模拟环境。

    最新Cygwin1.7.9完整离线安装包

    cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的...

    Cygwin 64位免安装版

    Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序...

    cygwin32的exe文件

    Cygwin也有64位版本,即“cygwin64”,但在这个案例中,我们关注的是32位版本。 **压缩包子文件的文件名称列表:setup-x86.exe** "setup-x86.exe" 是Cygwin的安装程序,它是为32位(x86)Windows系统设计的。这个...

    cygwin1.dll

    有时,`cygwin1.dll` 可能会因为版本不匹配或其他原因导致程序运行错误。遇到这类问题时,通常需要检查以下几点: 1. **更新Cygwin**:确保所有Cygwin组件都是最新版本,包括`cygwin1.dll`。 2. **正确配置环境...

    cygwin setup win 2.7

    4. **系统集成**:Cygwin可以与其他Windows应用程序交互,例如通过批处理脚本调用Cygwin命令,或者使用Cygwin工具处理Windows文件。 ### 注意事项 - **权限问题**:由于Cygwin是在Windows上运行的,因此可能会遇到...

    cygwin-x64

    2. **环境设置**:安装完成后,Cygwin会在Windows中创建一个新的shell环境。你可以通过开始菜单或桌面快捷方式启动Cygwin Terminal。确保你的PATH环境变量包含了Cygwin的bin目录,以便在任何地方运行Cygwin命令。 3...

    cygwin xp离线安装包

    通常,升级到较新的Cygwin版本可以获取更好的性能和更多的功能。 在提供的压缩包文件列表中,有以下几个关键文件: 1. `setup-x86-2.874.exe`:这是Cygwin的安装程序,用于在Windows XP上下载并安装所需组件。这个...

    Cygwin用户指南

    Cygwin 1.7版本及其各个子版本带来了一系列新的特性和改进,包括但不限于: - **1.7.8至1.7.9**:增加了对新硬件的支持,修复了一些已知的问题。 - **1.7.7至1.7.8**:增强了网络功能,包括对IPv6的支持。 - **...

    cygwin setup-x86_64-2.874.zip

    由于Windows XP和Windows Server 2003已经停止了官方支持,并且新版本的Cygwin可能不再兼容这些老系统,`setup-x86_64-2.874.exe`成为了一个重要的回溯选项。这个旧版本确保了在这些老操作系统上仍能享受到Cygwin...

    Cygwin-setup-x86_64

    Cygwin是一个在Windows操作系统上运行的开源软件项目,它提供了一个类Unix的环境,使得开发者可以在Windows上使用类似于Linux或Unix的命令行工具、编译器和其他应用程序。"Cygwin-setup-x86_64"是Cygwin的安装程序,...

Global site tag (gtag.js) - Google Analytics