Ponownie skompiluj VIM z opcjami

14

Mam zainstalowany VIM, ale muszę go skompilować z określonymi opcjami:

In addition to the most commonly used features, the plugin
       requires: +python or +python3, +clientserver and +conceal.

Jakie są kroki, aby odinstalować i ponownie skompilować z tymi opcjami, nie psując niczego?

bdeonovic
źródło

Odpowiedzi:

14

Po pierwsze, musisz zdobyć kod źródłowy, najłatwiej poprzez repozytorium Mercura Vima ; szczegółowe informacje na stronie vim.org .

Następnie trzeba środowiska kompilacji i dev bibliotek, zwłaszcza dla pożądanej Pythonie. Zależy to w dużej mierze od platformy. W Ubuntu / Debian jest to proste

$ sudo apt-get build-dep vim-gnome

Wyszukiwanie w Internecie powie Ci więcej.

Aby skompilować z funkcjami, przekazujesz je do

$ ./configure --enable-pythoninterp --enable-python3interp

Uważnie obserwuj jego wyniki wykrywania.

Wreszcie możesz skompilować i zainstalować:

$ make
$ sudo make install

Spowoduje to (w Linuksie) zainstalowanie Vima /usr/local/bin/vim, więc nie będzie to kolidowało z ustawieniami domyślnymi /usr/bin/vimi nie musisz niczego odinstalowywać; tylko upewnij się, że ten pierwszy jest na pierwszym miejscu PATH.

Ingo Karkat
źródło
Spowoduje to również zainstalowanie + clientserver i + ukryć opcje? Trochę frustrujące jest nie wiedzieć, które - dostępne flagi instalują opcje, które chcę.
bdeonovic
Coś innego, co możesz zrobić, to zapisać konfigurację kompilacji, którą masz teraz za pomocą tego polecenia, vim --version > vim-version.origi porównać to z danymi wyjściowymi vim --versionpo ponownej kompilacji vima. Dzięki temu dowiesz się, czy były jakieś funkcje, których nie posiadasz w ponownie skompilowanej wersji.
garyjohn
@garyjohn to dobra wskazówka! Problemem było dla mnie to, że nie wiedziałem, które flagi konfiguracji zainstalują odpowiednie funkcje
bdeonovic
1
Domyślnie „większość” funkcji jest włączona (jeśli istnieją biblioteki programistów). Dla pewności możesz przejść, --with-features=hugeaby mieć tam wszystko.
Ingo Karkat
2
Zarówno pakiet, jak vim-gnomei vim-gtkpakiet Vima zawierają wszystko, czego potrzebujesz.
romainl
16

Podczas kompilacji vima możesz przekazać opcję / flagę --with-features, np .:

--with-features=huge

To określi, które funkcje są uwzględnione w instalacji. Listę wszystkich funkcji można znaleźć tutaj ( http://vimdoc.sourceforge.net/htmldoc/various.html ) z literą wskazującą, w której wersji funkcja jest zawarta:

Here is an overview of the features.
            The first column shows the smallest version in which
            they are included:
               T    tiny
               S    small
               N    normal
               B    big
               H    huge
               m    manually enabled or depends on other features
             (none) system dependent
            Thus if a feature is marked with "N", it is included
            in the normal, big and huge versions of Vim.

Na przykład, jeśli chcesz mieć funkcję języka arabskiego, musisz ją mieć --with-features=big

                            *+feature-list*

   *+ARP*       Amiga only: ARP support included

B  *+arabic*        |Arabic| language support

N  *+autocmd*       |:autocmd|, automatic commands

... etc
bdeonovic
źródło
Mówi to: „Kiedy kompilujesz vima, możesz przekazać opcję: ...”. Następnie pokazuje ogromną opcję uzyskania wszystkich / większości funkcji lub czegoś takiego. Co dokładnie przekazuję tej opcji? Czy mogę zobaczyć przykład?
still_dreaming_1
1
Obowiązuje tutaj standardowy sposób instalowania pakietów źródłowych w systemie Linux. Pobierz kod źródłowy, uruchom ./configure, uruchom sudo make install. Podczas tego ./configurekroku możesz dodać opcje, takie jak `--with-features``. Zobacz krok 3 w github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
bdeonovic
1

Skonfiguruj, skompiluj i zainstaluj Vima

Zainstaluj wymagane biblioteki

sudo apt-get build-dep vim

Pobierz najnowszą wersję VIM z github, np

mkdir -p ./git/vim; cd ./git/vim
git clone https://github.com/vim/vim

Najbardziej praktyczny sposób, aby konfiguracji jest ustawienie opcji konfiguracyjnych bezpośrednio w Makefile . Najpierw wykonaj kopię pliku Makefile

cp ./src/Makefile ./src/Makefile.backup

Następnie otwórz, ./src/Makefilea następnie odkomentuj (usuń # ) wiersze, które chcesz skompilować i zainstalować.

vi ./src/Makefile

Aby dostosować funkcje , musisz edytować src/feature.hplik

vi ./src/feature.h

Zaleca się, aby unix dokonał podstawowego wyboru, dodając go do configurepolecenia.

Podstawowe opcje to:

  • małe - prawie żadne funkcje nie są włączone, nawet wiele okien
  • mała - włączono kilka funkcji, tak podstawowych, jak to możliwe
  • normal - domyślny wybór włączonych funkcji
  • duży - włączono wiele funkcji, możliwie jak najbogatszych
  • ogromny - wszystkie możliwe funkcje włączone

Następnie skonfiguruj vim, aby zastosować ustawienia

./configure --with-features=huge

Następnie po prostu skompiluj

make -j `nproc` # compile with max. number of processors

i zainstaluj za pomocą

sudo make install
abu_bua
źródło