成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

linux中Vim編輯器兼容模式的示例分析

小編給大家分享一下linux中Vim編輯器兼容模式的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

南縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,南縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為南縣上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的南縣做網(wǎng)站的公司定做!

目前,在我們講述 Vim 的教程中,討論過編輯器的模式行(Modeline)功能以及怎樣用插件來擴(kuò)展 Vim 的功能集??烧缥覀兯?,Vim 提供了非常多的內(nèi)置功能:因此在本教程中更進(jìn)一步,我們來談?wù)勗谠摼庉嬈鲉訒r(shí)的可用模式。

但在我們開始之前,請注意在本教程中提及的所有例子、命令及用法說明都是在 Ubuntu 14.04 上測試的,我們測試用的 Vim 版本是 7.4 。

Vim 中的兼容模式與不兼容模式

為了更好理解上述的 Vim 模式,你有必要先去了解下此編輯器初始化過程的一個(gè)重要方面。

系統(tǒng)級及本地 vimrc 文件

當(dāng) Vim 啟動時(shí),編輯器會去搜索一個(gè)系統(tǒng)級的 vimrc 文件來進(jìn)行系統(tǒng)范圍內(nèi)的默認(rèn)初始化工作。

這個(gè)文件通常在你系統(tǒng)里 $VIM/vimrc 的路徑下,如果沒在那里,那你可以通過在 Vim 里面運(yùn)行 :version 命令來找到它的正確存放位置。比如說,在我這里,這個(gè)命令的相關(guān)部分的輸出結(jié)果如下:

... ... ... system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/usr/share/vim" ... ... ...

可以看到那個(gè)系統(tǒng) vimrc 文件確實(shí)位于 $VIM/vimrc ,但我檢查了我機(jī)子上沒設(shè)置過 $VIM 環(huán)境變量。所以在這個(gè)例子里 - 正如你在上面的輸出所看到的 - $VIM 在我這的路徑是 /usr/share/vim ,是一個(gè)回落值(LCTT 譯注:即如果前面失敗的話,最終采用的結(jié)果)。于是我試著在這個(gè)路徑尋找 vimrc ,我看到這個(gè)文件是存在的。如上即是我的系統(tǒng) vimrc 文件,就如前面提過的那樣 - 它在 Vim 啟動時(shí)會被讀取。

在這個(gè)系統(tǒng)級 vimrc 文件被讀取解析完后,編輯器會查找一個(gè)用戶特定的(或者說本地的)vimrc 文件。這個(gè)本地 vimrc 的搜索順序是:環(huán)境變量 VIMINIT、$HOME/.vimrc、環(huán)境變量 EXINIT, 和一個(gè)叫 exrc 的文件。通常情況下,會存在 $HOME/.vimrc 或 ~/.vimrc 這樣的文件,這個(gè)文件可看作是本地 vimrc。

我們談?wù)摰氖鞘裁醇嫒菪?/strong>

就像我們談?wù)?Vim 的兼容性模式和不兼容性模式那樣,這些模式的開啟和禁用會做出什么樣的兼容性也值得了解。要了解這些,先要知道 Vim 是 VIMproved 的縮寫,像這個(gè)全名暗示的那樣,Vim 編輯器是 Vi 編輯器的改進(jìn)版。

經(jīng)過改進(jìn)意味著 Vim 的功能集比 Vi 的更大。為了更好的理解這倆編輯器的區(qū)別,點(diǎn)這里。

當(dāng)談?wù)?Vim 的兼容和不兼容模式時(shí),我們所說的兼容性是指 Vim 兼容 Vi。在兼容模式下運(yùn)行時(shí),Vim 大部分增強(qiáng)及改善的功能就不可用了。不管怎樣,要記住這種模式下,Vim 并不能簡單等同 Vi - 此模式只是設(shè)定一些類似 Vi 編輯器工作方式的默認(rèn)選項(xiàng)。

不兼容模式 - 不用多說 - 使得 Vim 用起來跟 Vi 不兼容,也使得用戶可以用到它的所有增強(qiáng)、改善及特征。

怎么啟用/禁用這些模式?

在 Vim 中嘗試運(yùn)行 :help compatible 命令,接著你會看到如下語法:

'compatible' 'cp' boolean (默認(rèn)開啟 ,當(dāng) |vimrc| 或 |gvimrc| 存在時(shí)關(guān)閉)

