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

Vim編輯器的兼容模式

系統 Linux 系統運維
目前,在我們講述 Vim 的教程中,討論過編輯器的模式行(Modeline)功能以及怎樣用插件來擴展 Vim 的功能集。可正如我們所知,Vim 提供了非常多的內置功能:因此在本教程中更進一步,我們來談談在該編輯器啟動時的可用模式。 但在我們開始之前,請注意在本教程中提及的所有例子、命令及用法說明都是在 Ubuntu 14.04 上測試的,我們測試用的 Vim 版本是 7.4 。

Vim

目前,在我們講述 Vim 的教程中,討論過編輯器的模式行(Modeline)功能以及怎樣用插件來擴展 Vim 的功能集。可正如我們所知,Vim 提供了非常多的內置功能:因此在本教程中更進一步,我們來談談在該編輯器啟動時的可用模式。

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

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

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

系統級及本地 vimrc 文件

當 Vim 啟動時,編輯器會去搜索一個系統級的 vimrc 文件來進行系統范圍內的默認初始化工作。

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

  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. ... 

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

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

我們談論的是什么兼容性

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

經過改進意味著 Vim 的功能集比 Vi 的更大。為了更好的理解這倆編輯器的區別,點這里。

當談論 Vim 的兼容和不兼容模式時,我們所說的兼容性是指 Vim 兼容 Vi。在兼容模式下運行時,Vim 大部分增強及改善的功能就不可用了。不管怎樣,要記住這種模式下,Vim 并不能簡單等同 Vi - 此模式只是設定一些類似 Vi 編輯器工作方式的默認選項。

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

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

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

  1. 'compatible' 'cp' boolean (默認開啟 ,當 |vimrc| 或 |gvimrc| 存在時關閉) 

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

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

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

在 Vim 啟動時,‘compatible’選項是打開的。這將在 Vim 開始初始化時應用。但是一旦之后發現用戶級 vimrc 文件,或在當前目錄有一個 vimrc 文件,抑或是 VIMINIT 環境變量已設置,Vim 就會被設為不兼容模式。

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

  1. :set nocompatible 

其他有用細節

這兒是一些關于這些模式的更有用的細節:

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

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

  • 如果給出 -N 命令行參數,即使不存在 vimrc 文件, ‘不兼容模式’ 也會啟用。
  • 如果給出 -C 命令行參數,即使存在 vimrc 文件, ‘兼容模式’ 也會啟用。
  • 如果應用了 -u {vimrc} 參數,‘兼容模式’將會啟用。
  • 當 Vim 的可執行文件的名稱以 ex 結尾時,那這個效果跟給出 -C 參數一樣:即使存在一個 vimrc 文件,‘兼容模式’ 也會啟用,因為當 Vim 以 “ex” 的名稱啟用時,就會讓 Vim 的工作表現得像 “前任” 一樣(LCTT 譯注:意即 Vim 像 Vi 一樣工作)。 ```

結論

我們都覺得,你可能不會發現你自己有機會處于一種你需要打開 Vim 的 Vi 兼容模式的情形中,但是那并不意味著你應該不知道 Vim 編輯器的初始化過程。畢竟,你絕不會知道這些知識什么時候會幫到你。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-01-10 16:17:49

2020-10-14 14:00:39

VIM編輯器

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運維運維

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開源

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

漏洞代碼攻擊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线一区二区三区 | 九色视频网 | 中文字幕精品一区 | 国产一区二区小视频 | 久久久久成人精品亚洲国产 | 99色在线视频 | 欧美大片在线观看 | jvid精品资源在线观看 | 亚洲欧美日韩在线 | 国产电影一区二区 | 亚洲精品久久国产高清情趣图文 | 久久新视频| 久久最新精品视频 | 欧美日韩专区 | 日韩中文欧美 | 日本高清视频网站 | 国产乱一区二区三区视频 | 特级黄一级播放 | 日韩精品在线观看免费 | 精品国产精品三级精品av网址 | 久久久久久久久久久久91 | 久久精品com | 97超在线视频 | 99久久免费观看 | 99精品国产一区二区三区 | 黑人精品欧美一区二区蜜桃 | 你懂的在线视频播放 | 国产999精品久久久久久 | 国产成人精品免高潮在线观看 | 日本人做爰大片免费观看一老师 | 国产精品视频久久久久 | 色婷婷一区二区三区四区 | 在线视频第一页 | www.中文字幕.com | 盗摄精品av一区二区三区 | 欧美国产日韩一区二区三区 | 操皮视频 | 久久精品综合网 | 日本久久精品视频 | 国产一区二区在线视频 | 美女黄视频网站 |