Hỗ trợ Python Vim 8.0


23

Tôi đang cố nâng cấp cài đặt Vim của mình lên phiên bản 8.0, nhưng nó không hỗ trợ cả Python và Python 3 như hình ảnh bên dưới.

(PS: Vì vấn đề này, tôi không thể sử dụng plugin YCM (YouCompleteMe) ngay bây giờ.)

  1. Tôi đã cài đặt Vim 8.0 như trong các lệnh sau.

  2. Tôi đang sử dụng Ubuntu 16.04 (Xenial Xerus).

Làm thế nào tôi có thể xử lý vấn đề này?

sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim

Nhập mô tả hình ảnh ở đây


1
Có vẻ như phiên bản Vim đó đã được biên dịch mà không có hỗ trợ Python. Không có nhiều toàn bộ bạn có thể làm về điều đó. Nếu bạn muốn chạy phiên bản Vim mới nhất trên Ubuntu thì có thể tự biên dịch nó là lựa chọn dễ nhất.
Martin Tournoij

2
Không trăn, không ruby, không perl, không clipboard clipboard mà bản dựng rất gần với vô dụng. Bạn nhận được gì nếu bạn cài đặt vim-gtkthay vì vim?
romainl

1
@Carpetsmoker Làm thế nào tôi có thể tự biên dịch nó? Bạn có thể giải thích một chút cụ thể hoặc cho tôi một liên kết?
Hyun Ho Yeo

@romainl Có vim-gtk hỗ trợ vim 8.0 không?
Hyun Ho Yeo

Vâng, trong ppa đó.
romainl

Câu trả lời:


14

Các pi-rho / dev PPA bây giờ hỗ trợ Vim 8, và giống như nó luôn luôn có, bao gồm hỗ trợ cho Python / Python3:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +vreplace
+cscope          +lispindent      +python3/dyn     +wildignore
$ apt-cache policy vim   
vim:
  Installed: 2:8.0.0134-1ubuntu1~ppa1~x
  Candidate: 2:8.0.0134-1ubuntu1~ppa1~x
  Version table:
 *** 2:8.0.0134-1ubuntu1~ppa1~x 500
        500 http://ppa.launchpad.net/pi-rho/dev/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500

Cuối cùng, pi-rho/devPPA đã không cập nhật các bản dựng Vim. Tôi sử dụng jonathonf/backportsPPA ngay bây giờ:

$ vim --version | grep python
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
$ apt-cache policy vim-gnome
vim-gnome:
  Installed: 2:8.0.1542-0york1~16.04
  Candidate: 2:8.0.1542-0york1~16.04
  Version table:
 *** 2:8.0.1542-0york1~16.04 500
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main amd64 Packages
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     2:7.4.1689-3ubuntu1 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

PPA cũng chứa các phiên bản mới hơn của một số gói khác.


♦ Cảm ơn, tôi đã sử dụng vim-nox thay thế. Tôi nên thử cái này
Hyun Ho Yeo

Làm thế nào để cài đặt vim8? i thêm PPA nhưng thực hiện sudo apt-get install vimđược tôi vim7 mà không pythin
WEIMA

@weima bạn đã làm gì apt-get updatesau khi thêm PPA?
Andrei Bârsan

1
jonathonf / backports không còn có bản dựng vim
Penghe Geng

2
@PengheGeng họ đã chuyển nó sang một PPA ( jonathonf/vim)
muru

8

Từ câu hỏi của bạn, có vẻ như bạn đã cài đặt vim-tiny 8.0, đó là thời gian chạy Vim rất tối thiểu không có plugin. Bạn có thể xác nhận điều này bằng cách sử dụng điều này:

dpkg -l | grep vim

Bạn có thể có một số thời gian chạy Vim, nhưng phiên bản chạy khi bạn làm vimsẽ là phiên bản mà bạn có thể thấy được chỉ định ở đây:

update-alternatives --list vim

Bạn có thể kiểm tra các phiên bản khác. Đề nghị của tôi là bạn quyết định giữa các phiên bản đầy đủ có hỗ trợ GUI và bạn có thể chọn giữa vim-gtk2/vim-gtk3các gói hoặc vim-noxđó là phiên bản đầy đủ, nhưng không có GUI.

