中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vi與vim的區別

發布時間:2020-08-07 14:57:33 來源:網絡 閱讀:1122 作者:啊凱linux 欄目:系統運維

Vim是從 vi 發展出來的一個文本編輯器 。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。和Emacs 并列成為類Unix系統 用戶最喜歡的編輯器。

Vim的第一個版本由Bram Moolenaar 在1991年發布。最初的簡稱是Vi IMitation ,隨著功能的不斷增加,正式名稱改成了Vi IMproved。現在是在開放源代碼 方式下發行的自由

首先我們看一下文本

第一個vi編輯的內容 

vi與vim的區別

第二個我們看下vim的效果


vi與vim的區別


Vim 具有6種基本模式和5種派生模式。

1.基本模式

(1)普通模式

在普通模式中,用戶可以執行一般的編輯器命令,比如移動光標,刪除文本等等。這也是 Vim 啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。

Vim 強大的編輯能力中很大部分是來自于其普通模式命令。普通模式命令往往需要一個操作符結尾。例如普通模式命令 "dd" 刪除當前行,但是第一個 "d" 的后面可以跟另外的移動命令來代替第二個 "d",比如用移動到下一行的 "j" 鍵就可以刪除當前行和下一行。另外還可以指定命令重復次數,"2dd"(重復 "dd" 兩次),和 "dj" 的效果是一樣的。用戶學習了各種各樣的文本間移動/跳轉的命令和其他的普通模式的編輯命令,并且能夠靈活組合使用的話,能夠比那些沒有模式的編輯器更加高 效的進行文本編輯。

在普通模式中,有很多方法可以進入插入模式。比較普通的方式是按 "a"(append/追加)鍵或者 "i"(insert/插入)鍵。

(2)插入模式

在這個模式中,大多數按鍵都會向文本緩沖 中插入文本。大多數新用戶希望文本編輯器編輯過程中一直保持這個模式。

在插入模式中,可以按 ESC 鍵回到普通模式。

(3)可視模式

這個模式與普通模式比較相似。但是移動命令會擴大高亮的文本區域。高亮區域可以是字符、行或者是一塊文本。當執行一個非移動命令時,命令會被執行到這塊高亮的區域上。Vim 的"文本對象"也能和移動命令一樣用在這個模式中。

(4)選擇模式

這個模式和無模式編輯器的行為比較相似(Windows標準文本控件的方式)。這個模式中,可以用鼠標或者光標鍵高亮選擇文本,不過輸入任何字符的話,Vim 會用這個字符替換選擇的高亮文本塊,并且自動進入插入模式。

(5)命令行模式

在命令行模式中可以輸入會被解釋成并執行的文本。例如執行命令(":" 鍵),搜索("/" 和 "?" 鍵)或者過濾命令("!" 鍵)。在命令執行之后,Vim 返回到命令行模式之前的模式,通常是普通模式。

(6)Ex 模式

這和命令行模式比較相似,在使用 ":visual" 命令離開 Ex 模式前,可以一次執行多條命令。

2. 派生模式

(1)操作符等待模式

這個派生模式指普通模式中,執行一個操作命令后 Vim 等待一個"動作"來完成這個命令。Vim 也支持在操作符等待模式中使用"文本對象"作為動作,包括 "aw" 一個單詞(a word)、"as" 一個句子(a sentence)、"ap" 一個段落(a paragraph)等等。

比如,在普通模式下 "d2as" 刪除當前和下一個句子。在可視模式下 "apU" 把當前段落所有字母大寫。

(2)插入普通模式

這個模式是在插入模式下按下ctrl-o鍵的時候進入。這個時候暫時進入普通模式,執行完一個命令之后,Vim 返回插入模式

(3)插入可視模式

這個模式是在插入模式下按下ctrl-o鍵并且開始一個可視選擇的時候開始。在可視區域選擇取消的時候,Vim 返回插入模式。

(4)插入選擇模式

通常這個模式由插入模式下鼠標拖拽或者shift方向鍵來進入。當選擇區域取消的時候,Vim 返回插入模式。

(5) 替換模式

這是一個特殊的插入模式,在這個模式中可以做和插入模式一樣的操作,但是每個輸入的字符都會覆蓋文本緩沖中已經存在的字符。在普通模式下按 "R" 鍵進入。

其他

Evim

Evim 是一個特殊的GUI 模式用來盡量的表現的和"無模式"編輯器一樣。編輯器自動進入并且停留在插入模式,用戶只能通過菜單、鼠標和鍵盤控制鍵來對文本進行操作。可以在命令行下輸入 "evim" 或者 "vim -y" 進入。在 Windows 下,通常也可以點擊桌面上 Evim 的圖標。

 功能

 概要