描述中說到兼容模式默認(rèn)開啟的,不過當(dāng) vimrc 文件存在時(shí)會關(guān)閉。但說的是哪種 vimrc 文件呢?答案是本地 vimrc。深入研究下 :help compatible 命令給出的詳情,你會發(fā)現(xiàn)下面內(nèi)容說得更清楚:

事實(shí)上,這意味著當(dāng)一個(gè) |vimrc| 或 |gvimrc| 文件存在時(shí),Vim 會用默認(rèn)的 Vim,否則它會用 Vi 默認(rèn)的。(注:如果系統(tǒng)級的 vimrc 或 gvimrc 文件中帶有 |-u| 參數(shù),則不會這樣。)。

那么在 Vim 啟動時(shí),實(shí)際上進(jìn)行的動作是,首先會解析系統(tǒng) vimrc 文件 - 在這時(shí)處于兼容性模式默認(rèn)開啟狀態(tài)?,F(xiàn)在,無論何時(shí)發(fā)現(xiàn)一個(gè)用戶(或成為本地) vimrc ,不兼容模式都會打開。:help compatible-default命令說的很清楚:

在 Vim 啟動時(shí),‘compatible’選項(xiàng)是打開的。這將在 Vim 開始初始化時(shí)應(yīng)用。但是一旦之后發(fā)現(xiàn)用戶級 vimrc 文件,或在當(dāng)前目錄有一個(gè) vimrc 文件,抑或是 VIMINIT 環(huán)境變量已設(shè)置,Vim 就會被設(shè)為不兼容模式。

假如你想無視默認(rèn)的行為,要在編輯器開始解析系統(tǒng) vimrc 文件時(shí)打開不兼容模式,你可以通過添加如下命令到那個(gè)文件的開頭來完成這個(gè)操作。

:set nocompatible

其他有用細(xì)節(jié)

這兒是一些關(guān)于這些模式的更有用的細(xì)節(jié):

現(xiàn)在通過創(chuàng)建一個(gè) .vimrc 文件來設(shè)置或重置兼容性會有一個(gè)副作用:(鍵盤)映射(Mapping)在解釋的時(shí)候會有沖突。這使得在用諸如回車控制符 <CR> 等情況時(shí)會有影響。如果映射關(guān)系依賴于兼容性的某個(gè)特定值,在給出映射前設(shè)置或者重置它。

上述行為能夠用以下方式能覆蓋:

  • 如果給出 -N 命令行參數(shù),即使不存在 vimrc 文件, &lsquo;不兼容模式&rsquo; 也會啟用。

  • 如果給出 -C 命令行參數(shù),即使存在 vimrc 文件, &lsquo;兼容模式&rsquo; 也會啟用。

  • 如果應(yīng)用了 -u {vimrc} 參數(shù),&lsquo;兼容模式&rsquo;將會啟用。

  • 當(dāng) Vim 的可執(zhí)行文件的名稱以 ex 結(jié)尾時(shí),那這個(gè)效果跟給出 -C 參數(shù)一樣:即使存在一個(gè) vimrc 文件,&lsquo;兼容模式&rsquo; 也會啟用,因?yàn)楫?dāng) Vim 以 “ex” 的名稱啟用時(shí),就會讓 Vim 的工作表現(xiàn)得像 “前任” 一樣(LCTT 譯注:意即 Vim 像 Vi 一樣工作)。 ```

以上是“l(fā)inux中Vim編輯器兼容模式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前名稱:linux中Vim編輯器兼容模式的示例分析
網(wǎng)站鏈接:http://jinyejixie.com/article22/pochjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站營銷型網(wǎng)站建設(shè)、企業(yè)建站、云服務(wù)器、微信公眾號自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

新干县| 甘泉县| 临漳县| 宣恩县| 古蔺县| 太仓市| 砀山县| 沂源县| 乐平市| 远安县| 鹿邑县| 平武县| 沂源县| 江城| 沙洋县| 盈江县| 滨州市| 临武县| 辽中县| 崇文区| 普宁市| 和龙市| 军事| 茌平县| 高台县| 漳州市| 嘉黎县| 二连浩特市| 张家口市| 宽甸| 婺源县| 景德镇市| 新营市| 兴隆县| 准格尔旗| 永寿县| 贵港市| 望谟县| 仁化县| 东乡县| 涞源县|