一篇文章學會Vim

SilenceHL發表於2021-04-26

宣告:以下內容均為我個人的理解,如果發現錯誤或者疑問可以聯絡我共同探討

簡介

Vim是一個高度可定製的終端文字編輯器,它可以很方便的建立和修改任何型別的文字。作為vi的升級版,有許多新的特性(以下列出的特性為比較常用的,詳細特性可以檢視help vi_diff.):

  • 無限撤銷:可以無限制的撤銷
  • 可移植性:Vi僅在Unix上可用,Vim還可以在Windows、Macintosh,Amiga,OS / 2,VMS,QNX和其他系統上執行。
  • 語法高亮:當用Vim進行程式設計的時候,他可以根據正在編輯的檔案型別,使其以內容以不同的顏色或樣式突出顯示。Vim捆綁了數百種語法突出顯示規則集。
  • 圖形使用者介面:Vim在控制檯上執行良好,也可以在許多GUI中本地執行,包括Mac OS和Windows。它還可以操作剪貼簿。
  • vi相容模式:緊要關頭,您可以強制Vim像vi一樣。使Vim與vi不相容的所有改進和錯誤修復都已關閉,您將獲得100%與vi相容的編輯器。

Vim作為許多程式設計師最喜歡的文字編輯器之一,它具有像:多級撤銷、程式碼補全、支援數百種程式語言和文字格式、強大的搜尋和替換功能等。

安裝與解除安裝

安裝

Windows

先把安裝包下載下來,然後根據提示安裝。

Unix

Github上下載原始檔安裝

Mac

github下載,根據檔案型別安裝。

詳細安裝教程

解除安裝

Unix or Mac

原始碼安裝

在控制檯輸入

 make uninstall
軟體包管理器安裝

根據不同軟體包管理器的解除安裝命令解除安裝

Windows

找到安裝目錄下的 “uninstall-gui” 程式進行解除安裝

教程

vimtutor

Vim自帶教程vimtutor是你從零開始學習Vim最好的老師,教程包含了日常所需要的各個命令和功能,還有實操教學。如果你的系統語言是中文,那麼開啟vimtutor時預設是中文版的教程,中文版教程由樑昌泰 先生進行譯製。在命令列中輸入vimtutor,就可以開啟該教程,學習完該教程大約需要30分鐘左右。

有一款遊戲Vim Adventure,可以作為學習Vim的一種放鬆。

Vimtutor章節小結

第一講
  1. 游標在螢幕文字中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。

    ​ h (左移) j (下行) k (上行) l (右移)

  2. 欲進入 Vim 編輯器(從命令列提示符),請輸入:vim 檔名 <回車>

  3. 欲退出 Vim 編輯器,請輸入 :q! <回車> 放棄所有改動。或者輸入 :wq <回車> 儲存改動。

  4. 在正常模式下刪除游標所在位置的字元,請按: x

  5. 欲插入或新增文字,請輸入:

    ​ i 輸入欲插入文字 在游標前插入文字

    ​ A 輸入欲新增文字 在一行後新增文字

特別提示:按下 鍵會帶您回到正常模式或者撤消一個不想輸入或部分完整的命令。

第二講
  1. 欲從當前游標刪除至下一個單詞,請輸入:dw

  2. 欲從當前游標刪除至當前行末尾,請輸入:d$

  3. 欲刪除整行,請輸入:dd

  4. 欲重複一個動作,請在它前面加上一個數字:2w

  5. 在正常模式下修改命令的格式是:

     operator  [number]  motion

    其中:

    ​ operator - 操作符,代表要做的事情,比如 d 代表刪除

    ​ [number] - 可以附加的數字,代表動作重複的次數

    ​ motion - 動作,代表在所操作的文字上的移動,例如 w 代表單詞(word),$ 代表行末等等。

  6. 欲移動游標到行首,請按數字0鍵:0

  7. 欲撤消以前的操作,請輸入:u (小寫的u),欲撤消在一行中所做的改動,請輸入:U (大寫的U),欲撤消以前的撤消命令,恢復以前的操作結果,請輸入:CTRL-R

第三講
  1. 要重新置入已經刪除的文字內容,請按小寫字母 p 鍵。該操作可以將已刪除的文字內容置於游標之後。如果最後一次刪除的是一個整行,那麼該行將置於當前游標所在行的下一行。

  2. 要替換游標所在位置的字元,請輸入小寫的 r 和要替換掉原位置字元的新字元即可。

  3. 更改類命令允許您改變從當前游標所在位置直到動作指示的位置中間的文字。比如輸入 ce 可以替換當前游標到單詞的末尾的內容;輸入 c$ 可以替換當前游標到行末的內容。

  4. 更改類命令的格式是:

    c [number] motion

