读书人

cygwin设立中文

发布时间: 2012-07-27 11:03:00 作者: rapoo

cygwin设置中文

cygwin设置中文cygwin\home\username\.bashrc# 让ls和dir命令显示中文和颜色 alias ls='ls --show-control-chars --color' alias dir='dir -N --color' # 设置为中文环境,使提示成为中文 export LANG="zh_CN.GBK" # 输出为中文编码 export OUTPUT_CHARSET="GBK"cygwin\home\username\.inputrc# 可以输入中文 set meta-flag on set output-meta on set convert-meta off # 忽略大小写 set completion-ignore-case on, cygwin.bat: @ECHO OFF SET MAKE_MODE=UNIX SET PATH=d:\cygwin\bin;%PATH% set HOME=d:\home bash 2, 在~目录下的.bashrc文件中加入: # 让ls和dir命令显示中文和颜色 alias dir='dir -N --color' alias less='/bin/less -r' alias ls='/bin/ls -F --color=tty --show-control-chars' # 设置为中文环境,使提示成为中文 export LANG="zh_CN.GB2312" # 输出为中文编码 export OUTPUT_CHARSET="GB2312" 3,bash将到D:\home目录下寻找初始化文件。缺省情况下,bash命令行不能输入汉字,必须在~目录下建立文件.inputrc,内容如下: # 忽略大小写 set completion-ignore-case on # 可以输入中文 set convert-meta off set input-meta on set output-meta on 跟emacs存在同样的问题,就是显示不了uft8编码下的汉字Cygwin工具是GNU工具在WIN32平台上的移植版本,它尽可能地遵循POSIX标准。其中包括C/C++编译器GCC,textutils,fileutils,bash等等。本文将阐述如何在Cygwin(B20)中使用中文。Cygwin通过cygnus.bat(位于X:\cygnus\cygwin-b20)启动bash,内容如下: @ECHO OFFSET MAKE_MODE=UNIXSET PATH=c:\cygnus\CYGWIN~1\H-I586~1\bin;%PATH%bash在其中加入(bash之前)一句: set HOME=X:\homenameX:为盘符,\homename为已存在的目录名,例如C:\myHome。bash将到X:\homename目录下寻找初始化文件。缺省情况下,bash命令行不能输入汉字,必须在X:\homename目录下建立文件.inputrc,内容如下:set meta-flag onset convert-meta offset output-meta on这几行主要是实现命令行上实现汉字的输入以及显示。 比如想输入汉字的文件名等等。注意:在Cygwin-B20中.inputrc必须为UN*X文件格式。bash在Windows 9X中不能接受来自DOS窗口的汉字输入。为了让less命令显示汉字在X:\homename\.bashrc中加入: export LESSCHARSET=latin1为了让ls命令显示汉字文件和目录名在X:\homename\.bashrc中加入: alias ls='ls -N --color'#====================================.bashrc 2009-10-09cygwin 1.70==================================# Shell Options# #############aliasls='ls -hF --color=tty'                 # classify files in colouralias dir='ls--color=auto --format=vertical'alias vdir='ls --color=auto --format=long'aliasll='ls -l'                              # long listalias la='ls -A'                             # all but . and ..alias l='ls -CF'                              ## Someexample 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.GBKexport setLANG=zh_CN.GBK#export set LC_CTYPE=zh_CN.UTF-8#export setCHARSET=UTF-8#==================================== bashrc end==================================#==================================== .inputrc  ==================================# 控制输入输出的文件 jiangxf [2009-10-09 星期五]"\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# VT220"\eOH": beginning-of-line"\eOF": end-of-line# 关闭bash命令行8字节字符转义符的转换set convert-meta off# 使bash命令行支持8字节字符输入set input-meta on# 使bash命令行支持8字节字符输出set output-meta on
来自:?http://hi.baidu.com/k2yoyo/blog/item/c2b7f9190a9b2176dbb4bd12.html

?

读书人网 >软件架构设计

热点推荐