Як я можу отримати новішу версію Vim на Ubuntu?


34

Пакети Ubuntu можуть бути досить старими, але для деяких настільних програм (наприклад, Vim) я скоріше мати останню версію, оскільки новіші версії часто виправляють різні помилки.

Як я можу отримати досить нову версію Vim на Ubuntu?


Можливо , PPA Jonathonf може працювати для вас. Але краще, якщо ви використовуєте Ubuntu 16.04, оскільки він говорить: "З 24 жовтня я буду пакувати лише 14.04, якщо це буде легке оновлення".
joeytwiddle

4
@joeytwiddle Справа з PPA, це те, що ви довіряєте випадковому незнайомцю з Інтернету ™ з кореневим доступом до вашої системи, що, мабуть, не є ідеальною ідеєю залежно від ваших вимог безпеки та рівня параноїї (див.: Чи безпечні PPA для додати до моєї системі і що деякі «червоні прапори» , щоб спостерігати за? і чи є гарантія того, що програмне забезпечення від Launchpad PPA , вільно від вірусів і закулісних загроз? ).
Мартін Турноїй

Відповіді:


49

У вас є три різні варіанти:

  • Зачекайте, поки нові версії будуть додані до дистрибутивних пакетів. Зауважте, що ви, можливо, захочете вивчити нову мову або побудувати корабель голими руками, поки будете чекати.

Якщо чекати кілька років для вас не годиться, тоді у вас є два варіанти:

  • Використовуйте PPA, що містить останню версію:
    • Плюси:
      • Легко зробити.
      • Повністю автоматизований.
      • Дозвольте встановити Vim як будь-яке інше програмне забезпечення.
    • Мінуси:
      • Ви в основному надаєте кореневі привілеї абсолютно незнайомцю.
      • Цей метод працює лише на Ubuntu та похідних дистрибутивах за допомогою системи PPA.
  • Створіть Vim з джерел:
    • Плюси:
      • Ви отримуєте точну настройку включених параметрів (gui, підтримка Python / Lua тощо).
      • Ви отримуєте кровоточачу крайню версію, і для її отримання не потрібен сторонній сервіс.
      • Завжди корисно навчитися складати програмне забезпечення з джерел.
      • Це агностичний метод розподілу.
    • Мінуси:
      • Не настільки автоматизований, як варіант PPA.
      • Може лякати нового користувача.

У двох останніх випадках ось процедура для цих варіантів:


PPA

Ось онлайн-підручник щодо tipsonubuntu.com (спасибі @joeytwiddle, який запропонував це у коментарях).

Спочатку відкрийте термінал і скористайтеся наступною командою. Це додасть персональний архів пакетів (PPA), що підтримується joathonf, до ваших репост, і дозволить Ubuntu знати, де шукати Vim:

sudo add-apt-repository ppa:jonathonf/vim

Я повторю тут, що, роблячи це, надайте кореневі привілеї сценаріям цього PPA, робіть це лише у тому випадку, якщо ви довіряєте цьому . Ви можете прочитати, чи безпечно PPA додати до моєї системи та на які «червоні прапори» слід стежити? і чи є якась гарантія того, що програмне забезпечення від Launchpad PPA не містить вірусів і зворотних загроз? .

Оновіть список пакетів, щоб Ubuntu заглянув у PPA, щоб знайти файли Vim:

sudo apt update

Нарешті встановіть vim:

sudo apt install vim

І тада! Vim встановлений. Зауважте, що ви також можете це зробити у менеджера пакунків GUI.

Зверніть увагу , що це не тільки PPA доступні новими версіями Vim, ви можете використовувати ваш улюблений пошук , щоб знайти більше (і робити пам'ятайте , що ви довіряючи який - то незнайомець з Інтернету з кореневим доступом до системи).


Будівля з джерел

Другий варіант - побудувати Vim з джерел. Це передбачає додаткову маніпуляцію і може лякати нового користувача, але це найкращий спосіб отримати тривалу збірку.

Існує кілька інтернет-ресурсів, які допоможуть вам провести цю процедуру:

Загальна процедура полягає в наступному: вам може знадобитися налаштувати її відповідно до ваших потреб, але основна ідея тут:

Спочатку вам може знадобитися встановити деякі залежності. Наприклад, скористайтеся цією командою (запропонованою вікі YouCompleteMe):

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

Зауважте, що, можливо, вам не знадобиться все: наприклад, якщо ви не будете користуватися Lua, не включайте lua5.1-devїї до списку .

Редагувати Замість використання попередньої apt-get installкоманди ви можете використовувати наступну. Він має перевагу в автоматичному поводженні з необхідними залежностями:

sudo apt-get build-dep vim

Потім отримайте джерела на своєму комп’ютері (вам знадобиться gitвстановлена ​​команда apt-get install git):

git clone https://github.com/vim/vim.git

Перейдіть у цей каталог і 'потягніть' останні зміни:

cd vim
git pull

Якщо у вас є помилка, git pullоскільки ви вже внесли зміни, ви можете "приховати" свої зміни (тобто тимчасово видалити їх), потягніть зміни та відновіть свої зміни. Якщо ви це зробили, я припускаю, що ви знайомі з git і не надасте процедури, яку слід дотримуватися (це детально описано в документі vim.org).

Потім ви можете створити Vim так само, як і будь-яке інше програмне забезпечення з джерел. Файл src / INSTALL повинен надавати вам інформацію, необхідну для компіляції Vim.

Регулярний робочий процес розпочнеться з:

./configure --with-features=huge --enable-gui=auto

Видаліть, --enable-guiякщо ви не хочете gVim .

Якщо у вас немає кореневого доступу на машині, на якій ви встановлюєте Vim, можливо, ви захочете додати --prefixпараметр, який дозволяє використовувати каталог, де ви маєте права доступу. Наприклад, ви можете використовувати:

./configure --with-features=huge --enable-gui=auto --prefix=$HOME/local/vim

configureСценарій може зайняти багато аргументів , щоб налаштуватися , які функції ви хочете включити. Запуск займає певний час. Під час роботи він друкує повідомлення, в яких повідомляє, які функції перевіряє.

Після її налаштування ви можете скласти програму за допомогою:

make

Необов’язкова команда існує для запуску деяких самоперевірок ( не питайте мене, що вони роблять, я завжди пропускаю їх :-) ):

