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

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

目录

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

1. 下载

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) 查看上面设置的安装路径下是否有vim可执行程序,并执行一下看是否安装成功。如果安装成功,可以考虑把之前的vim编辑器卸载或者使用update-alternatives来配置Vim的后补项。

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

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

4. 遇到的问题

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.hqwc.cn/news/493078.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jquery中的事件与动画

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 本章目标 使用常用简单事件制作网页特效使用鼠标事件制作主导航特效使用hover()方法制作下拉菜单特效使用鼠标事件及动画制作页面特效 一.Jquery事件概述 二.基础事件 鼠标事件 演示案例&…

Easy-Jmeter: 性能测试平台

目录 写在开始1 系统架构2 表结构设计3 测试平台生命周期4 分布式压测5 压力机管理6 用例管理6.1 新增、编辑用例6.2 调试用例6.3 启动测试6.4 动态控量6.5 测试详情6.6 环节日志6.7 实时数据6.8 测试结果 7 测试记录7 用例分析8 系统部署8.1普通部署8.2容器化部署 写在最后 写…

人工智能产生的幻觉问题真的能被看作是创造力的另一种表现形式吗?

OpenAI的首席执行官山姆奥特曼(Sam Altman)曾声称,人工智能产生的“幻觉”其实未尝不是一件好事,因为实际上GPT的优势正在于其非凡的创造力。 目录 一.幻觉问题的概念 二.幻觉产生的原因 三.幻觉的分类 四.减轻AI的幻觉问题到…

全面介绍HTML的语法!轻松写出网页

文章目录 heading(标题)paragraph(段落)link(超链接)imagemap(映射)table(表格)list(列表)layout(分块)form(表单)更多输入:datalistautocompleteautofocusmultiplenovalidatepatternplaceholderrequired head(首部)titlebaselinkstylemetascriptnoscript iframe HTML&#xff…

外包干了3个月,技术倒退1年。。。

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

缓存一致性问题的解决策略

缓存一致性问题的背景和概念介绍 在一个系统中,我们通常使用数据库来存储数据,以保证数据的持久性。但是,由于数据库的读写速度相对较慢,如果每次请求都直接访问数据库,会降低系统的响应速度。为了提高系统的性能&…

Spring Cloud学习

1、什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。Spring cloud 流应用程…

2.26 Qt day4+5 纯净窗口移动+绘画事件+Qt实现TCP连接服务+Qt实现连接数据库

思维导图 Qt实现TCP连接 服务器端&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer>//服务器端类 #include<QTcpSocket>//客户端类 #include<QMessageBox>//消息对话框类 #include<QList>//链…

java农产品商城商城计算机毕业设计包运行调试讲解

jsp mysql农业商城 特效&#xff1a;js产品轮播 功能&#xff1a; 前台&#xff1a; 1.绿色水果 图文列表 详情 2.新闻动态 文章标题列表 详情 3.有机蔬菜 图文列表 详情 4.有机谷物 图文列表 详情 5.有机大米 图文列表 详情 6.用户注册 登陆&#xff08;选择用户和管…

EXCEL如何从另一个表查找匹配信息

目录 1.背景&#xff1a;我们有一个目标呈现表&#xff0c;想要从另一个表中查询得到信息&#xff0c;比如根据身份证id查询该id的名字、性别等个人基本信息&#xff0c;或者从另一个财务信息表查询该id的工资信息等&#xff1b; 2.基础方法&#xff1a;利用VLOOKUP函数根据单…

Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…

【Spring Boot 源码学习】深入 BootstrapContext 及其默认实现

《Spring Boot 源码学习系列》 深入 BootstrapContext 及其默认实现 一、引言二、往期内容三、主要内容3.1 BootstrapContext3.1.1 源码初识3.1.2 get 方法3.1.3 getOrElse 方法3.1.4 getOrElseSupply 方法3.1.5 getOrElseThrow 方法3.1.6 isRegistered 方法 3.2 ConfigurableB…