From 0c6c30d1dfdcf276ae88091eadca6bed3cca470d Mon Sep 17 00:00:00 2001
From: Linuxoid85 <71516578+Linuxoid85@users.noreply.github.com>
Date: Wed, 26 May 2021 17:49:29 +0300
Subject: [PATCH] vim
---
docs/build-system/vim.md | 104 +++++++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
create mode 100644 docs/build-system/vim.md
diff --git a/docs/build-system/vim.md b/docs/build-system/vim.md
new file mode 100644
index 00000000..47e29787
--- /dev/null
+++ b/docs/build-system/vim.md
@@ -0,0 +1,104 @@
+
+
+
+
+## Настройка
+
+Для начала, измените расположение файла `vimrc` на `/etc`:
+
+```bash
+echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
+```
+
+И сконфигурируйте пакет:
+
+```bash
+./configure --prefix=/usr
+```
+
+## Сборка
+
+```bash
+make
+```
+
+## Тестирование
+
+```bash
+chown -Rv tester .
+su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log
+```
+
+?> Так как тестирование выводит на экран большое кол-во двоичных данных, это может вызвать проблемы с настройками текущего терминала. Именно поэтому используется перенаправление вывода в файл.
+
+## Установка
+
+```bash
+make install
+```
+
+Многие пользователи привыкли использовать `vi` вместо `vim`. Чтобы выполнять `vim`, когда пользователь обычно ввёл `vi`, создайте символическую ссылку как для бинарного файла, так и для страницы руководства:
+
+```bash
+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`. Для совместимости с другими пакетами, создайте символическую ссылку:
+
+```bash
+ln -snfv ../vim/vim82/doc /usr/share/doc/vim-8.2.2433
+```
+
+## Объяснение новых команд
+
+* `--with-features=huge`: включить все дополнительные функции Vim (включая поддержку многобайтовых символов)
+
+## Настройка Vim
+
+По умолчанию Vim работает в режиме, несовместимом с Vi. Это может быть неприятным для тех пользователей, которые использовали другие редакторы в прошлом. Параметр несовместимости включен, чтобы подчеркнуть факт о том, что используется новое поведение. Так же, он напоминает тем, кто перейдёт в совместимый режим, что это должен быть первый параметр в файле конфигурации (это необходимо, потому что при этом изменяются другие параметры; предопределения должны выполняться после этого параметра). Создайте стандартный конфигурационный файл Vim:
+
+```bash
+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 lbr
+set mouse=
+syntax on
+if (&term == "xterm") || (&term == "putty")
+ set background=dark
+endif
+
+" End /etc/vimrc
+EOF
+```
+
+Параметр `set nocompatible` указывает Vim'y вести себя более удобным образом (по умолчанию), чем vi-совместимый. Удалите `no`, чтобы сохранить старое поведение vi. Параметр `set backspace=2` позволяет делать обратный интервал при переносе строк, автоотступах и начале вставки. Синтаксис параметра включает подсветку синтаксиса vim. `set lbr` включает перенос текста по словам. Параметр `set mouse=` позволяет правильно вставлять текст с помощью мыши при работе в chroot или через удаленное соединение. Наконец, оператор if с параметром `set background=dark` исправляет предположение vim о цвете фона некоторых эмуляторов терминала. Это дает лучшую цветовую схему выделения для использования на черном фоне этих программ.
+
+## Установленные файлы
+
+* **Установленные программы:** `ex` (ссылка на `vim`), `rview` (ссылка на `vim`), `rvim` (ссылка на `vim`), `vi` (ссылка на `vim`), `view` (ссылка на `vim`), `vim`, `vimdiff` (ссылка на `vim`), `vimtutor` и `xxd`
+* **Установленные библиотеки:** нет
+* **Установленные директории:** `/usr/share/vim`