LINUX.ORG.RU
ФорумTalks

Slackware, /usr/bin/vi и UTF-8

 , ,


1

2

Здравствуйте, дорогие любители юникода! Продолжаем наш цикл заметок про улучшение поддержки 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!

★★★★★

а это знают наверное все пользователи слаки
так только removepkg можно и не делать. вдруг кому elvis нужен.

xmikex ★★★★
()
Ответ на: комментарий от xmikex

А зачем он? Вообще я думаю имеет смысл вообще выкинуть большую часть таких утилиток и взять какой-нибудь бизибокс где уже есть и vi и прочее.

Xenius ★★★★★
()

ана� master

Весь смысл линукса в одной картинке.

Ygor ★★★★★
()

# на�.ина�.�.ие�.�. �. «#» б�.д�.�. п�.оигно�.и�.ован�., а п�.�.�.ое �.ооб�.ение

Можно не выражаться, здесь все-таки бывают дети.

petrosyan ★★★★★
()
Ответ на: комментарий от kirk_johnson

vim умеет работать в режиме совместимости с vi. В LFS'е описана именно такая установка vim'а:

ln -sv vim /usr/bin/vi
for L in  /usr/share/man/{,*/}man1/vim.1; do
    ln -sv vim.1 $(dirname $L)/vi.1
done

saahriktu ★★★★★
() автор топика

Продолжаем наш цикл заметок про улучшение поддержки UTF-8 в Slackware.

улучшение поддержки UTF-8
UTF-8
saahriktu
UTF-8
saahriktu

Порвало.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)
Ответ на: комментарий от cantus

Emacs и GNU Emacs тоже разные программы?

Конечно. Оригинальный EMACS написали Мун со Стилом, потом Гослинг сделал первый Emacs для UNIX. И только затем Столлман заменил в Гослинговском интерпретатор Lisp и назвал результат GNU Emacs.

baka-kun ★★★★★
()
Ответ на: комментарий от kirk_johnson

:) и какие же киллер фичи есть у разной программы vi по сравнению с vim? и если уж пошел разговор, то про какой из vi мы говорим?

mrdeath ★★★★★
()
Последнее исправление: mrdeath (всего исправлений: 2)
Ответ на: комментарий от mrdeath

какие же киллер фичи есть у разной программы vi по сравнению с vim?

В первую очередь — размер и отсутствие тяжелых зависимостей.

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

В первую очередь — размер и отсутствие тяжелых зависимостей.

Это плюс поддержка UTF-8 есть в т.ч. у имеющихся на slackbuilds.org ex-vi (устанавливается в /opt/ex-vi/bin/vi) и nvi.

$ ldd /opt/ex-vi/bin/ex
        linux-vdso.so.1 (0x00007ffe41ce2000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fbef5766000)
        /lib64/ld-linux-x86-64.so.2 (0x0000556303605000)
$ du -b /opt/ex-vi/bin/ex
240464  /opt/ex-vi/bin/ex
$  ldd /usr/bin/nvi
        linux-vdso.so.1 (0x00007ffecd9fd000)
        libvi.so.0 => /usr/lib64/libvi.so.0 (0x00007fe8203aa000)
        libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007fe820171000)
        libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007fe81ff46000)
        libdb-4.8.so => /lib64/libdb-4.8.so (0x00007fe81fbd0000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fe81f80a000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fe81f604000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe81f3e6000)
        /lib64/ld-linux-x86-64.so.2 (0x0000558a3e15b000)
$ du -b /usr/bin/nvi
41232   /usr/bin/nvi
$ ldd /usr/bin/vim
        linux-vdso.so.1 (0x00007ffd5ae3a000)
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007fb949336000)
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007fb94911b000)
        libXt.so.6 => /usr/lib64/libXt.so.6 (0x00007fb948eb5000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fb948b78000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fb94886f000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x00007fb948616000)
        libacl.so.1 => /lib64/libacl.so.1 (0x00007fb94840e000)
        libgpm.so.2 => /lib64/libgpm.so.2 (0x00007fb948208000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fb948004000)
        libperl.so => /usr/lib64/perl5/CORE/libperl.so (0x00007fb947c14000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb9479f6000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fb94762e000)
        libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007fb947215000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fb947011000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fb946df2000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fb946bef000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fb9469ea000)
        /lib64/ld-linux-x86-64.so.2 (0x00005600a5c18000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007fb9467e4000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fb9465cb000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb946393000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007fb946190000)
$ du -b /usr/bin/vim
2550800 /usr/bin/vim

saahriktu ★★★★★
() автор топика

тут в готовых такие проблемы, а я хотел ЛФС ещё собрать, ну его нафиг.

eR ★★★★★
()
Ответ на: комментарий от eR

В готовых «проблемы» являются следствием того, что оно не так приготовлено, и надо местами переделывать. В LFS'е же сам собираешь всё с нуля сразу так как нужно, и уже не надо переделывать.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от h578b1bde

Лол. Насоберу 520, назову слово.

d_a ★★★★★
()
Ответ на: комментарий от h578b1bde

Это слово «будут». А вся строчка: «начинающиеся с «#» будут проигнорированы, а пустое сообщение».

saahriktu ★★★★★
() автор топика

Я даже больше скажу: Linux — это только ядро, а всё остальное к нему приделывается либо самим пользователем, либо тем, кому он доверяет, в данном случае, Патриком Фолькердингом, которому судя по всему не важен UTF-8 в vi elvis.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

кря...
и зачем это открытие здесь? 8-)

Ладно, не буду мешать, каждый в своей песочнице балуется.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.