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  "在插入模式中,对所有内容进行退格。
相关推荐
梦想的颜色1 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
donoot4 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_4 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Felix-lxd5 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Elastic 中国社区官方博客5 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
Tim_Van6 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
2023自学中6 小时前
C++ 内存追踪器
linux·c++
孫治AllenSun6 小时前
【Nginx】配置参数和使用案例
运维·nginx
啵啵鱼爱吃小猫咪7 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu
Piko6148 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记