Linux系列讲解 —— 【Vim编辑器】在Ubuntu18.04中安装新版Vim

平时用的电脑系统是Ubuntu18.04,使用apt安装VIM的默认版本是8.0。如果想要安装新版的Vim编辑器,只能下载Vim源码后进行编译安装。

目录

  • [1. 下载Vim源码](#1. 下载Vim源码)
  • [2. 编译](#2. 编译)
  • [3. 安装](#3. 安装)
  • [4. 遇到的问题](#4. 遇到的问题)
    • [4.1 打开vim后,文本开头有乱码现象。](#4.1 打开vim后,文本开头有乱码现象。)
    • [4.2 在Vim编辑器中,退格键失效。](#4.2 在Vim编辑器中,退格键失效。)

1. 下载Vim源码

shell 复制代码
git clone https://github.com/vim/vim.git

2. 编译

(1) 在vim源码路径下,执行configure程序。

shell 复制代码
sudo ./configure --with-features=huge --enable-multibyte --enable-rubyinterp --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-cscope --enable-gui=gtk3 --enable-perlinterp --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ --with-python3-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/ --prefix=/usr/local/src/vim

参数解释:

参数 解释
--with-features=huge 支持最大特性
--enable-multibyte 打开多字节支持,可以在 Vim 中输入中文
--enable-rubyinterp 打开对 ruby 编写的插件的支持
--enable-pythoninterp 打开对 python 编写的插件的支持
--enable-python3interp 打开对 python3 编写的插件的支持
--enable-luainterp 打开对 lua 编写的插件的支持
--enable-cscope 打开对cscope的支持
--enable-gui=gtk3 表示生成采用 GNOME3 风格的 gvim
--enable-perlinterp 打开对 perl 编写的插件的支持
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ 指定 python 路径
--with-python3-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/ 指定 python3路径
--prefix=/usr/local/src/vim 指定将要安装到的路径

(2) 进入src目录,执行命令。

shell 复制代码
sudo make

3. 安装

(1) 在vim/src目录中,执行下面命令进行安装。

shell 复制代码
sudo make install

(2) 在系统路径中(如:/usr/local/bin)创建软连接,指向/usr/local/src/vim/bin/vim,这样就可以在任何路径下使用vim了。

shell 复制代码
ln -s /usr/local/src/vim/bin/vim

4. 遇到的问题

4.1 打开vim后,文本开头有乱码现象。

分析过程:

开始以为是Vim的编码问题,在.vimrc中指定编码格式后发现没用。后来在github上找到解决方法(https://github.com/vim/vim/issues/12561)。

解决方法:

编辑~/.bashrc文件,添加下面语句。

shell 复制代码
export TERM=gnome-256color

4.2 在Vim编辑器中,退格键失效。

解决方法:

编辑~/.vimrc文件,添加下面语句。

shell 复制代码
set bs=indent,eol,start  "在插入模式中,对所有内容进行退格。
相关推荐
Lumos_777几秒前
Linux -- 互斥锁
linux
一叶龙洲22 分钟前
Ubuntu开机无法用向日葵远程控制
linux·运维·ubuntu
计算机安禾34 分钟前
【Linux从入门到镜头】第29篇:文本处理三剑客(下)——awk 数据处理神器
linux·运维·服务器
xyx-3v35 分钟前
信号量(二进制/计数)
java·linux·数据库
炘爚38 分钟前
Linux(整理合集)
linux
网络安全许木1 小时前
自学渗透测试第28天(协议补漏与FTP抓包)
运维·服务器·网络安全·渗透测试·php
JiaWen技术圈1 小时前
nftables 添加规则时支持的匹配条件与语句全解
linux·服务器
V我五十买鸡腿1 小时前
网安基础 Windows 和 Linux 那些常用命令
linux·运维·windows
ShineWinsu1 小时前
对于Linux:进程间通信IPC(匿名管道)的解析
linux·c++·面试·进程·通信·管道·ipc
日取其半万世不竭1 小时前
用云服务器部署 Hexo 博客,Nginx 托管静态页面全流程
运维·服务器·nginx