Ubuntu的软件包可能已经很旧了,但是对于某些桌面程序(例如Vim),我宁愿拥有最新版本,因为较新的版本通常会修复各种错误。 Ubuntu上的版本?

评论

也许jonathonf的PPA可能对您有用。但是,如果您使用的是Ubuntu 16.04,那就更好了,因为他说:“从10月24日开始,如果更新简单,我将只打包14.04。”

@joeytwiddle PPA的事情是,您信任具有根访问系统权限的Internet™随机陌生人,根据您的安全要求和偏执程度,这可能不是一个好主意(请参阅:PPA是否安全?添加到我的系统中,需要注意哪些“危险信号”?是否可以保证Launchpad PPA中的软件没有病毒和后门威胁?)。

#1 楼

您有三种不同的选择:


等待将最新版本添加到分发包中。请注意,在等待时,您可能想学习一种新语言或赤手建造一艘船。

如果等待几年对您不利,则有以下两种选择:


使用包含最新版本的PPA:


优点:


操作简便。
完全自动化。
让您像其他任何软件一样安装Vim。 br />
缺点:


您基本上将root特权授予一个完全陌生的人。
此方法仅适用于Ubuntu和使用PPA系统的派生发行版。 br />



从来源构建Vim:


优点:


您可以对启用的选项进行微调(支持gui,Python / Lua等)。
您可以获得最新版本,不需要任何第三方维护人员来获取它。对了解如何从源代码编译软件始终很有用。
这是一种与发行版无关的方法。与PPA选项一样自动化。
对于新用户来说可能会令人感到恐惧。







在后两种情况下,以下是这些选项的过程:

首先打开一个终端并使用以下命令。这会将joathonf维护的Personal Packet Archive(PPA)添加到您的存储库中,并让Ubuntu知道在哪里寻找Vim:

sudo add-apt-repository ppa:jonathonf/vim


我将在这里重复这赋予该PPA中脚本的root特权,只有在您信任它的情况下才可以这样做。您可能想阅读PPA可以安全地添加到我的系统中,需要注意哪些“危险信号”?是否可以保证Launchpad PPA中的软件没有病毒和后门威胁?。

更新数据包列表,以便Ubuntu在PPA中查找Vim文件:

sudo apt update


最后安装vim:

sudo apt install vim


和田田! Vim已安装。请注意,您也可以从GUI程序包管理器中执行此操作。从互联网上信任一些陌生人,并拥有对您系统的根访问权限。这意味着要进行一些额外的操作,并且可能会使新用户感到恐惧,但这是获得持久构建的最佳方法。

有一些在线资源可以指导您完成此过程:


Vim官方网站
YouCompleteMe插件有一个非常完整的Wiki页面,其中包含详细的安装过程,在某些情况下可能会很有趣。


下面是一个常规过程,您可能需要对其进行调整以满足自己的需求,但主要思想是在这里:

首先,您可能需要安装一些依赖。例如,使用以下命令(由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


请注意,您可能不需要所有内容:例如,如果您不使用Lua,请执行不要在列表中包括lua5.1-dev

编辑可以使用以下命令来代替使用先前的apt-get install命令。它具有自动处理您需要的依赖项的优点: br />
sudo apt-get build-dep vim


转到该目录并“拉”最近的更改:

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


如果由于已经进行了更改而在git上出现错误,则可以“存储”您的修改(即暂时删除它们),提取更改,然后恢复您的修改。如果这样做,我假设您熟悉git,并且不会提供要遵循的步骤(有关详细信息,请参见vim.org文档)。会从源代码构建任何其他软件。文件src / INSTALL应该为您提供编译Vim所需的信息。

常规的工作流程应从以下内容开始:如果不想使用gVim,请使用apt-get install git。您具有访问权限。例如,您可以使用:

cd vim
git pull


git pull脚本可以使用很多参数来调整要启用的功能。运行需要一段时间。在运行时,它会打印出消息,告知正在检查的功能。

配置完成后,您可以使用以下程序编译该程序:

>存在一个可选命令来运行一些自检(不要问我它们到底是做什么的,我总是会跳过它们:-)):到--enable-gui(此命令需要root权限):

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


要删除现在为编译创建的无用文件,可以运行:

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


这里您是新安装的Vim。

您可能想从Ubuntu存储库中删除已安装的所有Vim,但是您不希望这样做。不需要。默认情况下,Vim将安装到--prefix,而不是configure。只要确保您正在运行正确的Vim版本(即/usr/local/而不是/usr/local/)即可。

评论


关于依赖关系,sudo apt-get build-dep vim使用起来更简单。否则,我会添加关于--prefix的注释,因为并非所有人都具有root特权,这很常见。

–卢克·赫米特(Luc Hermitte)
17年1月3日,12:36

@LucHermitte感谢您的建议。关于apt-get build-dep vim,您的意思是在PPA安装的最后一步中使用它,对吗?现在有关--prefix的确是要添加的重要说明:--prefix = / usr是建议的安全位置还是您会推荐另一个目录(例如--prefix =〜/ bin)?

–statox♦
17年1月3日,14:24

可以使用build-dep命令代替sudo apt-get install libncurses5-dev .....关于--preffix,其典型用法是:--prefix = $ HOME,但是最近我正在使用--prefix = $ HOME / local / vim。这样,卸载软件就像rm -r一样简单,并且删除.profile / .bashrc中的几行

–卢克·赫米特(Luc Hermitte)
17年1月3日,14:34

@LucHermitte可以添加前缀。对于build-dep,我不得不说我不太熟悉该命令,因此恐怕我无法正确理解:从我了解的apt-get build-dep vim可以为软件包vim安装依赖项。但是这里由于我们在软件包源中没有最新的vim软件包(因为我们是从源中构建的),该命令将如何安装正确的依赖项?如果我试图从源代码构建Vim8,而我的软件包列表中包含vim7.4,则apt-get build-dep vim将安装vim7.4的依赖项,对吗? (抱歉,我现在无法测试)

–statox♦
17年1月3日,14:44



它将安装我们需要的依赖项,以便编译可以从github获得的vim源代码。这样,我们不需要跟踪Vim源代码使用的所有库。只要我们正在编译的源代码不依赖于库的非打包版本,就可以了。

–卢克·赫米特(Luc Hermitte)
17年1月3日,14:50

#2 楼

另一种选择是在Linux上作为备用软件包管理器安装Homebrew,并使用它通过以下方式安装最新的vim:

brew install vim


Homebrew功能: >
可以将软件安装到您的主目录,因此不需要sudo
存储库通常是最新版本
安装主机发行版未打包的软件
安装最新版本主机分发版本较旧时的软件版本
使用相同的程序包管理器来管理macOS,Linux和Windows系统


#3 楼

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


评论


欢迎光临本站!描述这是什么,它做什么以及如何使用它可能会有所帮助。并非所有阅读本文的人都会熟悉您使用或编写/使用bash脚本,git和程序包管理器的命令。从您的编辑中可以看出,您已经在其他地方做得很好!

–丰富
17-10-27在9:45



对于那些知道它在做什么的人来说,它很好用,/ usr / local / bin / vim很快就可以使用了。现有的/ usr / bin / vim保留在原位。

–rshdev
19年5月13日在2:01