第四講
  1. CTRL-G 用於顯示當前游標所在位置和檔案狀態資訊。 G 用於將游標跳轉至檔案最後一行。先敲入一個行號然後輸入大寫 G 則是將游標移動至該行號代表的行。gg 用於將游標跳轉至檔案第一行。

  2. 輸入 / 然後緊隨一個字串是在當前所編輯的文件中正向查詢該字串。輸入 ? 然後緊隨一個字串則是在當前所編輯的文件中反向查詢該字串。完成一次查詢之後按 n 鍵是重複上一次的命令,可在同一方向上查詢下一個匹配字串所在;或者按大寫 N 向相反方向查詢下一匹配字串所在。CTRL-O 帶您跳轉回較舊的位置,CTRL-I 則帶您到較新的位置。

  3. 如果游標當前位置是括號(、)、[、]、{、},按 % 會將游標移動到配對的括號上。

  4. 在一行內替換頭一個字串 old 為新的字串 new,請輸入 :s/old/new

    在一行內替換所有的字串 old 為新的字串 new,請輸入 :s/old/new/g

    在兩行內替換所有的字串 old 為新的字串 new,請輸入 :#,#s/old/new/g

    在檔案內替換所有的字串 old 為新的字串 new,請輸入 :%s/old/new/g

    進行全文替換時詢問使用者確認每個替換需新增 c 標誌 :%s/old/new/gc

第五講
  1. :!command 用於執行一個外部命令 command。

    請看一些實際例子:

    (MS-DOS)     (Unix)
    
    :!dir      :!ls      # 用於顯示當前目錄的內容。
    
    :!del FILENAME  :!rm FILENAME  # 用於刪除名為 FILENAME 的檔案。
  2. :w FILENAME 可將當前 VIM 中正在編輯的檔案儲存到名為 FILENAME 的檔案中。

  3. v motion :w FILENAME 可將當前編輯檔案中可視模式下選中的內容儲存到檔案FILENAME 中。

  4. :r FILENAME 可提取磁碟檔案 FILENAME 並將其插入到當前檔案的游標位置後面。

  5. :r !dir 可以讀取 dir 命令的輸出並將其放置到當前檔案的游標位置後面。

第六講
  1. 輸入小寫的 o 可以在游標下方開啟新的一行並進入插入模式。輸入大寫的 O 可以在游標上方開啟新的一行。

  2. 輸入小寫的 a 可以在游標所在位置之後插入文字。輸入大寫的 A 可以在游標所在行的行末之後插入文字。

  3. e 命令可以使游標移動到單詞末尾。

  4. 操作符 y 複製文字,p 貼上先前複製的文字。

  5. 輸入大寫的 R 將進入替換模式,直至按 鍵回到正常模式。

  6. 輸入 :set xxx 可以設定 xxx 選項。一些有用的選項如下:

    ‘ic’ ‘ignorecase’ 查詢時忽略字母大小寫

    ‘is’ ‘incsearch’ 查詢短語時顯示部分匹配

    ‘hls’ ‘hlsearch’ 高亮顯示所有的匹配短語

    選項名可以用完整版本,也可以用縮略版本。

  7. 在選項前加上 no 可以關閉選項: :set noic

第七講
  1. 輸入 :help 或者按 鍵或 鍵可以開啟幫助視窗。

  2. 輸入 :help cmd 可以找到關於 cmd 命令的幫助。

  3. 輸入 CTRL-W CTRL-W 可以使您在視窗之間跳轉。

  4. 輸入 :q 以關閉幫助視窗

  5. 您可以建立一個 vimrc 啟動指令碼檔案用來儲存您偏好的設定。

  6. 當輸入 : 命令時,按 CTRL-D 可以檢視可能的補全結果。

    按 可以使用一個補全。

幫助

在控制檯中輸入vim就可以檢視Vim的相關資訊

根據圖片所示我們可以知道,當前VIM的版本為8.0.1365,想退出需要輸入”:q”,檢視線上幫助文件可以輸入”:help”,檢視版本資訊可以輸入”:help version8”

在英文模式下輸入”:help”回車後便可以看到

在這裡有詳細的Vim教程,教你玩轉Vim。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章