mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-24 23:32:18 +08:00
commit
7d7e0ea91e
104
docs/build-system/vim.md
Normal file
104
docs/build-system/vim.md
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
<package-info :package="package" showsbu2></package-info>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#main',
|
||||||
|
data: { package: {} },
|
||||||
|
mounted: function () {
|
||||||
|
this.getPackage('vim');
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getPackage: function(name) {
|
||||||
|
getPackage(name)
|
||||||
|
.then(response => this.package = response);
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
## Настройка
|
||||||
|
|
||||||
|
Для начала, измените расположение файла `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`
|
Loading…
Reference in New Issue
Block a user