Linux系列讲解 —— 【Vim编辑器】在Ubuntu18.04中安装新版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. 遇到的问题

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.rhkb.cn/news/262262.html

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

相关文章

宏观视角下的浏览器

宏观视角下的浏览器 Chrome架构线程 VS 进程进程架构 TCP协议IP:把数据包送达目的主机UDP:把数据包送达应用程序TCP:把数据完整地送达应用程序 HTTP请求流程构建请求查找缓存准备IP地址和端口等待TCP队列建立TCP连接发送HTTP请求 服务器端处理…

Apache服务

目录 引言 一、常见的http服务程序 (一)lls (二)nginx (三)Apache (四)Tomcat 二、Apache特点 三、Apache服务的安装 (一)yum安装及配置文件 1.配置…

#11vue3中使用el-dialog展示与关闭交由父组件控制的写法

目录 1、法一:通过defineEmits调用父组件方法 1.1、父组件 1.2、子组件(CONTENT) 2、法二:通过difineExpose暴露子组件属性 2.1、父组件 2.2、子组件(Child) 1、法一:通过defineEmits调用…

WordPress后台自定义登录和管理页面插件Admin Customizer

WordPress默认的后台登录页面和管理员,很多站长都想去掉或修改一些自己不喜欢的功能,比如登录页和管理页的主题样式、后台左侧菜单栏的某些菜单、仪表盘的一些功能、后台页眉页脚某些小细节等等。这里boke112百科推荐这款可以让我们轻松自定义后台登录页…

【Git】:标签功能

标签功能 一.标签操作二.推送远程标签 标签 tag ,可以简单的理解为是对某次commit的⼀个标识,相当于起了⼀个别名。例如,在项⽬发布某个版本的时候,针对最后⼀次commit起⼀个v1.0这样的标签来标识⾥程碑的意义。这有什么⽤呢&…

计算机网络基础之计算机网络组成与分类

计算机网络基础 计算机网络是计算机技术与通信技术发展相结合的产物,并在用户需求的促进下得到进一步的发展。通信技术为计算机之间的数据传输和交换提供了必需的手段,而计算机技术又渗透到了通信领域,提高了通信网络的性能。 计算机网络的…

mysql 自定义函数create function

方便后续查询,做以下记录; 自定义函数是一种与存储过程十分相似的过程式数据库对象, 它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用。 自定义函数与存储过程之间…

10.Halcon形态学膨胀,腐蚀,开运算,闭运算

膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程。 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 开运算: 先腐蚀后膨胀的过程称为开运算。 作用 : 去除孤立的小点,毛刺,消除小物体,平滑较大物体边界,同时不改变其面积. 闭运…

【Spring】Spring MVC

目 录 一.什么是 Spring MVC?1.MVC 定义2.MVC 和 Spring MVC 的关系 二.为什么要学 Spring MVC?三.怎么学 Spring MVC?1.Spring MVC 创建和连接综上连接方式: 2.获取参数1.传递单个参数2.获取多个参数3.获取对象4.获取表单参数5.接…

Day17_集合与数据结构(链表,栈和队列,Map,Collections工具类,二叉树,哈希表)

文章目录 Day17 集合与数据结构学习目标1 数据结构2 动态数组2.1 动态数组的特点2.2 自定义动态数组2.3 ArrayList与Vector的区别?2.4 ArrayList部分源码分析1、JDK1.6构造器2、JDK1.7构造器3、JDK1.8构造器4、添加与扩容5、删除元素6、get/set元素7、查询元素8、迭…

论文学习 BioNeRF: Biologically Plausible Neural Radiance Fields for View Synthesis

论文学习 BioNeRF: Biologically Plausible Neural Radiance Fields for View Synthesis 前言简介NeRF介绍BioNeRF位置编码提取感知过滤记忆更新纹理推断损失函数 量化验证总结 前言 虽然我不应该再看NeRF相关的东西了,但是我还是觉得这个论文的题目很有意思&#…

ChatGPT 是什么

文章目录 一、ChatGPT 是什么二、ChatGPT的发明者三、ChatGPT的运作方式四、ChatGPT的技术五、ChatGPT的优势六、ChatGPT的局限性七、ChatGPT的应用八、ChatGPT的未来九、总结 一、ChatGPT 是什么 OpenAI的ChatGPT,即Chat Generative Pre-Trained Transformer&…

Sora来袭,蹭一波AI热潮|GPT · 重点梳理 -- 什么是ChatGPT,能干嘛,怎么用?

课程安排 学习内容 第一章 2024年AI领域最新技术 1.OpenAI新模型-GPT-5 2.谷歌新模型-Gemini Ultra 3.Meta新模型-LLama3 4.科大讯飞-星火认知 5.百度-文心一言 6.MoonshotAI-Kimi 7.智谱AI-GLM-4 第二章 OpenAI开发者大会后GPT最新技术 1.最新大模型GPT-4 Turbo详细介绍…

(done) 什么是特征值和特征向量?如何求特征值的特征向量 ?如何判断一个矩阵能否相似对角化?

什么是齐次方程? https://blog.csdn.net/shimly123456/article/details/136198159 行列式和是否有解的关系? https://blog.csdn.net/shimly123456/article/details/136198215 特征值和特征向量 参考视频:https://www.bilibili.com/video/BV…

HTML5新婚、年会、各种聚会的现场抽奖活动(附源码)

文章目录 1.抽奖平台设计来源1.1 主界面效果1.2 抽奖效果1.3 中奖效果 2.效果和源码配置2.1 动态效果2.2 人员信息配置2.3 奖品信息配置2.4 抽奖音效配置2.5 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/deta…

【kubernetes】二进制部署k8s集群之cni网络插件flannel和calico工作原理(中)

↑↑↑↑接上一篇继续部署↑↑↑↑ 目录 一、k8s集群的三种接口 二、k8s的三种网络模式 1、pod内容器之间的通信 2、同一个node节点中pod之间通信 3、不同的node节点的pod之间通信 Overlay Network VXLAN 三、flannel网络插件 1、flannel插件模式之UDP模式&#xff0…

Linux网络编程套接字

目录 前言 一、预备知识 1.1 源IP地址和目的IP地址 1.2 区分端口号和进程ID 1.3 TCP协议和UDP协议 1.4 网络字节序 二、socket编程接口 2.1 socket套接字的概念 2.2 socket常见API 2.3 sockaddr结构 三、关于IP和Port的绑定问题 四、编写简单的UDP服务端和客户端 前…

基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统(完整系统源码+数据库+详细文档)

文章目录 基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统(完整系统源码数据库详细文档)源码获取在文章末尾项目概述招聘岗位数据爬虫分析系统展示用户注册登录系统首页IT招聘数据开发岗-javaIT招聘数据开发岗-PythonIT招聘数据开发岗-Android算法…

通过Jmeter压测存储过程

一、存储过程准备: 1、建立一个空表: CREATE TABLE test_data ( id NUMBER, name VARCHAR2(50), age NUMBER ); 2、建立一个存储过程: CREATE OR REPLACE PROCEDURE insert_test_data (n IN NUMBER) AS BEGIN--EXECUTE IMMEDIATE truncat…

如何高效率完成软件开发?试试低代码

一、前言 对于一个非技术出身的软件行业从业者而言,理解技术是一道坎,但也是向上发展所必须跨越的一道坎。在一个软件公司,无论是商务、售前还是项目经理亦或者是产品经理,对技术的理解程度,往往意味着他的专业程度。而…