Здравствуйте, дорогие любители юникода! Продолжаем наш цикл заметок про улучшение поддержки UTF-8 в Slackware. В прошлый раз - Slackware, man и UTF-8 - мы улучшали поддержку UTF-8 в man. В этот раз поговорим про грабли /usr/bin/vi.
Как оказывается, в Slackware из коробки /usr/bin/vi не является симлинком указывающим на vim. Всё гораздо серьёзнее. Из коробки /usr/bin/vi является симлинком... текстового редактора elvis (да, он входит в базовую систему!) в котором нет нормальной поддержки UTF-8. Поэтому, например, попытавшись создать коммит в том же git'е можно внезапно увидеть
# �.ожал�.й�.�.а, введи�.е �.ооб�.ение комми�.а дл�. ва�.и�. изменений. С�.�.о�
ºи,
# на�.ина�.�.ие�.�. �. «#» б�.д�.�. п�.оигно�.и�.ован�., а п�.�.�.ое �.ооб�.ение
# о�.мен�.е�. п�.о�.е�.�. комми�.а.
# �.а ве�.ке master
#
# �.а�.ал�.н�.й комми�.
Ситуацию можно легко исправить, например, так:
removepkg elvis && ln -s /usr/bin/vim /usr/bin/vi
Enjoy!