歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 快速學會 Vi編輯器

快速學會 Vi編輯器

日期:2017/2/28 14:44:40   编辑:Linux教程

配置文件和shell腳本文件等都是文本文件,對它們都需要使用文本編輯器進行編輯處理。在Linux系統中有許多種文本編輯器,其中既有字符界面的如:vi,emacs等,也有圖形界面的如:“附件”菜單項下的“文本編輯器(gedit)”等,用戶可以根據自己的喜好選擇使用,但是對於學習使用Linux系統的用戶一般都會學校vi編輯器的用法。

編輯器vi可以編輯各種無格式的文本文件,尤其便於編輯源程序。它可以實現輸入、 查找、替換、刪除和塊操作等許多基本的文本操作功能,而且用戶可以根據自己的需要對其進行定制,以符合自己的習慣。在vim中,還有一些增強的功能,如撤銷多行輸入、參數高亮顯示、命令行編輯和支持圖形方式vi的多窗口、多緩沖區等。

由於vi是交互式的文本編輯器,它沒有菜單,只有命令,而且命令非常多,所有很多初學者使用不習慣,但是在掌握了它的使用訣竅後很快會喜愛上它的。在vi中有3種工作模式:文本編輯模式、命令模式、行編輯模式。其中,文本編輯模式要工作在插入狀態下,而行編輯模式實際上也是命令模式的一種,只不過它是需要在命令行模式下先輸入“:”後在輸入命令而已。用戶可以根據需要,通過一些命令在這三中模

式之間自由地切換,而大多數命令就是該操作的英文單詞的第一個字母。

另外,vi只是一個文本編輯器,它不是排版軟件,所以它不能像word那樣可以對文檔中的字體、格式和段落等屬性進行編輯,這是由它的用途而決定的。在vi中對文本所做的修改將被放到內存緩沖區中,只要用戶不輸入存盤命令,那麼隨時都可以放棄這些修改。一般情況下,文本在存盤時vi不會自動保存備份文件,但是在打開文件時Linux系統會在磁盤相關目錄下自動創建擴展名為.swp的文件,這個文件也稱為交換

文件。如果由於某些原因,如編輯器崩潰、系統斷電或非法關機等操作時,該文件就作為備份文件使用,用戶在下次啟動系統時會在自己的主目錄下收到相關郵件,由用戶決定是否通過命令來恢復文件。

推薦閱讀:

  • 強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
  • 在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm
  • Vim 7.4a 發布,全新更快的正則表達式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm
  • CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
  • Vim技巧分享:C語言設置 http://www.linuxidc.com/Linux/2012-12/77124.htm
  • Ubuntu中設置Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm

基本命令

在vi編輯器的命令模式下,命令的組成格式是:nnc。其中,字符c是命令,nn是整數值,它表示該命令將重復執行nn次,如果不給出重復次數的nn值,則命令將只執行一次。例如,在命令模式下按j鍵表示光標向下移動1行,而在命令模式下輸入10j則表示光標將向下移動10行。顯然,這樣比單純移動鍵盤光標鍵效率要高。

1、定位光標

由於文件內容的插入、刪除和替換等操作都是針對光標所在的字符或行而言的,因此應該熟悉光標移動的命令和方法,並充分利用命令重復執行的次數。

w 將光標移動到下1個單詞的第1個字符。

W 將光標移動到後面第2個單詞的第1個字符

e或E 將光標移動到下1個單詞的最後1個字符

b或B 將光標移動到前1個單詞的第1個字符

/string 向後移動光標,並使之停留在字符串string的第一個字符處

?string 向前移動光標,並使之停留在字符串string的第一個字符處

$ 將光標移動到本行的最後1個字符上

Ctrl+b 將光標移動到本行的第1個字符上

其中,w或W命令的差別只是在於非空格分割字符上,w命令視非空格分隔字符為單詞,而W命令則忽略它。當使用/string或?string命令時,除了光標移動到指定的位置外,還使文件中所有符合字符串string的地方高亮顯。

2、插入或添加

無論是插入還是添加,都是向所編輯的文件中加入新的內容,但由於插入可以在光標前或當前行前,添加可以在光標後或當前行後,所以vi提供了多種插入和添加命令:

i 在光標前插入字符

I 在當前行的行頭插入字符

a 在光標後添加字符

A 在當前行的行尾添加字符

o 在當前行後添加新行

O 在當前行前添加新行

由於這6個命令都會使vi編輯器從命令模式切換到文本編輯模式下的插入狀態,所以當插入或添加完成後,必須按ESC鍵返回到命令模式下。

3、刪除

刪除文本文件中的內容,可以按照字符、單詞和行為單位進行刪除,因此,也有多個刪除命令。刪除命令執行後將使vi繼續處於命令模式下。

x 刪除光標所在位置的字符,且光標移動到本行的下1個字符

X 刪除光標所在位置的前一個字符,且光標停留在原來的字符上

D 刪除光標所在位置到行尾的所有字符,且光標停留在本行的行尾

按2次d 刪除光標所在的行,且光標移動到下1行

先d後w 刪除光標所在位置到下一個單詞的第一個字符間的所有字符,且

光標移動到下一個單詞的第一個字符。

4、查找

在文件中查找字符串時,可以向前查找也可以向後查找,因此有兩種命令,其格式為:

/expression

?expression

其中,斜槓(/)表示從當前位置開始向後查找,問號(?)表示從當前位置開始向前查找,expression是正則表達式。如果正則表達式是字符串且包含:. ^ $ / ~等特殊字符(元字符),則查找包含這些特殊字符的字符串時,一定要在它們每一個前面加上反斜槓(\)字符表示轉義。

接下來請看第2頁精彩內容: http://www.linuxidc.com/Linux/2013-08/88586p2.htm

Copyright © Linux教程網 All Rights Reserved