歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Cygwin支持中文的配置

Cygwin是一款優秀的windows下模擬Linux環境的軟件!

在默認情況下,cygwin的大部分命令是不支持中文的,比如ls,顯示出來的都是問號

但是我們可以通過修改一些設置使它支持中文

首先,進入到用戶主目錄下

$cd ~

然後找到.inputrc,沒有的話就新建

例如:

1.在cygwin/home/[user]/.bash_profile的末尾添加如下代碼

alias ls=’ls –color –show-control-chars’

export LC_ALL=zh_CN.GB23122

export LC_CTYPE=zh_CN.GB2312

export LANG=zh_CN.GB2312

export XMODIFIERS="@im=Chinput"3

stty cs8 -istrip

stty pass8

export LESSCHARSET=latin1

2.修改cygwin/home/[user]/.inputrc中的代碼,去掉相關注釋即可

set meta-flag on

set convert-meta off

set output-meta on

set input-meta on

3.在cygwin/home/[user]/.bashrc末尾添加

上述步驟解決了cygwin下中文顯示亂碼與中文輸入的問題.

網上找了很多解決方法, 把環境設為zh_CN.GB23122, 但是我試了還是不行,然後自己設置en_US.UTF-8, nano編輯文本的時候可以, 但是保存文件名稱為中文卻不行, 最後en_US.UTF-16就OK了, 但是還是有個問題不明白, export LESSCHARSET=latin1 這個不知道是什麼意思, 誰能告訴我。

如果你改變了home的路徑, 請參考以下方法解決:

如果HOME目錄改變則需要編輯cygwin.bat

在bash命令之前加入set HOME=C:\cygwin\home

$ more cygwin.bat

@echo off

C:

chdir C:\cygwin\bin

set HOME=C:\cygwin\home

bash –login -i

aaronvox#aaronvox ~

$ pwd

/home

這樣操作之後的配置文件可能為:

aaronvox#aaronvox ~

$ ls -a

. .. .bash_profile .bashrc .inputc .inputrc

aaronvox#aaronvox ~

$ more .inputc

set meta-flag on

set convert-meta o

set output-meta on

set input-meta on

aaronvox#aaronvox ~

$ more .bash_profile

# base-files version 3.4-2

# WARNING

#

# IF THIS .bash_profile 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/.bash_profile

# ~/.bash_profile: executed by bash for login shells.

# source the system wide bashrc if it exists

if [ -e /etc/bash.bashrc ] ; then

source /etc/bash.bashrc

fi

# source the users bashrc if it exists

if [ -e "${HOME}/.bashrc" ] ; then

source "${HOME}/.bashrc"

fi

# Set PATH so it includes user’s private bin if it exists

# if [ -d "${HOME}/bin" ] ; then

# PATH=${HOME}/bin:${PATH}

# fi

# Set MANPATH so it includes users’ private man if it exists

# if [ -d "${HOME}/man" ]; then

# MANPATH=${HOME}/man:${MANPATH}

# fi

# Set INFOPATH so it includes users’ private info if it exists

# if [ -d "${HOME}/info" ]; then

# INFOPATH=${HOME}/info:${INFOPATH}

# fi

簡單的做了以上修改後,就可以支持中文了!

Copyright © Linux教程網 All Rights Reserved