Linux中,很多系統的管理和功能的配置都需要修改系統配置檔案,而幾乎所有的配置檔案都是文本檔案,當需要對Linux系統進行管理和設定時,管理者就要使用文本編輯器對相應的配置檔案進行修改,熟練使用文本編輯器是很有必要的
文本編輯器分類:
行編輯器和全螢幕編輯器:
行編輯器比較古老,現在已經消失,以行為機關進行文本編輯,即使發現上一行有錯誤也不能傳回修改
全螢幕編輯器:可以在螢幕上編輯檔案中所有行的文本内容,本書主講的Vi就是
字元界面編輯器和圖形界面編輯器
字元界面産生時間較長,早期的Unix就是工作在字元界面下,占用資源小,運作效率高,使用于各種場合,現在仍然是最主要的編輯器。
圖形界面編輯器是在圖形界面下運作的文本編輯程式,工作在X-Window環境中。使用滑鼠進行操作,簡單易學,減少了編輯難度
文本編輯器介紹:
Vi:發明者是bill joy,是最常用的字元界面文本編輯器,RHEL4預設支援Vim,是vi的加強版本,也成為vi。一直以來Unix把vi作為預設的編輯器,通過長時間的發展,現在的vi不僅是一個編輯器,還是一個功能強大的編輯平台,可以完成包括程式編寫在内的各種文本編輯任務
Emacs:GNU軟體,專為編輯程式源代碼編寫的,支援常用程式設計語言的編寫
Nano:較現代的字元界面的文本編輯器,界面較vi友好,在底部有幫助菜單
Gedit:Linux中圖形環境的文本編輯器
2、vi文本編輯器
Vi的模式:vi編輯器獨有
A 指令模式:vi編輯器啟動後預設進入的模式,此模式下所有的操作(組合鍵和輸入字元)被當作指令來處理,可以從指令模式進入到其他兩種模式
B 輸入模式:處于文本的編輯狀态,可以對檔案進行各種編輯操作,标志是在左下角有“—INSERT--”标志。按“ESC”進入到指令模式
C 末行模式:vi編輯器中的一些複雜操作,需要在末行模式下完成。在指令模式下輸入“:”後進入末行模式,出現在目前編輯螢幕的最底端,輸入各種末行操作指令,按“ESC”進入到指令模式
Vi編輯器的基本使用
Vi編輯器啟動與退出,這裡vi=vim(指令别名)
#vi filename 直接啟動vi編輯器并進入檔案發filename的編輯狀态。Filename存在則進行編輯,filename不存在則建立此檔案并進入編輯狀态
退出vi編輯環境
末行模式指令 :q! 不儲存目前的編輯内容而退出
檔案操作:
打開新檔案:
在vi編輯環境中打開新檔案
使用末行指令 :e filename
讀取檔案内容到目前檔案
末行模式下使用指令 :r filename
儲存檔案:
在vi編輯器中儲存檔案:
使用末行指令 :w filename
如果vi編輯器中所編輯的檔案已經命名,可以直接使用w指令儲存
另存為:
末行模式下使用指令 :w filename1
退出vi編輯器
:q 使用此指令檔案必須已經儲存
:wq 儲存檔案同時退出編輯器(使用的最多)
:q! 不儲存退出
光标移動:指令模式下
除了上下左右方向鍵之外,還有h、j、k、l四個鍵分别代表左下上右
^(shift+6)快速移動到本行行首字元,$(shift+4)快讀移動到本行行尾字元
顯示行号是末行指令 :set nu
取消行号是末行指令 :set nonu
行間快速跳轉是在指令模式下
1G 到檔案的首行
G 到檔案末行
#G 跳轉到第#行
編輯操作:
進入輸入模式:在指令模式下
i 在目前光标處進入插入狀态
a 在目前光标後進入插入狀态
o 在目前行的下一樣插入一行,處于插入狀态
I 光标移動到目前行首,處于插入狀态
A 光标移動到目前行尾,處于插入狀态
O 在目前行上一行插入一行,處于插入狀态
輸入模式的操作:
上下左右方向鍵移動光标
使用home和end快速定位光标到行首和行尾
使用page up和page down進行文本翻頁
使用backspace鍵删除光标左側字元
使用delete鍵删除光标位置的字元
删除操作:
指令模式下
x 删除光标處字元
dd 删除光标所在行
nx 删除目前光标處向右3個字元
ndd 删除目前行
撤銷操作:
u 取消最近一次操作,可多次使用u指令恢複已進行的多步操作
U 取消目前行進行的所有操作
Ctrl+r 對u指令撤銷的操作進行恢複
複制操作:
yy:複制目前行的内容到緩存區
nyy:複制目前行及以下n-1行到緩存區
末行模式下 :m,ny 對檔案中第m行到第n行之間的文本進行複制
粘貼操作:
在指令模式下輸入字母p
查找和替換:
自上而下:在末行模式下輸入 :/word
輸入n,代表查找下一個比對的字元
輸入N,代表查找上一個比對的字元
自下而上:在末行模式下輸入 :?word
N和n用法相同
符合條件的字元會高亮顯示,取消高亮顯示,在末行模式下輸入:nohl
替換操作:
行内替換:
末行指令:s/old/new,old是被替換的字元串,new是替換成的字元串。值替換第一個符合條件的字元串
末行指令:s/old/new/g,替換一行裡面所有符合條件的字元串
末行指令:n,ms/old/new/g,區域替換
末行指令:%s/old/new/g,整篇文檔替換
末行指令:%s/old/new/gc,整篇文檔替換,替換時給于确認
多檔案操作:
指令行下: vi filename1 filename2 filename3 同時打開多個檔案
使用末行模式下指令:args
末行指令:next和prev 分别是編輯下一個檔案和上一個檔案
末行指令:first和last 是編輯第一個和最後一個檔案
打開檔案的使用使用選項-o 是上下分屏編輯;使用-O 是左右分屏編輯
使用組合鍵: CTRL+W+W在螢幕之間進行滑鼠切換