Vim 提供了文本形式的大量文檔 。并且 Vim 為了能夠快速找到問題的解決方案,提供了各種各樣的功能。根據 Vim 自己的幫助文件語法,關鍵字 會被各種各樣醒目的顏色表示出來。可以用快捷鍵 象在瀏覽器 中那樣瀏覽幫助文件。在GUI 版的Vim中還可以使用鼠標 在 幫助文件中移動。方便用戶尋找問題解決方案的功能還不止這些,其中最主要的是 ':helpgrep' 命令。使用這條命令,用戶可以在所有幫助文件中搜索想要察看的內容,用':cwindows'可以在另一個窗口中表示搜索的結果,根據搜索的結果自動在幫 助文件內跳轉。使用Vim的幫助功能,更可以在搜索的結果中,繼續進行搜索。

程序開發相關功能

Vim 是程序員 為了方便的編寫程序而開發的編輯器 。Vim 具有可以讓寫代碼的工作變得輕松愉快的各種各樣功能。和集成開發環境 一樣,Vim 具有可以配置成在編輯代碼源文件之后直接進行編譯 的功能。編譯 出錯的情況下,可以在另一個窗口中顯示出錯誤。根據錯誤信息,直接跳轉到正在編輯的源文件出錯位置。代碼高亮,文本折疊,上下文關聯補完都是對程序員 特別有幫助的功能(參考 ':help quickfix')

文件比較

可以逐行的對文本文件進行比較。Vim 可以并排顯示兩個版本的文件,同時以各種各樣的顏色來表示有差別部分。改變過、新增的或者是被刪除的行會以顏色高亮來強調,沒有改變過的部分則會被自動折疊表示。

對于已經在vim中打開的兩個緩沖區,分別使用:diffthis 之后將會對這兩個緩沖區的內容進行比較,被比較的緩沖區可以是一個尚未存盤的內存中的緩沖區。

在比較兩個文件的不同之處時,可以用:diffget和:diffput命令對每一處不同進行雙向的同步,也可以在比較不同時對內容進行其它編輯,然后用:diffupdate 對最新內容重新進行比較。

在瀏覽兩個文件的不同之處時,可以用[c和]c兩個Normal模式的命令直接跳轉到上一個和下一個不同之處。

可以通過diffopt 等選項更精細地控制哪些區別被認為是真正的不同之處,比如可以設置比較時忽略空白字符數量的不同。

Unix 下可以用 vimdiff 命令來使用這個功能。

 腳本語言

Vim 有她自己的腳本語言 ,使用腳本語言寫成的宏 可以實現自動執行復雜的操作。用 -s 選項啟動 Vim ,或者直接切換到宏 所在目錄 使用 ':source' 命令都可以執行 Vim 腳本。Vim 的配置文件就可以作為 Vim 腳本的一個范例,Unix 和Linux 下配置文件名是.vimrc,Windows 下配置文件一般叫做 _vimrc。這個文件在啟動 Vim 的時候被自動執行。Vim 腳本語言 可以使用 Vim 命令行 模式的所有命令 ,使用 ':normal' 命令還可以使用通常模式中的所有命令。Vim 腳本語言具有數字,字符串兩種數據類型 。用數字代表布爾類型 ,0代表假,之外的數全代表真。最新的 Vim 7 更提供了列表 、關聯數組 等高級數據結構 。Vim 腳本語言也擁有各種比較運算符 和算術運算符 。控制結構實現了 if分支 和 for/while 循環。用戶還可以自己定義函數 ,并且可以使用超過100種的預定義函數 。編寫成的腳本文件可以在調試模式中進行調試。

不足之處

 

它們都是多模式編輯器 ,不同的是vim 是vi的升級版本,它不僅兼容vi的所有指令 ,而且還有一些新的特性在里面。
vim的這些優勢主要體現在以下幾個方面:

1、多級撤消
我們知道在vi里,按 u只能撤消上次命令,而在vim里可以無限制的撤消。

2、易用性
vi只能運行于unix中,而vim不僅可以運行于unix,windows ,mac等多操作平臺。

3、語法加亮
vim可以用不同的顏色來加亮你的代碼。

4、可視化操作
就是說vim不僅可以在終端運行,也可以運行于x window、 mac os、 windows。

5、對vi的完全兼容
某些情況下,你可以把vim當成vi來使用。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘泉县| 兴安盟| 乌海市| 邻水| 盐亭县| 当阳市| 新干县| 松滋市| 辽阳市| 包头市| 潼南县| 清丰县| 阿拉善盟| 云阳县| 甘南县| 禄丰县| 象山县| 东兴市| 香河县| 桐城市| 乐安县| 香格里拉县| 巍山| 陵川县| 河曲县| 唐海县| 临江市| 耿马| 阿拉尔市| 永年县| 策勒县| 嘉义县| 延长县| 海门市| 浪卡子县| 九寨沟县| 阳新县| 建平县| 莱阳市| 柞水县| 唐山市|