make check

Нарешті встановіть Vim до /usr/local/(ця команда вимагає привілеїв root):

sudo make install

Щоб видалити непотрібні файли, створені для компіляції, можна запустити:

make clean
make distclean

І ось ви зі свіжою установкою Vim.

Ви, ймовірно, захочете видалити будь-який встановлений Vim з репорта Ubuntu, але цього не потрібно . За замовчуванням Vim встановить /usr/local/, а не /usr/. Просто переконайтеся, що ви використовуєте правильну версію Vim (тобто /usr/local/bin/vim, ні /usr/bin/vim).


1
Щодо залежностей, sudo apt-get build-dep vimце ще простіше у використанні. В іншому випадку я б додав примітку про те --prefix, що не всі з нас мають привілей на root, що є досить поширеним явищем.
Люк Ермітт

@LucHermitte дякую за ці пропозиції. Щодо того, apt-get build-dep vimви маєте на увазі використовувати його на останньому кроці установки PPA, правда? Тепер про --prefixце дійсно важливу увагу: --prefix=/usrварто сказати, чи це безпечне місце для надання консультацій чи ви рекомендуєте інший каталог (наприклад --prefix=~/bin)?
statox

build-depКоманда може бути використана замість sudo apt-get install libncurses5-dev ..... Що стосується --preffixйого типового використання:, --prefix=$HOMEале останнім часом я використовую --prefix=$HOME/local/vim. Таким чином, видалити програмне забезпечення так само просто, як rm -rі видалити пару рядків у .profile/.bashrc
Люк Ермітт

@LucHermitte Добре для prefix. Бо build-depя мушу сказати, що я не такий знайомий з цією командою, тому боюся, що я не розумію належним чином: з того, що я розумію apt-get build-dep vim, встановив би залежність для пакету vim. Але ось, як у нас немає найновішого пакета vim у джерелах пакунків (оскільки ми будуємо з джерел), як команда встановить правильні залежності? Якщо я намагаюся побудувати Vim8 з джерел, і мій список пакунків містить vim7.4, apt-get build-dep vimвстановіть залежності vim7.4? (Я не можу перевірити його зараз, вибачте)
statox

Він встановить необхідні нам залежності для того, щоб скласти вихідний код vim, який ми можемо отримати від github. Таким чином нам не потрібно відстежувати всі бібліотеки, які використовуються вихідним кодом Vim. Поки вихідний код, який ми збираємо, не залежить від непакетованої версії бібліотеки, це абсолютно чудово.
Люк Ермітт

2
#!/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

5
Ласкаво просимо на сайт! Може бути корисним описати, що це таке, що це робить, і як це використовувати. Не кожен, хто читає це, буде знайомий з командами, які ви використовуєте або пишете / використовуєте bash-скрипти, git та менеджери пакетів. Я можу побачити з ваших змін, що ви вже зробили хорошу роботу, роблячи це в інших місцях!
Багатий

Для тих, хто знає, що це робить, це чудово працює, / usr / local / bin / vim швидко готовий до роботи. Ваш існуючий / usr / bin / vim залишився на місці.
rshdev

1

Інший варіант - встановити Homebrew на Linix як альтернативний менеджер пакунків та використовувати його для встановлення останнього vim за допомогою:

brew install vim

Особливості домашнього мовлення:

  • Може встановлювати програмне забезпечення у ваш домашній каталог, тому не потрібно sudo
  • Встановіть програмне забезпечення, яке не пакується вашим хост-дистрибутивом
  • Встановіть сучасні версії програмного забезпечення, коли ваш хост-дистриб'ютор старий
  • Використовуйте той же менеджер пакунків, щоб керувати вашими системами macOS, Linux та Windows

Ласкаво просимо на наш сайт Девід! У мене виникають проблеми з тим, як домашня мова вирішує цю проблему: чи сховища домівки є сучаснішими, ніж схожі?
statox

@statox Так, сховища домашніх програм, як правило, є новітньою версією.
Девід Хетч

Гаразд, добре знати :)
statox
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.