华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
  當前位置:Linux認證 > 綜合輔導 > 文章內(nèi)容
  

Linux下編譯安裝Vim8.0

 [ 2017年1月18日 ] 【

什么是Vim?

Vim 是經(jīng)典的 UNIX 編輯器 Vi 的深度改良版本。它增加了許多功能,包括:多級撤銷、格式高亮、命令行歷史、在線幫助、拼寫檢查、文件名補完、塊操作、腳本支持,等等。除了字符界面版本之外,它也有圖形界面版本(比如 gVim)。雖然 Vi 還在繼續(xù)維護當中,但是大部分人都只在使用 Vim 了,你所見到和聽到的大多是指 Vim——雖然你的命令名可能是 Vi。

這個編輯器常用于程序員、系統(tǒng)管理員、黑客們進行編程和文本編輯。不像某些編輯器,它所有的命令都采用普通的鍵盤字符,因此在你的如飛般的十指之下,它的輸入和操作速度非?。當然,你也可以將功能鍵映射到某些命令上,甚至還可以支持鼠標。

除了 Linux 之外,Vim 還可以運行在 MS-Windows (NT、2000、XP、Vista、7、8、10)、蘋果、VMS 和幾乎所有的 UNIX 分支上。 Vim 的舊版本還可以運行在 MS-DOS、MS-Windows 95/98/Me、Amiga DOS、Atari MiNT、BeOS、RISC OS 和 OS/2 上,不過新版本不再支持了。

Vim主要更新

8.0 版本中除了大量的細節(jié)改進和錯誤修復(fù)以外,主要支持以下的新功能:

支持異步 I/O 和通道channel

Vim 現(xiàn)在可以和后臺的其它進程進行消息交互。這樣就可以開發(fā)一個運行在后臺的服務(wù)器,并將結(jié)果發(fā)回給 Vim,這種交互方式稱之為通道channel。在通道中使用 JSON 傳遞消息,因此你可以用任何一種語言來開發(fā)后臺服務(wù)器,只需要它支持 JSON 即可。通過支持這種技術(shù)可以實現(xiàn)一些功能非常復(fù)雜的插件。

任務(wù)

Vim 現(xiàn)在也能啟動一個任務(wù),并與之通訊或停止它。比如說,可以啟動一個用于自動補完、格式檢查等功能的進程。在任務(wù)和 Vim 之間的通訊是通過通道完成的。

定時器

另外一個異步工作的是定時器timer,可以啟動一個定時器并不斷重復(fù)調(diào)用某個函數(shù)。比如:let tempTimer = timer_start(4000, 'CheckTemp') 。

Partial

Vim 已經(jīng)有了一個 Funcref 功能,這是一個函數(shù)引用。partial 也是一個函數(shù)引用,但是它可以綁定參數(shù)或字典。這對于頻道或定時器的回調(diào)很有用。 比如:let tempTimer = timer_start(4000, function('CheckTemp', ['out'])) 。

Lambda 和閉包

lambda 是創(chuàng)建函數(shù)最快的方式,比如:{args -> expr}。它對于 filter() 和 map() 很有用,而且還支持函數(shù)參數(shù)。如:call filter(mylist, {idx, val -> val > 20})。

lambda 可以使用定義 lambda 表達式范圍內(nèi)的變量,這常被稱之為閉包closure。

插件包

插件越來越多了,為了更好的管理插件,因此支持了插件包的支持。

窗口 ID

以前 Vim 中的窗口只能通過數(shù)字編號來訪問,當打開、關(guān)閉或移動窗口時,這個數(shù)字也隨之而變。現(xiàn)在每個窗口都有了一個唯一的 ID,可以更方便的找到它們。

折行縮進

新增的 'breakindent' 選項可以保證在折行時維持縮進不變。

Windows:支持 DirectX

新增的 'renderoptions' 選項可以在 Windows 上切換到 DirectX (DirectWrite)引擎上。

支持 GTK+ 3

一般用戶很難注意到 GTK+ 3 和 GTK+ 2 的區(qū)別。對這兩者的配置仍然都支持。

Vim的UNIX/Linux版下載:

源代碼及運行時文件: ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2

.tar.bz2編譯安裝

解壓縮:tar jxf vim-8.0.tar.bz2
切換目錄:cd /vim80/src
配置:./configure

注意:在配置過程(檢查依賴關(guān)系)可能會碰到下面的問題:

no terminal library found
checking for tgetent()… configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with –with-tlib.

ncurses是一個比較老的庫

解決方法:sudo apt install libncurses5-dev

編譯:make
安裝:make install

這樣打開終端輸入vim直接可以進入

Vim文檔與幫助

 對于初學者來說,有一個叫  vimtutor 的一小時教程可以看看(當然是英文的),請通過 :help tutor 了解更多信息。

學習 Vim 的最好方式之一是在 Vim 中使用:help,如果你還沒有 Vim 二進制程序,你也可以看看 runtime/doc/help.txt,它包含了對其它文檔的指引。這個用戶手冊就像一本書一樣,推薦使用它來學習 Vim。詳見 :help user-manual。

本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
上林县| 深水埗区| 巴彦县| 广宁县| 滨海县| 阜宁县| 三亚市| 沅陵县| 北安市| 乡城县| 广灵县| 上杭县| 宝兴县| 洪湖市| 香河县| 安阳县| 云梦县| 会泽县| 历史| 灯塔市| 湖州市| 清新县| 张家界市| 裕民县| 通渭县| 家居| 中山市| 罗江县| 汶上县| 扎兰屯市| 肃宁县| 新蔡县| 五大连池市| 内黄县| 赞皇县| 南部县| 长春市| 邛崃市| 丰宁| 吉木乃县| 鸡西市|