Linux中國

Vim 初學者入門指南

這篇文章是 VIM 用戶指南 系列文章中的一篇:

對一個程序員來說,選擇一個文本編輯器是一件非常重要的事。因為不同編輯器之間有著不少的差異:圖形界面或者非圖形界面、不同的快捷鍵、不同的編程語言支持、不同的插件以及自定義設置等等。我建議不是去搜索最棒的編輯器,而是去選擇最適合你的習慣且最適應你的任務的那一個。假如你打算在一個團體中工作,那麼最好和你的共事者選擇一樣的編輯器。這樣的話,一旦你在使用中遇到問題,你就可以去向他們尋求幫助。

這正是我在幾年之前開始使用 Vim 的原因。通常來說,Vim 會被置於傳說中的 Emacs 的對立面。我承認我對 Emacs 知之甚少,但是對於它倆,你需要知道的是它們都可以被深度定製,並且在初學時也都非常令人困惑。這個教程並不會介紹有關 Vim 的所有內容,而是將介紹一些基礎以使你在最初就能正確使用它,隨後還會展示一些小技巧,藉此(希望能)讓你有能力自己去探索學習。

Vim 一詞來源於 「Vi IMproved」。Vi 是一個被廣泛安裝於 Unix 系統的非圖形界面文本編輯器,並且它也被默認安裝在了 Linux 系統中。Vim 是這個原始編輯器的增強版,但是不同於 Vi,並不是每個發行版都默認安裝了它。

安裝

在 Ubuntu 中可以使用如下命令來安裝 Vim:

sudo apt-get install vim

如果你已經對某些插件有了興趣,使用以下命令:

sudo apt-cache search vim

這命令將給你輸出一個很長的和 Vim 有關的包列表。在這之中,有針對不同編程語言的工具,有插件管理器,等等。

在這系列教程中,我將會在 Ubuntu 上使用最新版的 Vim(7.3.154,LCTT 譯註:現在最新版為 8.0)。當然你也可以使用其它任何版本。

熱身

在終端輸入 vim 命令,你將會看到一個非常棒的歡迎界面。

(LCTT 譯註:看到了歡迎界面中那行「Help poor children in Uganda!」 了嗎?)

如果你之前從未使用過 Vi 或者 Vim,那麼你很可能甚至不知道該怎麼退出它... 是的,這是事實。任何你常用的快捷鍵在 Vim 中都將失去原有的效果。(LCTT 譯註:網上有個流傳的笑話——「如何製造亂碼」,「讓新手退出 vi」)

首先,要使用任何命令式的功能,像 保存 save 或者 退出 exit ,你都先得輸入一個冒號(:)。保存是 :w 而退出是 :q。如果你想不保存文件就退出,那麼就要使用強制退出命令 :q!。Vim 中非常棒的一點是你不需要分開輸入各個命令,換言之,如果你想保存然後退出,你就可以直接使用 :wq

現在,我們退出 Vim 再打開一個文本文件。為此,你只需把想要編輯的文件名加在命令後面即可:

vim [文本文件名]

一般而言,當你打開一個文本文件,你將會處在查看模式。這使得 Vim 與眾不同並且最初會讓人感到困惑。Vim 主要由兩種模式構成:查看模式和編輯模式。查看模式用於查看內容並且使用一些命令。想要進入編輯模式,只需按 i 鍵進行 插入 insert 或者 a 鍵進行 添加 add 。想要返回到查看模式或者進行命令式功能的操作,按 Escape 鍵即可。 插入 insert 添加 add 的差異僅僅在於你是想在游標位置之前還是在游標之後進入編輯模式並進行文字輸入。要想徹底地明白,你應該親自去嘗試一下。我的建議是:僅在行尾使用 添加 add ,而在其它時候使用 插入 insert

(LCTT 譯註:此段落中「查看模式」原文是 「visual mode」,疑為「view mode」,在此模式下可以查看文本,但是不能進行編輯;而「visual mode」 是編輯模式的一種,可以按 v 鍵進入,然後就可以用方向鍵從當前游標位置開始進行選擇,並以反白的視覺效果顯示,通常選擇後可以按 y 進行複製、按 d 進行剪切等操作。此外, 本文作者的用語並不標準,按照 Vim 自己的用語來說,此處所謂的「查看模式」,應該稱之為「普通模式」,「編輯模式」應該稱之為「插入模式」,不過意思是一致的。)

要想在文本之中移動游標,你通常可以使用鍵盤上的方向鍵,它們無論是在查看模式還是在編輯模式都可以生效。不過,一個真正的純粹主義者將會告訴你使用按鍵 h 向左,j 向下,k 向上,l 向右來(在查看模式)進行移動。

現在你已經明白了如何和簡單地控制 Vim,我們再來更加深入一些。

一些簡單命令

現在你已經熟悉了在正常模式和插入模式之間進行切換,下面是一些可以在正常模式中使用的命令:

  • x:刪除一個字元
  • u:撤銷一個操作(相當與 Ctrl+z
  • dd:刪除一行內容
  • dw:刪除一個單詞
  • yy:複製一行內容
  • yw:複製一個單詞
  • p:粘貼一個之前刪除或複製的行或者單詞
  • e:跳到下個單詞(LCTT 譯註:詞尾)(比單純用方向鍵更快)
  • r:替換一個字母(按 r,鬆開,然後再按新字母)

當然不止這些,不過這些對現在來說已經足夠了。如果你掌握了上面的全部,你將能你很順溜地使用 Vim 了。

對於那些還想知道更多的人,我再多提一下。你可以在任何這些命令之前加上一個數值,那麼這個命令將被重複執行相應的次數。例如,5x 將在當前行連續刪除 5 個字母,而 3p 將會粘貼 3 次。

高級命令

最後,作為對你自己繼續探索的鼓勵和示例,這裡給出幾個高級且常用的命令:

  • /所搜索的內容:在文中搜索特定內容
  • :sp 文本文件名:將屏幕水平分割成上下兩半,新文件展示在另一半。想要在兩側切換焦點,可以使用 Ctrl+w 快捷鍵。
  • :vsp 文本文件名:同上,但是是垂直分割屏幕
  • Ctrl+Shift+CCtrl+Shift+V:在終端中複製和粘貼文本
  • :! 命令名:在 Vim 中運行 Vim 外的終端命令,直接發送給 shell。例如,:! ls 將在不退出編輯器的同時,顯示你當前目錄內的文件。

結論

我覺得你現在應該已經有了足夠的準備來開始使用 Vim。你還可以通過安裝各種插件,編輯 ~.vimrc 文件,或者在 shell 中輸入 vimtutor 命令來使用互動式教程以學到更多。

如果你有任何你想分享的關於 Vim 的其它命令,請在評論中告知我們。

via: https://www.maketecheasier.com/start-with-vim-linux/

作者:Himanshu Arora 譯者:Yinr 校對:jasminepeng

本文由 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中國