Linux學習日記之-Linux基礎指令小結(中)
---vi編輯器
說道指令,就不得不提這個特殊的指令“vi”它不光是指令,還是一個linux下的編輯器。由于時間關系,這裡不在舉例說明,将在以後配置網絡服務時介紹一些vi的實際應用。
vi指令是linux下的全螢幕文本編輯,vi編輯器提供了豐富的編輯功能。這個編輯器十分簡陋,對于初學者很不友好。但是在linux中vi編輯器作用非常大,以後尤其我們在配置各種伺服器時修改配置檔案時十分有用。
vi編輯器有3種模式:指令模式、輸入模式、末行模式。掌握這三種模式十分重要:
指令模式:vi啟動後預設進入的是指令模式,從這個模式使用指令可以切換到另外兩種模式,同時無論在任何模式下隻要按一下[Esc]鍵都可以傳回指令模式。在指令模式中輸入字幕“i”就可以進入vi的輸入模式編輯檔案。
輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最後一行顯示一個“<b>--INSERT--</b>”标志着vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要儲存檔案,這時我們需要先傳回指令模式,在進入末行模式儲存。
末行模式:在指令模式輸入“<b>:</b>”即可進入該模式,在末行模式中有好多好用的指令。
<b> 1.vi</b><b>的啟動和退出</b>
直接輸入指令vi不指定檔案名,由于這是一個沒有命名的空檔案,顯示了vi的版本資訊。
vim是vi編輯器的改進版本,在vi編輯器的基礎上擴充了很多實用的功能。大多數linux/unix版本都使用vim代替了原有的vi編輯器。
或者直接使用vi打開檔案,如果檔案存在打開存在檔案;如果不存在的話,将以我們指定的參數作為檔案名。
輸入<b>q</b><b>!是強制退出</b><b>,</b>同時沒有儲存目前檔案内容。如果檔案沒有進行修改,或者已經儲存完畢也可以使用<b>q</b><b>退出</b><b>。</b><b>儲存退出</b><b>使用</b><b>wq</b><b>,</b><b>儲存強制退出</b><b>wq</b><b>!</b>
2.儲存檔案
如果檔案已經有檔案名,我們在末行模式直接輸入w儲存,如果沒有檔案名,輸入w 檔案名進行儲存。例如:w test其中test是檔案名。
那麼在vi中也可以另存為,就是在儲存完以後,我們再使用w 另存為檔案名。
3.光标的移動
在指令模式中可以使用指令進行以下操作。
光标方向的移動,除了可以使用方向鍵,還可以使用以下指令
向上移動光标:k
向左移動光标:h 向右移動光标:l
向下移動光标:j
翻頁指令
Ctrl+F向前翻整頁 Ctrl+U向前翻半頁
Ctrl+B向後翻整頁 Ctrl+D向後翻半頁
行内快數跳轉
^移動到本行行首
$移動到本行行尾
顯示行号和取消行号(末行模式使用)
set nu顯示行号
set nonu取消行号
在指令模式下,使用以下指令可以快速的在行間跳轉
1G跳轉到檔案首行
G跳轉到尾行
#G跳轉到檔案的#行
4.編輯操作
進入輸入模式指令
i插入指令 a附加指令 o打開指令 c修改指令
r取代指令 s替換指令 Esc退出指令
輸入模式的操作
Home光标到行首
End 光标到行尾
Page Up和Page Down上下翻頁
Delect删除光标位置的字元
删除操作(指令模式使用)
x删除光标處的單個字元
dd删除光标所在行
dw删除目前字元到單詞尾包括空格的所有字元
#x例如3x删除光标處向右的三個字元
#dd例如3dd從目前行開始向下删除三行文本
撤銷操作
u指令取消最近一次的操作,可以使用多次來恢複原有的操作
U取消所有操作
Ctrl+R可以恢複對使用u指令的操作
複制操作
yy指令複制目前整行的内容到vi緩沖區
yw複制目前光标所在位置到單詞尾字元的内容到vi緩存區,相當于複制一個單詞
y$複制光标所在位置到行尾内容到緩存區
y^複制光标所在位置到行首内容到緩存區
#yy例如:5yy就是複制5行
#yw例如:2yw就是複制兩個單詞
如果要複制第m行到第n行之間的内容,可以在末行模式中輸入m,ny例如:3,5y複制第三行到第五行内容到緩存區
5.查找和替換
vi的查找和替換功能主要在末行模式完成:
至上而下的查找
/ 要查找的字元竄,其中/代表從光标所在位置起開始查找,例如:/ work
至下而上的查找
?要查找的字元竄 例如:/ work
替換
:s/old/new用new替換行中首次出現的old
: s/old/new/g 用new替換行中所有出現的old
:#,# s/old/new/g用new替換從第#行到第#行中出現的old
:% s/old/new/g用new替換整篇中出現的old
如果替換的範圍較大時,在所有的指令尾加一個c指令,強制每個替換需要使用者進行确認,例如:s/old/new/c 或s/old/new/gc
6恢複檔案
vi在編輯某一個檔案時,會生成一個臨時檔案,這個檔案以 . 開頭并以 .swp結尾。正常退出該檔案自動删除,如果意外退出例如忽然斷電,該檔案不會删除,我們在下次編輯時可以選擇一下指令處理:
O隻讀打開,不改變檔案内容
E繼續編輯檔案,不恢複.swp檔案儲存的内容
R将恢複上次編輯以後未儲存檔案内容
Q退出vi
D删除.swp檔案
或者使用vi -r 檔案名來恢複未儲存的内容
vi指令大緻給大家介紹這些,其實它的功能很強大的,我們在日常實際使用過程中不斷積累指令的使用方法,相信大家會很快掌握這個指令的。
本文轉自yjlsy 51CTO部落格,原文連結:http://blog.51cto.com/baidu/47068,如需轉載請自行聯系原作者