Bây giờ, IIRC, phiên bản đầy đủ Vim trong Debian / Ubuntu không đi kèm với Python 2 VÀ Python 3 cùng lúc trong các phiên bản 7.x. Tôi không biết trường hợp của Vim 8 như thế nào, vì neovimbây giờ tôi sử dụng . Nếu đây là trường hợp của bạn và bạn sẽ cần cả hai công cụ Python được Vim 8 hỗ trợ (đây sẽ không phải là trường hợp của bạn để sử dụng YouCompleteMe; cái này chỉ hoạt động với hỗ trợ Python 2), sau đó bạn sẽ cần biên dịch từ các nguồn Vim của riêng bạn 8.0.


Đất Cảm ơn, tôi đã cài đặt vim-nox, tuy nhiên tôi sẽ cố gắng biên dịch từ các nguồn một ngày nào đó.
Hyun Ho Yeo

6

bạn nên sử dụng

sudo apt-get install vim-nox

thay vào đó, để có được một "phiên bản lớn".


Tôi muốn sử dụng vim 8.0 trở lên. Có vim.nox nào hỗ trợ điều đó?
Hyun Ho Yeo

@HyunHoYeo trông giống như vim-nox trong Ubuntu 16.04 là vim 8.0 (bạn có thể kiểm tra sau khi cài đặt bằng cách thực hiện vim --versionvà tôi đã nhận đượcVIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 05 2017 20:17:49)
jamescampbell

@jamescampbell Cảm ơn, tôi đã nâng cấp Ubuntu lên phiên bản 16.04 và tải xuống.
Hyun Ho Yeo

5

Bạn nên cài đặt vim từ nguồn. Bằng cách đó, bạn có quyền kiểm soát những gì được bao gồm. Xem phần sau để biết thêm thông tin và hướng dẫn từng bước. Nó tương đối dễ dàng.

https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
https://github.com/vim/vim

Vui lòng tránh đăng câu trả lời chỉ liên kết vì nó có thể thay đổi trong tương lai, khiến mọi người không có câu trả lời cho câu hỏi của họ. Ít nhất bao gồm các phần thiết yếu từ trang được liên kết.
EvergreenTree

5

Giải pháp 1:

  • Cài đặt VIM Editor (Cài đặt bất kỳ một trong số chúng của biến thể vim):

    • vim-gtk3 : - Gói này chứa phiên bản vim được biên dịch với GUI GTK3 và hỗ trợ cho kịch bản với Lua, Perl, Python, Ruby và Tcl. Để cài đặt gói này:

      sudo apt install vim-gtk3   
    • vim-gtk : - Gói này chứa phiên bản vim được biên dịch với GUI GTK2 và hỗ trợ cho kịch bản với Lua, Perl, Python, Ruby và Tcl. Để cài đặt gói này:

      sudo apt install vim-gtk   
    • vim-nox : - trình soạn thảo vi nâng cao Giống như vim-tiny, vim-nox là một bản cài đặt vim tối thiểu và hỗ trợ cho kịch bản với Lua, Perl, Python, Ruby và Tcl nhưng không có GUI. Nó đi kèm với hỗ trợ chuột, nhưng không hỗ trợ clipboard, IIRC. Để cài đặt gói này:

      sudo apt install vim-nox
  • Đặt Vim làm trình chỉnh sửa mặc định (giả sử biến thể đã cài đặt là vim-gtk3 )

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

Giải pháp 2:

Mặt khác, bạn có thể 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

  • cài đặt, dựng lên

    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
- cài đặt kiểm tra
- Các biến thể VIM


+1 chosudo apt install vim-nox
Philippe Gachoud

1

Chỉ cần kiểm tra, vim-nox (câu 8.1) có sẵn từ PPA đã được biên dịch bằng Python 3 (chỉ, không phải cả hai, nếu bạn thực sự cần cả hai tôi sẽ khuyên bạn nên chuyển sang Neovim).


0

Điều này chỉ dành cho những người Windows có được điều tương tự:

Trên Windows 64-bit, bạn PHẢI cài đặt phiên bản python bit tương tự như VIM của bạn. v.v.

32bit vim => 32bit python
64bit vim => 64bit python

Nếu không, python2x.dll hoặc python3x.dll sẽ KHÔNG được tải.


OP đã sử dụng nhị phân vim được biên dịch mà không có Python. Ngoài ra, anh ta đang sử dụng nó trên Linux, không phải Windows.
Herb Wolfe

@HerbWolfe vâng, tôi biết. Nó có thể không đúng nhưng tôi đặt nó ở đây chỉ dành cho một số người chơi windows này để tìm giải pháp. Tôi đã dành hàng giờ để giải quyết vấn đề này và muốn cùng một số người khác dành thời gian cho nó. Nhưng cảm ơn bạn đã nhắc nhở.
Danniel Little
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.