成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vim編輯器的兼容模式

系統(tǒng) Linux 系統(tǒng)運(yùn)維
目前,在我們講述 Vim 的教程中,討論過(guò)編輯器的模式行(Modeline)功能以及怎樣用插件來(lái)擴(kuò)展 Vim 的功能集。可正如我們所知,Vim 提供了非常多的內(nèi)置功能:因此在本教程中更進(jìn)一步,我們來(lái)談?wù)勗谠摼庉嬈鲉?dòng)時(shí)的可用模式。 但在我們開(kāi)始之前,請(qǐng)注意在本教程中提及的所有例子、命令及用法說(shuō)明都是在 Ubuntu 14.04 上測(cè)試的,我們測(cè)試用的 Vim 版本是 7.4 。

Vim

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

但在我們開(kāi)始之前,請(qǐng)注意在本教程中提及的所有例子、命令及用法說(shuō)明都是在 Ubuntu 14.04 上測(cè)試的,我們測(cè)試用的 Vim 版本是 7.4 。

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

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

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

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

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

  1. ... 
  2. ... 
  3. ... 
  4. system vimrc file: "$VIM/vimrc" 
  5. user vimrc file: "$HOME/.vimrc" 
  6. 2nd user vimrc file: "~/.vim/vimrc" 
  7. user exrc file: "$HOME/.exrc" 
  8. fall-back for $VIM: "/usr/share/vim" 
  9. ... 
  10. ... 
  11. ... 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. :set nocompatible 

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

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

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

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

  • 如果給出 -N 命令行參數(shù),即使不存在 vimrc 文件, ‘不兼容模式’ 也會(huì)啟用。
  • 如果給出 -C 命令行參數(shù),即使存在 vimrc 文件, ‘兼容模式’ 也會(huì)啟用。
  • 如果應(yīng)用了 -u {vimrc} 參數(shù),‘兼容模式’將會(huì)啟用。
  • 當(dāng) Vim 的可執(zhí)行文件的名稱(chēng)以 ex 結(jié)尾時(shí),那這個(gè)效果跟給出 -C 參數(shù)一樣:即使存在一個(gè) vimrc 文件,‘兼容模式’ 也會(huì)啟用,因?yàn)楫?dāng) Vim 以 “ex” 的名稱(chēng)啟用時(shí),就會(huì)讓 Vim 的工作表現(xiàn)得像 “前任” 一樣(LCTT 譯注:意即 Vim 像 Vi 一樣工作)。 ```

結(jié)論

我們都覺(jué)得,你可能不會(huì)發(fā)現(xiàn)你自己有機(jī)會(huì)處于一種你需要打開(kāi) Vim 的 Vi 兼容模式的情形中,但是那并不意味著你應(yīng)該不知道 Vim 編輯器的初始化過(guò)程。畢竟,你絕不會(huì)知道這些知識(shí)什么時(shí)候會(huì)幫到你。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2020-10-14 14:00:39

VIM編輯器

2011-01-10 16:17:49

2018-09-25 09:25:11

Vim編輯器命令

2018-05-11 14:59:21

LinuxVim編輯器

2018-01-25 18:30:05

編輯器ViVim

2018-02-09 09:58:41

Linux編輯器Vi

2025-04-16 08:45:00

編輯器vim運(yùn)維運(yùn)維

2020-03-30 15:25:14

Vim編輯器Linux

2021-08-16 11:05:31

LinuxvimIO

2022-06-12 16:05:22

vimLinux

2022-08-28 23:51:04

編輯器vim代碼

2009-07-29 17:49:05

ibmdwVim

2011-07-25 15:42:38

Xcode Vim

2016-08-30 20:12:21

VimLinux開(kāi)源

2010-08-18 09:19:34

Vim編輯器Vim 7.3

2011-02-21 14:10:46

Vim編輯

2009-07-15 09:09:45

Vim編輯器使用Vim備份

2018-01-29 14:37:52

Linux文本編輯器Geany

2022-04-15 19:19:28

Vim編輯器

2019-06-14 09:12:46

漏洞代碼攻擊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 美女三区 | 国产精品免费大片 | 国产成人精品久久二区二区 | 日日草夜夜草 | 99re在线视频免费观看 | 欧美日一区二区 | 欧美在线一区二区三区 | 99久久婷婷国产亚洲终合精品 | 99reav| 亚洲精品一区二区三区中文字幕 | 香蕉久久久 | 一级毛片在线播放 | 成人性视频在线 | 一级毛片高清 | 国产成人精品999在线观看 | 怡红院成人在线视频 | 日韩在线 | 亚洲人在线观看视频 | 欧美激情综合 | www.99热.com | 亚洲免费一区二区 | 中文视频在线 | 亚洲国产精品久久久久秋霞不卡 | 国产一区二区久久 | 99热99 | 日韩免费成人av | 国产在线精品一区二区三区 | 久久33 | 亚洲欧美在线视频 | 台湾a级理论片在线观看 | av在线免费观看网站 | 在线三级电影 | 日本精品一区二区三区视频 | 91久久综合亚洲鲁鲁五月天 | 99久久免费精品视频 | 99久久电影 | 久草网在线视频 | 亚洲国产精品一区二区第一页 | 亚洲影音先锋 | 一区二区亚洲 | 在线视频一区二区 |