ソースコードからVimを構築

5333 ワード

ソースコードからVimを構築
引用する
私はVimの重度使用者なので、あまり差がありません.
しかし、ほとんどのシステムにインストールできるか、持参できるのは古いバージョンで、7.xなどかもしれません.あるいはVimのいくつかの特性や機能を使用する必要がありますが、Buildの良いプログラムが有効になっていないので、気まずいです.
だから、ソースコードから自分のVimを構築します.
ステップ
ランタイムおよびソースコードのダウンロード
まずコンパイルに必要なライブラリをインストールします.ここでは状況を見て、何か間違いがあれば補充してもいいです.
これらが必要かもしれません(私は自分で入れなくてもいいです):
sudo apt install ncurses-dev

# or

sudo apt install libncurses-dev

# or

sudo apt install libncurses5-dev \
                libgtk2.0-dev \
                libatk1.0-dev \
                libcairo2-dev \
                python-dev \
                python3-dev \
                git

次に、ソースをダウンロードします.
cd ~ && git clone https://github.com/vim/vim.git && cd vim/src

Vimの構成
Vimでサポートされている機能は非常に多いので、必要な機能をオンまたはオフにすることができます.ここ参照
このコマンドを使用して、現在のVimバージョンと機能の状況を表示することもできます.
$ vim --version | less
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 19 2021 18:24:53)
macOS version - x86_64
Included patches: 1-2375
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl               -farsi             +mouse_sgr         +tag_binary
+arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
+autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
+autochdir         +float             +mouse_xterm       -tcl
-autoservername    +folding           +multi_byte        +termguicolors
-balloon_eval      -footer            +multi_lang        +terminal
+balloon_eval_term +fork()            -mzscheme          +terminfo
-browse            +gettext           +netbeans_intg     +termresponse
++builtin_terms    -hangul_input      +num64             +textobjects
+byte_offset       +iconv             +packages          +textprop
+channel           +insert_expand     +path_extra        +timers
+cindent           +ipv6              +perl              +title
-clientserver      +job               +persistent_undo   -toolbar
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua               +ruby              +wildmenu
+dialog_con        +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       -X11
-dnd               +mouse             -sound             -xfontset
-ebcdic            -mouseshape        +spell             -xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              -mouse_gpm         +statusline        -xsmp
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/local/share/vim"

上の最初の行にはバージョン番号が書かれていますが、それらのすべての特性は下にリストされています.+付きは有効です.-番号は有効ではありません.
もしそうなら、今私たちはvim/srcというカタログにいます.
このコマンドを使用すると、基本的にフル機能をオンにできます.
./configure \
    --with-features=huge \
    --enable-multibyte \
    --enable-rubyinterp \
    --enable-perlinterp \
    --enable-luainterp \
    --enable-pythoninterp \
    --with-python-config-dir=/usr/lib/python2.7/config-arm-linux-gnueabihf/ \
    --enable-python3interp \
    --with-python3-config-dir=/usr/lib/python3.7/config-3.7m-arm-linux-gnueabihf/ \
    --enable-gui=gtk2 \
    --enable-cscope \
    --prefix=/usr

注意:中の2つのPythonパスがあなたのマシンの実際の状況に置き換えられます!
あるいは、デフォルトでオンになっている機能をオフにしたい場合は、このようにオフにすることもできます.
./configure --enable-multibyte=no --enable-cscope=yes

直接xxx=noと書くと閉じ、xxx=yesが開きます.上の例ではenable-multibyteを閉じ、enable-cscopeを開きます.
コマンドが実行されるとプログラムはcheckingをたくさん走って、辛抱強く走って終わるのを待っていればいいです.
インストール
configureを実行したら、構成が設定され、そのままインストールできます.
make
sudo make install

場所を指定することもできます.
sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim82

あるいは、小さなマシンが耐えられないことを防止するために、最大どれだけのjobsを実行できるかを指定します.制限しないで勝手に開くからです.
make -j 4

makeとinstallコマンドを走った後、vimはすでにインストールされているはずです.バージョンをもう一度見てみると最新のはずです.
変化がなければ、shellのキャッシュメカニズムによる可能性があります.別のshellを開くか、次のコマンドでキャッシュを更新できます.
hash vim

大功を成し遂げた~