Loading... <p>Cygwin是一款优秀的windows下模拟Linux环境的软件! <br />在默认情况下,cygwin的大部分命令是不支持中文的,比如ls,显示出来的都是问号 </p> <p>但是我们可以通过修改一些设置使它支持中文 <br />首先,进入到用户主目录下 <br />$cd ~ <br />然后找到.inputrc,没有的话就新建 </p> <p>例如: </p> <p>1.在cygwin/home/[user]/.bash_profile的末尾添加如下代码 </p> <p>alias ls='ls --color --show-control-chars' <br /> export LC_ALL=zh_CN.GB23122 <br /> export LC_CTYPE=zh_CN.GB2312 <br /> export LANG=zh_CN.GB2312 <br /> export XMODIFIERS="@im=Chinput"3 <br /> stty cs8 -istrip <br /> stty pass8 <br /> export LESSCHARSET=latin1 </p> <p>2.修改cygwin/home/[user]/.inputrc中的代码,去掉相关注释即可 </p> <p>set meta-flag on <br /> set convert-meta off <br /> set output-meta on <br /> set input-meta on </p> <p>3.在cygwin/home/[user]/.bashrc末尾添加 </p> <p>上述步骤解决了cygwin下中文显示乱码与中文输入的问题. </p> <p>网上找了很多解决方法, 把环境设为zh_CN.GB23122, 但是我试了还是不行,然后自己设置en_US.UTF-8, nano编辑文本的时候可以, 但是保存文件名称为中文却不行, 最后en_US.UTF-16就OK了, 但是还是有个问题不明白, export LESSCHARSET=latin1 这个不知道是什么意思, 谁能告诉我。 </p> <p>如果你改变了home的路径, 请参考以下方法解决: </p> <p>如果HOME目录改变则需要编辑cygwin.bat <br />在bash命令之前加入set HOME=C:\cygwin\home </p> <p>$ more cygwin.bat <br />@echo off </p> <p>C: <br />chdir C:\cygwin\bin </p> <p>set HOME=C:\cygwin\home </p> <p>bash --login -i </p> <p>aaronvox#aaronvox ~ <br />$ pwd <br />/home </p> <p>这样操作之后的配置文件可能为: </p> <p>aaronvox#aaronvox ~ <br />$ ls -a <br />. .. .bash_profile .bashrc .inputc .inputrc </p> <p>aaronvox#aaronvox ~ <br />$ more .inputc <br />set meta-flag on <br />set convert-meta o <br />set output-meta on <br />set input-meta on </p> <p>aaronvox#aaronvox ~ <br />$ more .bash_profile <br /># base-files version 3.4-2 </p> <p># WARNING <br /># <br /># IF THIS .bash_profile IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN <br /># SETUP PROGRAM. IT BECOMES YOUR RESPONSIBILITY. <br /># <br /># The latest version as installed by the Cygwin Setup program can <br /># always be found at /etc/defaults/etc/skel/.bash_profile </p> <p># ~/.bash_profile: executed by bash for login shells. </p> <p># source the system wide bashrc if it exists <br />if [ -e /etc/bash.bashrc ] ; then <br /> source /etc/bash.bashrc <br />fi </p> <p># source the users bashrc if it exists <br />if [ -e "${HOME}/.bashrc" ] ; then <br /> source "${HOME}/.bashrc" <br />fi </p> <p># Set PATH so it includes user's private bin if it exists <br /># if [ -d "${HOME}/bin" ] ; then <br /># PATH=${HOME}/bin:${PATH} <br /># fi </p> <p># Set MANPATH so it includes users' private man if it exists <br /># if [ -d "${HOME}/man" ]; then <br /># MANPATH=${HOME}/man:${MANPATH} <br /># fi </p> <p># Set INFOPATH so it includes users' private info if it exists <br /># if [ -d "${HOME}/info" ]; then <br /># INFOPATH=${HOME}/info:${INFOPATH} <br /># fi</p> <p>简单的做了以上修改后,就可以支持中文了!</p> Last modification:October 6, 2023 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