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  "在插入模式中,对所有内容进行退格。
相关推荐
梁bk3 小时前
[Nginx]反向代理和负载均衡
运维·nginx·负载均衡
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)8 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯8 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&8 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊9 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
cui_hao_nan9 小时前
Docker后端部署
运维·docker·容器
渡我白衣9 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ9 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人10 小时前
centos8.5安装jdk21详细安装教程
java·linux