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

news/2024/7/21 13:18:39 标签: linux, vim, 运维

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

目录

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

1. 下载Vim源码

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

在这里插入图片描述

2. 编译

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

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目录,执行命令。

sudo make

3. 安装

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

sudo make install

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

ln -s /usr/local/src/vim/bin/vim

4. 遇到的问题

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

在这里插入图片描述

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

解决方法:
编辑~/.bashrc文件,添加下面语句。

export TERM=gnome-256color

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

解决方法:
编辑~/.vimrc文件,添加下面语句。

set bs=indent,eol,start  "在插入模式中,对所有内容进行退格。

http://www.niftyadmin.cn/n/5388088.html

相关文章

git@github.com: Permission denied (publickey).

这个问题是使用git克隆自己的私有代码仓库时发现的,虚拟机中执行下面的指令生成了ssh私钥和公钥 ssh-keygen并且成功将公钥上传到了github上 但是执行git clone克隆私有仓库时依旧失败,报错内容和标题差不多 通过这个报错最终还是锁定了问题&#xff…

idea打开项目白屏

解决方法: 右键“最大化” idea打开项目白板解决方案_idea打开白屏-CSDN博客 IDEA 2022 CPU占用100%的问题及解决方法_java_脚本之家

c++STL容器的使用(vector, list, map, set等),c++STL算法的理解与使用(sort, find, binary_search等)

cSTL容器的使用(vector, list, map, set等) 在C的STL(Standard Template Library)中,容器是重要的一部分,它们提供了各种数据结构来存储和管理数据。以下是一些常见的STL容器及其使用方法的简要说明&#x…

软件压力测试:测试方法与步骤详解

随着软件应用的不断发展,用户对系统性能的要求也逐渐提高。在不同的负载条件下,系统必须能够保持稳定、高效的运行。软件压力测试是一种验证系统在各种负载情况下性能表现的关键手段。本文将详细探讨软件压力测试的方法和步骤。 1. 明确测试目标 在进行压…

python如何处理SyntaxError: Non-UTF-8 code starting with ‘\xe9‘问题:

这个 SyntaxError: Non-UTF-8 code starting with \xe9 错误通常意味着你的 Python 脚本或文件包含了一些非 UTF-8 编码的字符。Python 3 默认使用 UTF-8 编码,如果你试图在不使用正确的编码打开或保存文件的情况下读取或写入非 UTF-8 字符,就会遇到这个…

如何在java中使用 Excel 动态函数生成依赖列表

前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化。依赖列表通常用于Excel的业务报告,例如学术记分卡中的【班级-学生】列表、区域销售报告中的【区域-国家/地区】列表、人口仪表板中的【年…

力扣随笔之通过删除字母匹配到字典里最长单词(中等524)

思路:根据题意有两个问题待解决 1、s字符串中是否可以通过删减得到该英语词语 2、如何找到长度最长且字母序最小的字符串 针对第二个问题可以对词典dictionary进行预处理:根据长度降序和字母序升序来排序 针对第一个问题可以初始化两个指针i,…

C#之WPF学习之路(2)

目录 控件的父类 DispatcherObject类 DependencyObject类 DependencyObject 类的关键成员和方法 Visual类 Visual 类的主要成员和方法 UIElement类 UIElement 类的主要成员和功能 FrameworkElement类 FrameworkElement 类的主要成员和功能 控件的父类 在 WPF (Windo…