Kompilasi ulang VIM dengan opsi

14

Saya telah menginstal VIM tetapi saya harus mengompilasinya dengan opsi spesifik:

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

Apa langkah-langkah untuk menghapus instalasi, dan kompilasi ulang dengan opsi-opsi itu tanpa merusak apa pun?

bdeonovic
sumber

Jawaban:

14

Pertama, Anda perlu mendapatkan kode sumber, termudah melalui repositori Vim's Mercurial ; lihat vim.org untuk detailnya.

Kemudian, Anda memerlukan lingkungan build dan perpustakaan dev , terutama untuk Python yang diinginkan. Ini sangat tergantung pada platform. Di Ubuntu / Debian, ini sederhana

$ sudo apt-get build-dep vim-gnome

Pencarian Internet akan memberi tahu Anda lebih banyak.

Untuk mengkompilasi dengan fitur, Anda meneruskannya

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

Perhatikan hasil deteksi dengan cermat.

Akhirnya, Anda dapat mengkompilasi dan menginstal:

$ make
$ sudo make install

Ini akan (di Linux) menginstal Vim /usr/local/bin/vim, sehingga tidak mengganggu default /usr/bin/vim, dan Anda tidak perlu menghapus apa pun; hanya pastikan bahwa yang pertama datang di Anda PATH.

Ingo Karkat
sumber
Ini akan menginstal + clientserver dan + menyembunyikan opsi juga? Agak membuat saya frustasi karena tidak mengetahui flag --enable mana yang menginstal opsi yang saya inginkan.
bdeonovic
Hal lain yang mungkin Anda lakukan adalah menyimpan konfigurasi build yang Anda miliki sekarang dengan perintah ini, vim --version > vim-version.origdan membandingkannya dengan output vim --versionsetelah Anda mengkompilasi ulang vim. Itu akan memberi tahu Anda jika ada fitur yang dulu Anda miliki yang tidak termasuk dalam versi yang dikompilasi ulang.
garyjohn
@garyjohn itu tip yang bagus! Masalahnya bagi saya adalah tidak tahu flag konfigurasi mana yang akan menginstal fitur yang sesuai
bdeonovic
1
Secara default, "sebagian besar" fitur diaktifkan (jika perpustakaan dev ada di sana). Yang pasti, Anda bisa lulus --with-features=hugeuntuk memiliki semua yang ada di sana.
Ingo Karkat
2
Paket vim-gnomedan vim-gtkkeduanya intall Vim dengan semua yang Anda butuhkan.
romainl
16

Ketika Anda mengkompilasi vim, Anda dapat melewati opsi / panji --with-features, misalnya:

--with-features=huge

Ini akan menentukan fitur mana yang termasuk dalam instalasi. Daftar semua fitur dapat ditemukan di sini ( http://vimdoc.sourceforge.net/htmldoc/various.html ) dengan huruf yang menunjukkan versi mana fitur ini termasuk dalam:

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.

Misalnya, jika Anda menginginkan fitur bahasa Arab, Anda harus memilikinya --with-features=big

                            *+feature-list*

   *+ARP*       Amiga only: ARP support included

B  *+arabic*        |Arabic| language support

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

... etc
bdeonovic
sumber
Ini mengatakan "Ketika Anda mengkompilasi vim Anda dapat melewati opsi: ...". Kemudian menampilkan opsi besar untuk mendapatkan semua / sebagian besar fitur atau sesuatu seperti itu. Apa tepatnya yang saya berikan opsi itu? Bisakah saya melihat contohnya?
still_dreaming_1
1
Cara standar menginstal paket sumber di linux berlaku di sini. Unduh kode sumber, jalankan ./configure, jalankan sudo make install. Selama ./configurelangkah ini Anda dapat menambahkan opsi seperti `--with-features``. Lihat langkah 3 di github.com/Valloric/YouCompleteMe/wiki/Membangun-Vim-dari-sumber
bdeonovic
0

Konfigurasikan, Kompilasi, dan Instal Vim

Instal pustaka yang diperlukan

sudo apt-get build-dep vim

Unduh versi VIM terbaru dari github, mis

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

Cara paling praktis untuk membuat konfigurasi adalah dengan mengatur opsi konfigurasi langsung di Makefile . Pertama buat salinan Makefile

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

Setelah itu buka baris ./src/Makefiledan kemudian batalkan komentar (hapus # ) yang ingin dikompilasi dan diinstal.

vi ./src/Makefile

Untuk menyesuaikan fitur, Anda harus mengedit src/feature.hfile

vi ./src/feature.h

Disarankan untuk unix untuk membuat pilihan dasar dengan menambahkannya ke configureperintah.

Pilihan dasar adalah:

  • mungil - hampir tidak ada fitur yang diaktifkan, bahkan beberapa jendela
  • kecil - sedikit fitur yang diaktifkan, serendah mungkin
  • normal - pilihan default fitur yang diaktifkan
  • besar - banyak fitur yang diaktifkan, sekaya mungkin
  • besar - semua fitur yang mungkin diaktifkan

Kemudian konfigurasikan vim untuk menerapkan pengaturan Anda

./configure --with-features=huge

Setelah itu cukup kompilasi

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

dan instal dengan

sudo make install
abu_bua
sumber