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  "在插入模式中,对所有内容进行退格。
相关推荐
Wang's Blog1 小时前
Linux小课堂: 基于 SSH 的安全文件传输与增量同步机制深度解析之从 wget 到 rsync 的全流程实战
linux·ssh·1024程序员节
yy7634966682 小时前
WPF 之 简单高效的Revit多语言支持方案
java·大数据·linux·服务器·wpf
Heavy sea5 小时前
Linux串口应用编程
linux·c语言·1024程序员节
Justin_195 小时前
Galera Cluster部署
linux·服务器·nginx
洛克大航海8 小时前
虚拟机 Ubuntu 中安装 Google Chrome 浏览器
linux·chrome·ubuntu
java_logo8 小时前
Docker 部署 WordPress 全流程
运维·docker·容器·word·php·1024程序员节
小小的木头人8 小时前
Ubuntu 自动挂载移动硬盘
运维
DeeplyMind8 小时前
AMD rocr-libhsakmt分析系列3-4:svm-reserve模式实现分析
linux·驱动开发·1024程序员节·amdgpu·kfd·rocr
大米粥哥哥8 小时前
Qt QProcess基于Linux的命令管道符号无效问题【已解决】
linux·qt·shell·qprocess·1024程序员节·管道符号
Mr. Sun_9 小时前
Dell Networking SmartFabric OS10 如何设置虚拟链路中继 (VLT)
运维·网络·dell vlt