Cách bật tính năng + python trong vim


17

Tôi muốn cài đặt một vim plugin, plugin này cần một +pythontính năng, vì vậy khi tôi mở vim và gõ :versionnó sẽ hiển thị -python. Làm thế nào tôi có thể làm cho nó kích hoạt?.

Cảm ơn.

Câu trả lời:


15

Bạn cần phải tự biên dịch Vim hoặc nhận gói Vim dựng sẵn được biên dịch với sự hỗ trợ của Python.

Nếu bạn đang sử dụng hệ thống dựa trên Debian, cách dễ nhất là tải xuống gói vim-gnome hoặc vim-gtk từ apt( apt install vim-gtkví dụ). Các bản phân phối khác có thể có một gói tương tự với sự hỗ trợ python được tích hợp.

Nếu bạn muốn tự biên dịch Vim, hãy tải xuống kho Vim và chuyển vào --enable-pythoninterpnhư vậy:

cd /tmp && git clone https://github.com/vim/vim.git && cd vim
./configure --enable-pythoninterp --prefix=/usr
make && sudo make install

Trên Windows, bạn có thể nhận gói Gvim từ đây có hỗ trợ Python.


Cảm ơn. Tôi cũng tìm thấy cái này, vi.stackexchange.com/questions/10242/vim-8-0-python-support
Enrique GF

1
Đối với các gói được biên dịch của riêng bạn, nó nên được cài đặt trong / usr / local not / usr. Điều đó có thể gây rối trình quản lý gói cài đặt công cụ. Cách tốt nhất để cài đặt các phụ thuộc là một cái gì đó nhưapt build-dep vim-nox
wb Khang

6

Giải pháp 1:

  • Cài đặt vim-gtkgói

    sudo apt install vim-gtk   
    
  • Đặt Vim làm trình chỉnh sửa mặc định

    sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk 1   
    sudo update-alternatives --set editor /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vi /usr/bin/vim.gtk   
    sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk 1  
    sudo update-alternatives --set vim /usr/bin/vim.gtk    
    

Giải pháp 2:

Nếu không, bạn cần biên dịch Vim từ mã nguồn (giả sử bạn đang sử dụng hệ thống dựa trên Debian)

Chuẩn bị hệ thống của bạn

  • Tải về

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
    
  • Xóa Vim nếu bạn đã có

    sudo apt remove vim vim-runtime gvim  
    

cấu hình và thực hiện

cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim  

sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \ 
--prefix=/usr/local/

sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 

Chuẩn bị gói deb bằng checkinstall

  • Và cài đặt gói đó

    cd /usr/vim && sudo checkinstall
    
  • Hoặc, nếu muốn chỉ tạo --install=notùy chọn sử dụng gói với checkinstall

Đặt Vim làm trình chỉnh sửa mặc định

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim   

Xác minh rằng bạn đang chạy nhị phân Vim mới bằng cách xem

vim --version | grep python

Tham khảo:
- Xây dựng Vim từ Nguồn
- checkinstall


3
Thay vì liên kết với một số tranh luận trên một trang Internet ngẫu nhiên, bạn nên đề nghị cài đặt Vim chính thức từ gói Debian có +pythonsẵn. Tôi tin rằng điều này nên làvim-gtk
Christian Brabandt

Cảm ơn @ChristianBrabandt đã bình luận, tôi sẽ cập nhật câu trả lời của tôi.
vây

@ChristianBrabandt Tôi tin rằng tùy chọn python cho các gói Debian hiện tại vim-gtk3vim-gtkkhông còn được mặc định bao gồm.
jacob

@jacob bạn có nghĩa là debian hiện tại không bao gồm +pythonnữa? Nó có thể được debian chuyển sang python3?
Christian Brabandt

4

Đối với Windows, bạn luôn có thể lấy phiên bản vá mới nhất của Vim 8.x được biên dịch dựa trên các thư viện bên ngoài mới nhất tại đây: Tải xuống Vim

