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.