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.pswp.cn/news/697194.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697194.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697194.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS常見問題

文章目錄 如何判斷是數組 如何判斷是數組 Array.isArray console.log(Array.isArray(arr))instanceof(instanceof 運算符用于驗證構造函數的 prototype 屬性是否出現在對象的原型鏈中的任意位置) console.log(arr1 instanceof Array)constructor&#x…

百面嵌入式專欄(經驗篇)如何在面試中介紹自己的項目經驗

文章目錄 1. 在面試前準備項目描述,別害怕,因為面試官什么都不知道2. 準備項目的各種細節,一旦被問倒了,就說明你沒做過3.不露痕跡地說出面試官愛聽的話4.一定要主動,面試官沒有義務挖掘你的亮點5.一旦有低級錯誤,可能會直接出局6.引導篇:準備些加分點,在介紹時有意提到…

測試環境搭建整套大數據系統(三:搭建集群zookeeper,hdfs,mapreduce,yarn,hive)

一:搭建zk https://blog.csdn.net/weixin_43446246/article/details/123327143 二:搭建hadoop,yarn,mapreduce。 1. 安裝hadoop。 sudo tar -zxvf hadoop-3.2.4.tar.gz -C /opt2. 修改java配置路徑。 cd /opt/hadoop-3.2.4/etc…

R語言【raster】——projectRaster():映射一個Raster對象

Package raster version 3.6-27 Description 用另一個投影(坐標參考系統,(CRS))將一個Raster*對象的值投影到一個新的Raster*對象。 您可以通過將新投影作為單個參數提供來實現這一點,在這種情況下,函數將設置新對象的范圍和分辨率。為了對…

Three.js初學(3)

Three.js初學(3) 動畫渲染循環1. 請求動畫幀2. 旋轉動畫 Canvas畫布布局和全屏常見幾何體渲染器設置GUI.js庫1. 庫的引入2. 如何使用初步調試進階調試界面分組 動畫渲染循環 1. 請求動畫幀 requestAnimationFrame實現周期性循環執行 requestAnimationF…

LeetCode | 整數反轉 C語言

Problem: 7. 整數反轉 文章目錄 思路解題方法Code結果 思路 運算部分 while(x > 0) {y x % 10;y * 10;x / 10; } y / 10;對于大于32位的數要用long int類型的變量保存用pow算-2的31次方和2的31次方-1。 解題方法 由思路得 Code int reverse(long int x){long int y …

web前端安全性——iframe安全問題

1、概念 iframe安全問題可稱作界面劫持,像點擊劫持、拖放劫持、觸屏劫持。就是我們的點擊,拖放,觸屏操作被劫持了,而去操作了其它的透明隱藏的界面。 **原理是利用透明層iframe,使用了CSS中的opacity或z-index等屬性,…

快速構建 Debezium MySQL Example 數據庫

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

突破編程_C++_面試(指針(1))

面試題 1 :什么是空指針? 在 C 中,空指針是一個特殊的指針值,它不指向任何有效的內存地址。空指針通常用于表示指針不指向任何對象或函數。在C11及以后的版本中, nullptr 是表示空指針的推薦方式。 nullptr 是一個指針…

AI繪畫與修圖:重塑數字藝術的新紀元

文章目錄 一、AI繪畫與修圖的原理二、AI繪畫的應用三、AI修圖的優勢四、面臨的挑戰五、未來發展趨勢《AI繪畫與修圖實戰:PhotoshopFirefly從入門到精通 輕松玩轉AI繪畫與修圖實戰》亮點內容簡介作者簡介 隨著人工智能技術的飛速發展,AI繪畫與修圖已經成為…

如何理解和區分訓練集、測試集和驗證集

如何理解和區分訓練集、測試集和驗證集 🌈 個人主頁:高斯小哥 🔥 高質量專欄:Matplotlib之旅:零基礎精通數據可視化、Python基礎【高質量合集】 💡 創作高質量博文,分享更多關于深度學習、PyTor…

靡語IT:Vue精講(一)

Vue簡介 發端于2013年的個人項目,已然成為全世界三大前端框架之一,在中國大陸更是前端首選。 它的設計思想、編碼技巧也被眾多的框架借鑒、模仿。 紀略 2013年,在Google工作的尤雨溪,受到Angular的啟發,從中提取自…

soc(十七) SOC市場分類

桌面服務器集中式服務器架構和基于ARM微服務器架構的存儲差別在哪? http://www.dostor.com/p/54167.html 手機飛行器汽車家庭監控安防路由器

【前端素材】推薦優質后臺管理系統Protable平臺模板(附源碼)

一、需求分析 后臺管理系統是一種用于管理和監控網站、應用程序或系統的在線工具。它通常是通過網頁界面進行訪問和操作,用于管理網站內容、用戶權限、數據分析等。當我們從多個層次來詳細分析后臺管理系統時,可以將其功能和定義進一步細分,…

華為配置CAPWAP雙棧覆蓋業務示例

配置CAPWAP雙棧覆蓋業務示例 組網圖形 圖1 配置CAPWAP雙棧覆蓋業務示例組網圖 業務需求組網需求數據規劃配置思路配置注意事項操作步驟配置文件 業務需求 企業用戶接入WLAN網絡,以滿足移動辦公的最基本需求。且在覆蓋區域內移動發生漫游時,不影響用戶的業…

解決 PLC QModbusTcpClient 通信自動斷開

項目場景: 提示:這里簡述項目相關背景: 例如:項目場景:QModbusTcpClient 通信 問題描述 提示:這里描述項目中遇到的問題: QModbusTcpClient 連接后,稍微停一段時間,就…

LeetCode10. Regular Expression Matching——完全背包

文章目錄 一、題目二、題解 一、題目 Given an input string s and a pattern p, implement regular expression matching with support for ‘.’ and ‘*’ where: ‘.’ Matches any single character.???? ‘*’ Matches zero or more of the preceding element. The…

【selenium】三大切換 iframe 彈窗alert 句柄window 和 鼠標操作

目錄 一、iframe 1、切換方式: 1、第一種情況: 2、第二種情況: 方式1: 先找到iframe,定位iframe元素(可以通過元素定位的各種方式:xpath,css等等),用對象接收&…

MyBatis Plus中的動態表名實踐

隨著數據庫應用的不斷發展,面對復雜多變的業務需求,動態表名的處理變得愈發重要。在 MyBatis Plus(以下簡稱 MP)這一優秀的基于 MyBatis 的增強工具的支持下,我們可以更便捷地應對動態表名的挑戰。本文將深入研究如何在…

美創新一代數據安全管理平臺宣傳片「龍」重登場

美創新一代數據安全管理平臺(DSM Cloud)產品宣傳片 國產化、混合多云環境催生愈加復雜的數據安全防護、管理及可持續運營挑戰。 美創新一代數據安全管理平臺(DSM Cloud),圍繞韌性數據安全體系,聚焦全域數據…