Например,
Код: Выделить всё
cat > test.txt
привет<backspace><enter>
<ctrl+d>
vim test.txt
Знаю, что в линуксе есть расширение консоли iutf8. А как это наладить в freebsd?
Код: Выделить всё
cat > test.txt
привет<backspace><enter>
<ctrl+d>
vim test.txt
Код: Выделить всё
locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
А надо бы, наверное, так:
Код: Выделить всё
$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
дело не в консоли, а в терминальном драйвере.В консоли backspace стирает многобайтовую кодировку побайтово.
Знаю, что в линуксе есть расширение консоли iutf8. А как это наладить в freebsd?
Код: Выделить всё
rlwrap cat > file
гнусный readline wrapper, интересное решение.guest, спасибо за ответ!
Пока что придумал практическое решение проблемы при помощи rlwrap(1).