8.73.1. Установка пакета Vim
Во-первых, измените расположение файла конфигурации vimrc
на /etc
:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
Подготовьте Vim к компиляции:
./configure --prefix=/usr
Скомпилируйте пакет:
make
Чтобы подготовить тесты, убедитесь, что пользователь tester
может писать в исходное дерево:
chown -R tester .
Теперь запустите тесты от имени пользователя tester
:
su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \
&> vim-test.log
Набор тестов выводит на экран много двоичных данных. Это может
вызвать проблемы с настройками текущего терминала (особенно, когда
мы переопределяем переменную TERM
, чтобы
удовлетворить некоторые требования набора тестов). Чтобы этого
избежать, перенаправьте вывод в файл журнала, как показано выше.
Тест пройден успешно, если лог по завершении содержит текст:
ALL DONE
.
Установите пакет:
make install
Многие пользователи рефлекторно набирают vi вместо vim. Чтобы разрешить выполнение
vim, когда
пользователи вводят vi, создайте символическую ссылку
как для двоичного файла, так и для справочной страницы:
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
По умолчанию документация Vim установливается в каталог
/usr/share/vim
. Следующая
символическая ссылка позволяет получить доступ к документации через
каталог /usr/share/doc/vim-9.1.0660
,
что согласуется с расположением документации остальных пакетов:
ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0660
Если в LFS будет установлена система X Window, может потребоваться
перекомпилировать Vim после установки X. Vim поставляется с
графической версией редактора, для которой требуется установка X и
некоторых дополнительных библиотек. Для получения дополнительной
информации об этом процессе обратитесь к документации по Vim и
странице установки Vim в книге BLFS по адресу
https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/vim.html.
8.73.2. Настройка Vim
По умолчанию vim
работает в режиме, несовместимом с vi. Это может показаться
необычным для пользователей, которые в прошлом использовали другие
редакторы. Параметр «nocompatible» включен ниже, чтобы подчеркнуть
тот факт, что используется новое поведение. Настройка также
напоминает тем, кто хотел бы перейти в режим «compatible», что
параметр должен быть первым в файле конфигурации. Это необходимо,
потому что изменяются другие параметры, и переопределения
происходят после этой настройки. Создайте файл конфигурации
vim по умолчанию,
выполнив следующие действия:
cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc
" Ensure defaults are set before customizing settings, not after
source $VIMRUNTIME/defaults.vim
let skip_defaults_vim=1
set nocompatible
set backspace=2
set mouse=
syntax on
if (&term == "xterm") || (&term == "putty")
set background=dark
endif
" End /etc/vimrc
EOF
Параметр set nocompatible
заставляет vim вести
себя более правильно (по умолчанию), чем vi-совместимый способ.
Удалите «no»,
чтобы сохранить старое поведение vi. Параметр set backspace=2
позволяет удалять
символы через перенос строки, автоматические отступы и начало
вставки. Параметр syntax on
включает подсветку синтаксиса vim. Параметр set mouse=
позволяет правильно
вставлять текст с помощью мыши при работе в chroot или через
удаленное соединение. Наконец, оператор if с параметром set background=dark
корректирует
предположение vim о
цвете фона некоторых эмуляторов терминала. Это придает подсветке
лучшую цветовую схему для использования на черном фоне этих
программ.
Документацию по другим доступным параметрам можно получить,
выполнив следующую команду:
vim -c ':options'
Примечание
По умолчанию vim устанавливает файлы проверки орфографии только
для английского языка. Для установки файлов проверки орфографии
других языков, скопируйте файлы .spl
и, при необходимости, .sug
для вашего языка и кодировки символов из
runtime/spell
, сохраните их в
/usr/share/vim/vim91/spell/
.
Чтобы использовать эти файлы проверки орфографии, необходимо
указать параметры для vim в файле /etc/vimrc
, пример:
set spelllang=en,ru
set spell
Дополнительные сведения смотрите в файле runtime/spell/README.txt
.