How can I use Unicode (non-ASCII) characters?
You need to set locale environment variables to enable Unicode character support.
If the variables have already been configured for your preference, you
probably don’t have to do anything. To check the current locale
configurations, you can use the locale
command:
$ locale
LANG=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8
In this example, the locale
command shows that all the locale setting
categories are configured for the English language, the United States region,
and the UTF-8 encoding.
If the current configuration does not seem to match your preference, set the
LC_ALL
variable like this:
export LC_ALL=en_US.utf8
If you want to use other languages, regions, or encodings, you have to set the variable to a different value. Please consult your OS’s documentation to learn how to configure these variables in detail.
If you want to apply the same configuration every time you start yash, write the command in ~/.yashrc or ~/.yash_profile.
If yash still rejects Unicode characters being entered, see the section below regarding line-editing.
Line-editing does not work
First, type echo $TERM
and see if it prints a sane value. xterm
is the
safest value that should work on any existing environment. Colored versions
like xterm-16color
and other terminal types like rxvt
and vt100
may also
work. All possible values can be listed by the toe
command. It’s most
desirable to choose a value that matches the actual terminal type you are
using, but it might not work if the terminal type you chose is not supported
on the system on which yash is running. If so, try changing the TERM
value
by export TERM=xterm
, for example, to find a value that works.
If line-editing works but you have trouble entering Unicode (non-ASCII)
characters, try enabling the le-no-conv-meta
option by set -o le-no-conv-meta
.