Tại thời điểm đăng các phiên bản mới nhất:

Cập nhật được biên dịch mới nhất: 2017 / 02-23

Phiên bản Vim: 8.0.0363 Nhật ký bản vá chính thức

Các thư viện được sử dụng: Perl 5.24.1, Python 2.7.12, Python 3.6.0, Vợt 6.7, Ruby 2.4.0, Lua 5.3.3, Tcl 8.6.4 và libXpm


3

Bạn cần cài đặt phiên bản Python trên hệ thống của mình với cùng độ bit (32 bit hoặc 64 bit) như vim của bạn. Python cần phải ở trong PATH của bạn. Nếu bạn có thể chạy nó bằng cách gõ pythonvào dấu nhắc lệnh, bạn sẽ giỏi trong vấn đề này. Cuối cùng vim cần được biên dịch để hỗ trợ python, nhưng theo kinh nghiệm của tôi thì hầu hết là vậy. Kiểm tra :versionvà tìm kiếm python/dyn. Nó cần phải có một điểm cộng trước nó.


2

Vì điều này có thể bị hiểu sai khi kích hoạt tính năng python3, tôi xem xét hữu ích đề cập đến liên kết này để cài đặt theo nhu cầu của bạn

Dưới đây là hướng dẫn tuyệt vời cho: * nix & windows .

Lưu ý : Hãy chú ý đến mọi ký tự trong hướng dẫn ./mình và đọc kỹ (như thể bạn sẽ làm hỏng) trước khi thực hiện. Và đọc cho đến khi kết thúc, không có cách nào để bị lạc

Có lẽ bạn nên thêm phần này vào ./có hình:

--enable-fail-if-missing

Tránh bật cả python 2 & 3

Hãy dành thời gian của bạn Đây là một thủ tục được giải thích rất tốt. Cảm ơn


1

Trên Mac OS X, bạn có thể sử dụng homebrewđể cài đặt python đầu tiên và sau đó là vim, vim sẽ hỗ trợ python.

Tôi sử dụng MBP, hỗ trợ vim python/dynđược cài đặt theo cách trên, nhưng không bao gồm python3.


# Xóa sai ans 2017.2.28 10:38 AM #


1
Tôi không chắc liệu tôi có đọc chính xác hay không, nhưng lưu ý rằng trong trang trợ giúp, bạn không bao giờ có thể nhìn thấy, nếu Vim của bạn thực sự hỗ trợ +pythonhay -python. Bạn phải xem xét:version
Christian Brabandt

@ChristianBrabandt bạn nói đúng. Cảm ơn vì đã trả lời.
qingchen


1

Đối với những người sử dụng trăn anaconda, một số sửa đổi bổ sung được yêu cầu. Họ cũng có thể muốn biên dịch vim, đặc biệt nếu bạn muốn hoàn thành mã. Đây là lệnh configure:

Lệnh cấu hình đã sửa đổi cho anaconda:

 ./configure --enable-terminal --enable-gui=auto \
      --with-features=huge \
      --enable-multibyte \
       --enable-cscope --enable-terminal --enable-gui=auto  \
      --prefix=/XXX/SOFTWARE/VIM8/install3 \
   --enable-python3interp \
   --with-python3-config-dir=/XXX/anaconda2/envs/py36/bin/python3.6-config \
   --includedir=/XXX/anaconda2/envs/py36/include  \
   --includedir=/XXX/anaconda2/envs/py36/include/python3.6m \
   LDFLAGS=" -L/XXX/anaconda2/envs/py36/lib -L/XXX/anaconda2/envs/py36/lib/python3.6/config-3.6m-x86_64-linux-gnu"

Tại đây, vim đang được cài đặt để /XXX/SOFTWARE/VIM8/install3sử dụng môi trường anaconda cho python 3.6 được cài đặt trong/XXX/anaconda2/envs/py36

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.