Comment puis-je obtenir une version plus récente de Vim sur Ubuntu?

34

Les paquets d'Ubuntu peuvent être assez vieux, mais pour certains programmes de bureau (comme Vim), je préférerais de loin la dernière version, car les nouvelles versions corrigent souvent divers bogues.

Comment obtenir une version relativement récente de Vim sur Ubuntu?

Martin Tournoij
la source
Peut-être PPA de jonathonf pourrait fonctionner pour vous. Mais mieux si vous utilisez Ubuntu 16.04, car il dit: "À compter du 24 octobre, je n'emballerai que pour 14.04 s'il s'agit d'une mise à jour facile."
joeytwiddle
4
@joeytwiddle La chose avec CAÉ est bien que vous faites confiance à un étranger au hasard de l'Internet ™ avec un accès root à votre système, ce qui est peut - être pas une bonne idée en fonction de vos besoins de sécurité et le niveau de paranoïa (voir: la sécurité d'Åre PPA à ajouter à mon système et quels sont les «drapeaux rouges» à surveiller? et existe-t-il une garantie que les logiciels des Launchpad PPA sont exempts de virus et de menaces de porte dérobée? ).
Martin Tournoij

Réponses:

49

Vous avez trois options différentes:

  • Attendez que les dernières versions soient ajoutées aux packages de distribution. Notez que vous voudrez peut-être apprendre une nouvelle langue ou construire un vaisseau à mains nues pendant que vous attendez.

Si attendre plusieurs années ne vous convient pas, vous avez les deux options suivantes:

  • Utilisez un PPA contenant la dernière version:
    • Avantages:
      • Facile à faire.
      • Totalement automatisé.
      • Vous permet d'installer Vim comme n'importe quel autre logiciel.
    • Les inconvénients:
      • En gros, vous accordez les privilèges root à un inconnu.
      • Cette méthode ne fonctionne que sur Ubuntu et les distributions dérivées utilisant le système PPA.
  • Construire Vim à partir de sources:
    • Avantages:
      • Vous obtenez un réglage précis des options que vous activez (interface graphique, support Python / Lua, etc.).
      • Vous obtenez la version à la fine pointe et n'avez besoin d'aucun responsable tiers pour l'obtenir.
      • Il est toujours utile d'apprendre à compiler un logiciel à partir de sources.
      • Ceci est une méthode agnostique de distribution.
    • Les inconvénients:
      • Pas aussi automatisé que l'option PPA.
      • Peut être effrayant pour un nouvel utilisateur.

Dans les deux derniers cas, voici une procédure pour ces options:


APP

Voici un tutoriel en ligne sur tipsonubuntu.com (Merci @joeytwiddle pour l'avoir suggéré dans les commentaires).

Commencez par ouvrir un terminal et utilisez la commande suivante. Cela ajoutera l’archive de paquets personnels (PPA) gérée par joathonf à vos dépôts et indiquera à Ubuntu où chercher Vim:

sudo add-apt-repository ppa:jonathonf/vim

Je répète ici que cela donne les privilèges racine aux scripts de ce PPA, ne le faites que si vous y faites confiance . Vous voudrez peut-être savoir si les PPA peuvent être ajoutés en toute sécurité à mon système et quels sont les «drapeaux rouges» à surveiller? et y a-t-il une garantie que les logiciels des Launchpad PPA sont exempts de virus et de menaces de porte dérobée? .

Mettez à jour la liste des paquets afin qu'Ubuntu recherche dans le PPA les fichiers Vim:

sudo apt update

Enfin, installez vim:

sudo apt install vim

Et tada! Vim est installé. Notez que vous pouvez également le faire à partir du gestionnaire de packages de l'interface graphique.

Notez que ce n'est pas le seul PPA disponible avec les versions plus récentes vim, vous pouvez utiliser votre moteur de recherche préféré pour trouver plus (et ne vous souvenez approuvez un étranger de l'Internet avec un accès root à votre système).


Construire à partir de sources

Une deuxième option consiste à compiler Vim à partir de sources. Cela implique quelques manipulations supplémentaires et peut être effrayant pour un nouvel utilisateur, mais c'est le meilleur moyen d'obtenir la dernière version.

Il existe plusieurs ressources en ligne pour vous guider tout au long de cette procédure:

Une procédure générale est la suivante, vous devrez peut-être la modifier pour répondre à vos besoins, mais l’idée principale est la suivante:

