linux入門系列4--vi/vim編輯器

上一篇文章「linux入門系列3--linux遠程登錄工具」講解了如何使用經常使用的工具遠程鏈接和管理linux服務器,要管理服務器必然會涉及到腳本文件的建立、編輯工做,所以在介紹命令以前,本文討論linux中編輯器相關知識。linux

1、Vi/Vim介紹

  • VI(Visual Interface),是一個文本編輯器,主要在Unix及類Unix環境中使用。
  • Vim(Vi+improved)在Vi的基礎之上進行了功能提高,至關於Vi的加強版。

全部類Unix 系統都會內建vi文本編輯器,就像window電腦上的記事本同樣,能夠對文本內容進行編輯,vi編輯器是Unix系統最初的編輯器, 容許查看文件中的行、在文件中移動、插入、編輯和替換文本 。程序員

然而因爲Unix系統是商業操做系統,國外一牛逼的程序員「 理查德·斯托曼」發起了GNU計劃(該計劃目標是建立一套徹底自由的操做系統,實現Unix系統的標準接口,所以徹底向上兼容Unix,可是能夠自由使用),在GNU項目中,程序員將vi編輯器移植到開源世界的同時對其作了改進,所以重命名爲「Vi improved」,也就是咱們說的vim。編程

ps: GNU 項目,英文全稱爲「GNU is Not Unix」,簡單的說,就是一個開發類 Unix 操做系統的項目,GNU 操做系統是由 GNU 軟件包及其第三方的免費軟件包組成,因此其最大的特色就是免費。vim

所以vim是從vi發展而來的一個具備編程能力的文本編輯器, 能夠主動的以字體顏色辨別語法的正確性,方便程序設計。 vim具備代碼補全、編譯及錯誤跳轉等方便編程的功能,在程序員中被普遍使用。服務器

有的linux發行版可能沒有安裝vim(須要時自行安裝便可),可是必定會有vi編輯器。做爲入門文章本文僅演示兩者共同的用法,編輯器有三種模式:通常模式、編輯模式、命令模式。每種模式能夠進行不一樣的操做,完成不一樣的功能。編輯器

三種模式之間能夠相互轉換。通常模式主要用於:複製、粘貼、刪除;編輯模式主要用於編輯文本;命令模式主要執行文本的保存、查找等。工具

2、通常模式

咱們平時在windos系統上編輯文件,確定會涉及到複製、粘貼、刪除等操做,而這些操做在vi中都是在通常模式下進行的。字體

通常模式是默認模式,要進入編輯模式和命令模式都須要它做爲橋樑。spa

用vi命令打開一個文件直接進入通常模式,在這個模式中能夠對文本內容進行復制、粘貼、刪除等操做。能夠經過鍵盤方向鍵控制光標移動到指定位置,也能夠經過快捷鍵控制光標位置。操作系統

1.1 複製

命令(語法) 功能描述 案例(說明)
yy 複製當前光標所在行
y*y 複製當前光標所在行開始的*行 y2y:表示從當前光標所在行開始複製2行
yw 賦值一個單詞 光標以後開始複製,包括詞尾的空格;若是想要複製整個單詞,就要把光標放到單詞首字母

1.2 粘貼

命令(語法) 功能描述 案例(說明)
p 粘貼 粘貼到當前光標的下一行(複製的行),或當前光標字符以後(複製的單詞)

1.3 刪除

命令(語法) 功能描述 案例(說明)
dd 刪除光標當前行
d*d 刪除光標當前行開始的*行 d2d:表示從當前光標所在行開始刪除2行
dw 刪除光標以後的一個單詞 光標以後開始刪除,包括詞尾空格;若是要刪除整個單詞,光標放到單詞首字母,相似yw
x 刪除光標以後的一個字符 至關於del
X 刪除光標以前的一個字符 至關於Backspace

1.4 撤銷

命令(語法) 功能描述 案例(說明)
u 撤銷

1.5 定位

上邊的複製、粘貼、刪除,到目前咱們都是經過方向鍵來控制鼠標的位置,可是這樣效率過低,經過下邊的定位命令能夠快速進行定位。在通常模式下定位光標,進入編輯模式進行編輯,這樣能夠大大提升效率。

命令(語法) 功能描述 案例(說明)
shift+^ 行首
shift+$ 行尾
1+shift+g 頁頭 先按1再一塊兒按shift和g組合鍵
shift+g 頁尾
*+shift+g 任意行 先按數字*,在一塊兒按shift和g組合鍵,調試程序時很是有用

3、編輯模式

在通常模式下,經過以下i、a、o、r命令進入編輯模式,對文檔內容進行編輯。命令的區別在於進入編輯模式後光標插入點不一樣。

命令 功能描述
i 當前光標前
I 當前光標所在行行首
a 當前光標後
A 當前光標所在行行尾
o 當前光標下一行,新開一行
O 當前光標上一行,新開一行
r 當前光標以後,新輸入會替換一個字符
R 替換當前光標以後的多個字符

4、命令模式

在通常模式下,能夠經過如下三個命令:「:」、「/」、「?」進入底行命令模式完成文件保存、內容查找及字符替換功能。執行完命令能夠經過ESC返回通常模式。

3.1 文件保存

  • 語法格式

    :[選項]+回車

​ 選項分爲w、q、!能夠相互組合使用。

​ w:保存

​ q:退出

​ !:強制執行

  • 案例

    :w 保存

    :w filename 文件另存爲filename

    :wq 保存並退出

    :wq! 強制保存並退出

    :wq! filename 文件另存爲filename並退出編輯器

3.2 查找內容

查找命令主要有2個:/或?兩者功能一致,只記住一個便可

  • 語法格式

/要查找的詞+回車

?要查找的詞+回車

若是用第一個語法/進行查詢,則按n鍵向下查找下一個,shift+n向上查找下一個

第二個語法則相反,n向上查找上一個,shift+n向下查找下一個

  • 案例

    /heimatengyun 在當前文檔中查找heimatengyun字符串

    等價於

    ?heimatengyun

3.3 替換內容

能夠經過以下命令替換當前文檔裏的內容

  • 語法格式

:[範圍]s/要被替換的內容/新內容/[c,e,g,i]+回車

範圍:1,5表示從第一行到第五行。1,$表示從第一行到最後一行,等價於%。%表示當前編輯的文章。

可組合選項:c表示confirm,每次替換前詢問;e表示不顯示error;g表示globe不詢問整行替換;i表示ignore不區分大小寫;I表示大小寫敏感

  • 案例

​ 1,3s/you/YOU 在當前文檔的1至3行搜索you並替換爲YOU。注意不是單詞替換,只要匹配就會替換,好比若是第二行存在your這個單詞,則會被替換爲YOUr

​ 1,3s/you/YOU/c 替換前會詢問是否要替換

​ s/e/E/g 替換當前行全部e爲E。假設當前光標所在行內容爲where are you from替換後變爲hErE arE you from

3.4 顯示行號

​ :set nu 顯示行號

​ :set nonu 關閉行號

以上爲vi編輯器基本的使用命令,多敲幾回天然就記住了。至此咱們已經學會使用vi編輯器,能夠建立和管理各類文件了。下一篇文章將講解linux經常使用的命令,學會命令後就能夠製做各類腳本完成各類工做任務了。

相關文章
相關標籤/搜索