Linux中國

初識 Vi 文本編輯器

不管你用的是 Vim、Neovim、gVim、nvi,甚至是 Elvis,其實都是這個典型的 Unix 編輯器 Vi。可能每一個 Linux 和 BSD 發行版中都包含了 Vi,Vi 是一個輕量級的簡約型文本編輯器,由於其簡單簡潔的鍵盤快捷鍵和雙模式設計,很多用戶都喜歡它。

最初的 Vi 編輯器是由 C shell 的創建者 Bill Joy 編寫的應用程序。現代 Vi 的化身已經增加了許多功能,包括多級撤銷、插入模式下更好的導航、行摺疊、語法高亮、插件支持等等。Vim 被認為是它的最流行的現代實現,大多數人在提到 Vi 時實際上是指 Vim。

所有這些化身都是為了同一個目標,所以本文將從通用的場景來探討 Vi。你的計算機上的版本可能略有不同,但你仍然可以從 Vi 編輯文本的方式中獲益。

安裝 Vi

如果你運行的是 Linux、macOS 或 BSD,那麼你已經安裝了 vi 命令。如果你在 Windows 上,你可以下載 Vim 和 gVim

![gVim](/data/attachment/album/202012/23/222219owjefxjpwj8jjjjd.jpg "gVim")

NetBSD上,nvi 是 Vi 的常見替代品,而 Slackware 則提供了 Elvis(和 Vim),流行的 Neovim 復刻旨在幫助用戶用 Lua 擴展 Vim。

啟動 Vi

在終端中用 vi 命令啟動 Vi 或 Vim。如果在你的系統中沒有找到 .vimrc 文件,那麼 Vim 就會以 Vi 兼容模式啟動(也可以用 -C 選項強制啟動該模式)。如果你想使用 gVim 以擁有一個圖形用戶界面(GUI),你可以從桌面的應用程序菜單中啟動它。

如果你是一個剛剛學習 Vi 的新用戶,使用圖形用戶界面是一個很好的方法,可以在你可能期望的文本編輯器的行為和 Vi 的設計行為之間提供一個緩衝帶。圖形用戶界面版本有一個菜單欄,一些滑鼠集成,一個工具欄和其他功能,這可以幫助你找到你可能認為在典型的文本編輯器中理所當然的基本功能,但還不知道如何在 Vi 中做。

如何使用 Vi

學習 Vi 最簡單的方法可能是使用 vimtutor,這是一個與 Vim 打包在一起的互動式教程。要開始學習該教程,啟動 vimtutor 並閱讀說明,嘗試每個練習。正如教程中所說,學好 Vi 不是記住什麼鍵做什麼,而是建立肌肉記憶,以在輸入時調用常用的動作。

Esc 鍵

學習 Vi 的第一件重要的事就是掌握 Esc 鍵。Esc 是激活命令模式的工具,很快你就會明白,在 Vi 中,只要你不確定,就按 Esc。在命令模式下,你按下的任何鍵都不會被輸入到你正在處理的文本文檔中,而是被 Vi 解釋為一條命令。例如,要將游標向左移動,你可以按鍵盤上的 H 鍵。如果你處於插入模式,那麼按 H 鍵就會輸入字母 H,就像你期望的那樣。但在命令模式下,按 H 向左移動,L 向右移動,J 向下移動,K 向上移動。

命令模式和插入模式的分離與其他文本編輯器的工作方式形成了鮮明的對比,由於這種設計,這可能是 Vi 最顯著的差異化。不過有趣的是,理論上來說,它與你可能已有的工作方式並沒有太大的區別。畢竟,當你把手從鍵盤上拿開,用滑鼠選擇文本時,你基本上是將自己置於一種命令模式中。在 Vi 中,你不需要把手從鍵盤上移開來移動滑鼠,也不需要按功能鍵或 Ctrl 鍵,而是將編輯器放入一種特殊的操作模式中,使你的按鍵重新分配到命令上,而不是文字輸入。

擴展 Vi

在 Vim 8.0 版本之前,Vi 在很大程度上「只是」一個文本編輯器。它有插件,但安裝插件是一個手動的過程,很多用戶從未想過要這麼做。幸運的是,Vim 8 及以上版本提供了對插件管理的支持,使得安裝和載入插件變得輕而易舉。

安裝 Vim 的插件可以通過 vim-plug 功能來完成。例如,要安裝 Vi 文件瀏覽器 NERDTree

:PlugInstall NERDTree

你也可以更新插件:

:PlugUpdate NERDTree

關於使用 vim-plug 和手動安裝插件和主題的更多信息,請閱讀我的文章《如何安裝 Vim 插件》。

默認 Vi

Vi 不僅僅流行,它還是一個 POSIX 標準。它是每個系統管理員都應該知道如何使用的應用程序,即使他們不打算每天使用它。它也是一個快速而簡單的編輯器,所以一旦你熟練掌握了它,它可能就是你一直在尋找的編輯器。

via: https://opensource.com/article/20/12/vi-text-editor

作者:Seth Kenlon 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國