Vous devrez d’abord installer certaines dépendances. Par exemple, utilisez cette commande (suggérée par le wiki 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

Notez que vous n'aurez peut-être pas besoin de tout: par exemple, si vous n'utilisez pas Lua, n'incluez pas lua5.1-devla liste .

Modifier Au lieu d'utiliser la apt-get installcommande précédente, vous pouvez utiliser ce qui suit. Il présente l'avantage de gérer automatiquement les dépendances dont vous avez besoin:

sudo apt-get build-dep vim

Ensuite, obtenez les sources sur votre ordinateur (vous aurez besoin de la gitcommande installée avec apt-get install git):

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

Allez dans ce répertoire et 'tirez' les dernières modifications:

cd vim
git pull

Si vous avez une erreur sur git pullparce que vous avez déjà apporté des modifications, vous pouvez "cacher" vos modifications (c'est-à-dire les supprimer temporairement), extraire les modifications, puis restaurer vos modifications. Si vous le faites, je présumerai que vous connaissez bien git et que vous ne fournirez pas la procédure à suivre (celle-ci est détaillée dans la documentation de vim.org).

Vous pouvez ensuite construire Vim comme n'importe quel autre logiciel à partir de sources. Le fichier src / INSTALL devrait vous fournir les informations nécessaires à la compilation de Vim.

Un flux de travail régulier commencerait par:

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

Supprimez-le --enable-guisi vous ne voulez pas gVim .

Si vous ne disposez pas d'un accès root sur la machine sur laquelle vous installez Vim, vous pouvez ajouter l' --prefixoption qui vous permet d'utiliser un répertoire dans lequel vous disposez de droits d'accès. Par exemple, vous pouvez utiliser:

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

Le configurescript peut prendre beaucoup d’arguments pour définir les fonctionnalités que vous souhaitez activer. Courir prend un certain temps. En cours d’exécution, il imprime des messages indiquant les fonctions qu’il recherche.

Une fois configuré, vous pouvez compiler le programme avec:

make

Une commande optionnelle existe pour exécuter certaines auto-vérifications ( ne me demandez pas ce qu'elles font exactement, je les saute toujours :-) ):

make check

Enfin, installez Vim sur /usr/local/(cette commande nécessite les privilèges root):

sudo make install

Pour supprimer les fichiers maintenant inutiles créés pour la compilation, vous pouvez ensuite exécuter:

make clean
make distclean

Et vous voilà avec une nouvelle installation de Vim.

Vous voudrez probablement supprimer tout Vim que vous avez installé du référentiel Ubuntu, mais ce n'est pas nécessaire . Par défaut, Vim installera /usr/local/plutôt que /usr/. Assurez-vous simplement que vous utilisez la bonne version de Vim (c'est /usr/local/bin/vim-à- dire et non /usr/bin/vim).

statox
la source
1
En ce qui concerne les dépendances, sudo apt-get build-dep vimest encore plus simple à utiliser. Sinon, j'aurais ajouté une note --prefixcar nous ne sommes pas tous dotés du privilège root, ce qui est assez courant.
Luc Hermitte
@ LucHermitte merci pour ces suggestions. En apt-get build-dep vimce qui concerne vous entendez l’utiliser dans la dernière étape de l’installation du PPA, non? Maintenant, --prefixc’est une remarque importante à ajouter: c’est --prefix=/usrun endroit sûr pour conseiller ou recommanderiez-vous un autre répertoire (par exemple --prefix=~/bin)?
statox
La build-depcommande peut être utilisée à la place de sudo apt-get install libncurses5-dev ..... En ce qui concerne --preffix, son utilisation typique est --prefix=$HOME:, mais dernièrement, je l’utilise --prefix=$HOME/local/vim. De cette façon, désinstaller un logiciel est aussi facile rm -rqu’éviter et enlever quelques lignes dans .profile/.bashrc
Luc Hermitte
@ LucHermitte Ok pour prefix. Car build-depje dois dire que je ne suis pas si familier avec cette commande, donc j'ai bien peur de ne pas comprendre correctement. D'après ce que je comprends, apt-get build-dep vimcela installerait les dépendances du paquet vim. Mais ici, car nous n'avons pas le dernier paquet vim dans les sources des paquets (puisque nous construisons à partir des sources), comment la commande installera-t-elle les dépendances correctes? Si j'essaie de compiler Vim8 à partir de sources et que ma liste de paquets contient vim7.4, apt-get build-dep viminstallerez-vous les dépendances de vim7.4, non? (Désolé, je ne peux pas le tester pour le moment)
statox
Il installera les dépendances dont nous avons besoin pour compiler le code source vim que nous pouvons obtenir à partir de github. De cette façon, nous n'avons pas besoin de rechercher toutes les bibliothèques utilisées par le code source de Vim. Tant que le code source que nous compilons ne dépend pas d'une version non empaquetée d'une bibliothèque, c'est parfait.
Luc Hermitte
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
Bogdanvlviv
la source
5
Bienvenue sur le site! Il pourrait être utile de décrire en quoi cela consiste, ce qu’il fait et comment l’utiliser. Tous ceux qui liront ceci ne seront pas familiarisés avec les commandes que vous utilisez ou avec l'écriture / l'utilisation de scripts bash, de git et de gestionnaires de paquets. Je peux voir d'après vos modifications que vous avez déjà fait du bon travail ailleurs!
Rich
Pour ceux qui savent ce que ça fait, ça marche très bien, / usr / local / bin / vim est rapidement prêt à fonctionner. Votre / usr / bin / vim existant est laissé en place.
Rshdev
1

Une autre option consiste à installer Homebrew sur Linix en tant que gestionnaire de paquets alternatif et à l’utiliser pour installer le dernier vim avec:

brew install vim

Caractéristiques Homebrew:

  • Peut installer un logiciel dans votre répertoire personnel et ne nécessite donc pas de sudo
  • Installer des logiciels non fournis par votre distribution hôte
  • Installez les versions les plus récentes du logiciel lorsque votre distribution hôte est ancienne
  • Utilisez le même gestionnaire de paquets pour gérer vos systèmes MacOS, Linux et Windows.
David Hatch
la source
Bienvenue sur notre site David! J'ai du mal à comprendre comment homebrew résout ce problème: les référentiels homebrew sont-ils plus à jour que ceux d'apt?
statox
@statox Oui, les référentiels homebrew sont généralement les versions les plus récentes.
David Hatch le
Ok, bon à savoir :)
statox