Các gói của Ubuntu có thể khá cũ, nhưng đối với một số chương trình máy tính để bàn (như Vim) tôi muốn có phiên bản mới nhất, vì các phiên bản mới hơn thường sửa các lỗi khác nhau.
Làm cách nào tôi có thể có phiên bản Vim hợp lý gần đây trên Ubuntu?
Các gói của Ubuntu có thể khá cũ, nhưng đối với một số chương trình máy tính để bàn (như Vim) tôi muốn có phiên bản mới nhất, vì các phiên bản mới hơn thường sửa các lỗi khác nhau.
Làm cách nào tôi có thể có phiên bản Vim hợp lý gần đây trên Ubuntu?
Câu trả lời:
Bạn có ba tùy chọn khác nhau:
Nếu chờ đợi vài năm không tốt cho bạn thì bạn có hai lựa chọn sau:
Trong hai trường hợp sau, đây là một thủ tục cho các tùy chọn sau:
Đây là một hướng dẫn trực tuyến trên tipsonubfox.com (Cảm ơn @joeytwiddle đã đề xuất nó trong các bình luận).
Đầu tiên mở terminal và sử dụng lệnh sau. Điều này sẽ thêm Lưu trữ gói cá nhân (PPA) được duy trì bởi joathonf cho bạn repos và cho Ubuntu biết nơi để tìm Vim:
sudo add-apt-repository ppa:jonathonf/vim
Tôi sẽ nhắc lại ở đây rằng làm điều này cung cấp các đặc quyền gốc cho các tập lệnh trong PPA này, chỉ làm điều đó nếu bạn tin tưởng nó . Bạn có thể muốn đọc là an toàn của PPA để thêm vào hệ thống của tôi và những lá cờ màu đỏ nào đó là màu đỏ mà bạn cần chú ý? và có đảm bảo rằng phần mềm từ Launchpad PPAs không có vi-rút và các mối đe dọa cửa sau không? .
Cập nhật danh sách gói để Ubuntu sẽ tìm trong PPA để tìm các tệp Vim:
sudo apt update
Cuối cùng cài đặt vim:
sudo apt install vim
Và tada! Vim được cài đặt. Lưu ý rằng bạn cũng có thể làm điều đó từ trình quản lý gói GUI.
Lưu ý rằng đây không phải là chỉ PPA có sẵn với các phiên bản Vim mới hơn, bạn có thể sử dụng công cụ tìm kiếm ưa thích của bạn để tìm thêm (và làm nhớ bạn đang tin tưởng một số người lạ từ internet với quyền root cho hệ thống của bạn).
Tùy chọn thứ hai là xây dựng Vim từ các nguồn. Điều này ngụ ý một số thao tác bổ sung và có thể gây sợ hãi cho người dùng mới, nhưng đó là cách tốt nhất để có được bản dựng cuối cùng.
Có một số tài nguyên trực tuyến để hướng dẫn bạn thực hiện quy trình này:
Một thủ tục chung là như sau, bạn có thể cần phải điều chỉnh nó để phù hợp với nhu cầu của bạn nhưng ý tưởng chính là ở đây:
Trước tiên, bạn có thể cần phải cài đặt một số phụ thuộc. Ví dụ: sử dụng lệnh này (được đề xuất bởi YouCompleteMe wiki):
sudo apt-get update
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git
Lưu ý rằng bạn có thể sẽ không cần mọi thứ: ví dụ: nếu bạn sẽ không sử dụng Lua, đừng đưa lua5.1-devvào danh sách .
Chỉnh sửa Thay vì sử dụng apt-get installlệnh trước, bạn có thể sử dụng lệnh sau. Nó có lợi thế là tự động xử lý các phụ thuộc bạn cần:
sudo apt-get build-dep vim
Sau đó lấy các nguồn trên máy tính của bạn (bạn sẽ cần gitlệnh được cài đặt apt-get install git):
git clone https://github.com/vim/vim.git
Chuyển đến thư mục này và 'kéo' những thay đổi cuối cùng:
cd vim
git pull
Nếu bạn gặp lỗi git pullvì bạn đã thực hiện các thay đổi, bạn có thể 'xóa' các sửa đổi của mình (nghĩa là tạm thời xóa chúng), kéo các thay đổi và sau đó khôi phục các sửa đổi của bạn. Nếu bạn đã làm như vậy tôi sẽ cho rằng bạn quen thuộc với git và sẽ không cung cấp quy trình để làm theo (nó được nêu chi tiết trong tài liệu vim.org).
Sau đó, bạn có thể xây dựng Vim như bạn sẽ xây dựng bất kỳ phần mềm nào khác từ các nguồn. Tệp src / INSTALL sẽ cung cấp cho bạn thông tin bạn cần để biên dịch Vim.
Một quy trình làm việc thường xuyên sẽ bắt đầu với:
./configure --with-features=huge --enable-gui=auto
Xóa --enable-guinếu bạn không muốn gVim .
Nếu bạn không có quyền truy cập root trên máy bạn đang cài đặt Vim, bạn có thể muốn thêm --prefixtùy chọn cho phép bạn sử dụng một thư mục nơi bạn có quyền truy cập. Ví dụ: bạn có thể sử dụng:
./configure --with-features=huge --enable-gui=auto --prefix=$HOME/local/vim
Các configurekịch bản có thể mất rất nhiều lập luận để điều chỉnh các tính năng mà bạn muốn kích hoạt. Chạy nó mất một lúc. Trong khi chạy, nó in các thông báo cho biết các tính năng mà nó đang kiểm tra.
Sau khi được cấu hình, bạn có thể biên dịch chương trình với:
make
Một lệnh tùy chọn tồn tại để chạy một số tự kiểm tra ( đừng hỏi tôi họ làm gì chính xác tôi luôn bỏ qua chúng :-) ):
make check
Cuối cùng cài đặt Vim tới /usr/local/(lệnh này yêu cầu quyền root):
sudo make install
Để xóa các tệp bây giờ vô dụng đã được tạo để biên dịch, sau đó bạn có thể chạy:
make clean
make distclean
Và ở đây bạn đang có một cài đặt Vim mới.
Bạn có thể sẽ muốn xóa bất kỳ Vim nào bạn đã cài đặt từ repo Ubuntu, nhưng bạn không cần phải làm vậy. Theo mặc định, Vim sẽ cài đặt /usr/local/, chứ không phải /usr/. Chỉ cần đảm bảo rằng bạn đang chạy phiên bản Vim chính xác (nghĩa là /usr/local/bin/vimkhông phải /usr/bin/vim).
sudo apt-get build-dep vimthậm chí còn đơn giản hơn để sử dụng. Mặt khác, tôi đã thêm một lưu ý về việc --prefixkhông phải tất cả chúng ta đều có quyền root, điều này khá phổ biến.
apt-get build-dep vimbạn có nghĩa là sử dụng nó trong bước cuối cùng của cài đặt PPA, phải không? Bây giờ về --prefixđiều đó thực sự là một lưu ý quan trọng để thêm: là --prefix=/usrmột nơi an toàn để tư vấn hoặc bạn muốn giới thiệu một thư mục khác (ví dụ --prefix=~/bin)?
build-deplệnh có thể được sử dụng thay cho sudo apt-get install libncurses5-dev ..... Về --preffix, công dụng điển hình của nó là : --prefix=$HOME, nhưng gần đây tôi đang sử dụng --prefix=$HOME/local/vim. Bằng cách này, việc gỡ cài đặt một phần mềm dễ dàng như một rm -rvà xóa một vài dòng trong .profile/.bashrc
prefix. Vì build-deptôi phải nói rằng tôi không quen thuộc với lệnh này nên tôi sợ tôi không hiểu đúng: Từ những gì tôi hiểu apt-get build-dep vimsẽ cài đặt các phụ thuộc cho gói vim. Nhưng ở đây vì chúng ta không có gói vim mới nhất trong các gói nguồn (vì chúng ta đang xây dựng từ các nguồn) nên lệnh sẽ cài đặt các phụ thuộc chính xác như thế nào? Nếu tôi đang cố gắng xây dựng Vim8 từ các nguồn và danh sách gói của tôi chứa vim7.4, apt-get build-dep vimsẽ cài đặt các phụ thuộc của vim7.4 phải không? (Tôi không thể kiểm tra nó ngay bây giờ, xin lỗi)
#!/usr/bin/env bash
sudo apt update
sudo apt install -y git
sudo apt install -y build-essential
rm -fr /tmp/vim
git clone https://github.com/vim/vim.git /tmp/vim
make -C /tmp/vim
sudo make install -C /tmp/vim
rm -fr /tmp/vim
Một tùy chọn khác là cài đặt Homebrew trên Linix làm trình quản lý gói thay thế và sử dụng nó để cài đặt vim mới nhất với:
brew install vim
Tính năng Homebrew: