作者: libuse 出自: http://www.linuxdiyf.com
想了许多种体式款式要运转我的一个目录下的文件,但是怎样都弗成,十足的路最初都锁在了若安在cygwin下输入我的中文目录名?试了许多网上的体式款式终是不能成行,后来在达人的辅导下,终于掉路归返,真可谓阶梯是曲折的,出路是乌黑的。
其真实cygwin下不能输入中文的缘由是中文字符的最高位都是1,所以被算作控制符处置责罚了。ok,我们现看下怎样做,然后再看看为什么这么做。
怎样做:若是你的用户目录(/home/XXX)下有了: .inputrc , .bashrc/.bash-profile这两个或三个文件,那么恭喜你,你不消树立了,只需做修改就可以了。若是没有,那么费事你要树立这三个文件。在Linux下,我们有多种树立文件的体式款式,但是若是你没有在cygwin下装有vi等编纂器,那么您可以按如下供应的体式款式树立这三个文件:
(1)从/ect/skel中将这三个文件拷贝到你的用户主目录下。
(2)操作notepad来树立这三个文件,但是很主要的一点是,请您在保管时肯定要存成ANSI编码的.txt文件,这一点请肯定要记取。
ok,文件现在是树立了,那么就剩下如何修改文件了:(请按ANSI编码款式编写)
(1)请在.inputrc文件中添加:
set meta-flag on
set convert-meta off
set output-meta on
set input-meta on
set completion-ignore-case on
(2)请在.bashrc 或.bash-profile文件中添加:
alias ls='ls --show-control-chars --color=auto'
export LESSCHARSET=latin1
修改后请保管成ANSI编码的款式。
ok,年夜功告成了。
现在就看看为什么要这么做,cygwin下不能输入中文的缘由是中文字符的最高位都是1,所以被算作控制符处置责罚了,meta-flag,convert-meta等选项的意思可以参考man bash。大略的说,设置meta-flag on允许从终端输入中文,否则的话终端会过滤掉每个字节的最高位;convert-meta off是设置不将中文字符转化为转义序列,因为中文是两个字节表示的,第一字节的最高位是1开头的,可以能同于某个转义字符;output-meta on就是允许向终端直接输入中文;input-meta on就是允许向终端直接输入中文;set completion-ignore-case on这个可以在 echo A的时辰按了
版权声明:
原创作品,允许转载,转载时请务必以超链接体式款式标明文章 原始来因 、作者信息和本声明。否则将追究执法责任。