在linux中,對檔案內容的編輯莫過去vi命令了,它是每個發布版本中的標配。並且功能強大。
在vi中一共有三種模式,一般模式(命令參照),編輯模式(命令參照)與命令模式(命令參照)。
◇一般模式:當我們用vi開啟乙個文件的時候,就是一般模式了,這個時候,我們可以刪除字元,刪除行,也可以用上下左右來操作游標。也可以複製貼上。
◇編輯模式:當在一般模式下按下【i, i, o, o, a, a, r, r】的時候,就進入編輯模式了。這個時候螢幕的最下方會出現【-- 插入 --】【-- 替換 --】(語言根據系統的設定可能會不一樣)的提示資訊。這個時候就可以編輯文字的內容了。按下[esc]鍵即可以退出編輯模式。
◇命令模式:在一般模式下按下【:/?】三個字元中的任意乙個,游標就會移動到最後一行,這就進入了命令模式。可以進行一些儲存,退出,搜尋,替換等等功能。
三種關係可以用下圖來表示:
(來自鳥哥的私房菜)
接下來就是體驗一番吧。
通過 vi 檔名 的方式我們可以進入編輯該檔案。如果該檔案存在,則開啟編輯,如果不存在則新建乙個。
進入後,在最後一行提示,新檔案表示,這是在新建乙個檔案。這個時候,我們就是處於一般模式。
但是由於檔案中暫時還沒有內容,所以,我們還不能移動游標到別的地方,或者刪除行或者刪除字元。
那,我們就先按[i],進入編輯模式。
可以看到,進入編輯模式後,最下面一行顯示了[-- 插入 --]的提示資訊。接下來就輸入資訊。(按回車鍵可以換行)。
輸入完成之後,我們按[esc]鍵回到一般模式。
這樣我們就回到了一般模式,我們可以通過上下左右來移動游標,也可以試著用[x]鍵來刪除字元。或者雙擊[d]鍵來刪除行。
編輯完之後,接下來我們就應該要儲存退出了。
這個時候我們就需要進入到命令模式,使用[:wq]來進入命令模式,並儲存退出。
然後,回車,我們就可以儲存退出了。
退出之後,我們用[ll]命令來檢視,發現改文件已經建立起來了。
經過上面的一番體驗之後,相信你是不是對vi的編輯已經略懂了呢,
是不是迫切的想知道還有什麼命令呢?
別急,聽我慢慢道來。
◇一般模式
[h]或[←]:游標向左移動乙個字元
[j]或[↓]:游標向下移動乙個字元
[k]或[↑]:游標向上移動乙個字元
[l]或[→]:游標向右移動乙個字元
但是乙個乙個的移動貌似有點效率非常的低,這時候我們可以使用【數字加命令】的方式來移動。
比如:30j:向下移動30行 10→:向右移動10個字元
[ctrl] + [f] :螢幕向下移動一頁,相當於[page down]
[ctrl] + [b]:螢幕上移動一頁,相當於[page up]
[ctrl] + [d]:螢幕向下移動半頁
[ctrl] + [u]:螢幕向上移動半頁
n:n代表數字,按下數字後,在按空格,游標會向右移動到這一行的n個字元。
0或[home]:這個是數字0,表示移動到這一行的最前面字元處。
$或[end]:移動到這一行的最後面字元處。
[h]:游標移動到這個螢幕的最上方那一行的第乙個字元。
[m]:游標移動到這個螢幕的**那一行的第乙個字元
[l]:游標移動到這個螢幕的最下方那一行的第乙個字元。
[g]:移動游標到這個檔案的最後一行。
[ng]:你表示數字,移動到這個文件的第n行
[gg]:移動到這個當好的第一行,相當於[1g]
[n]:n表示數字,游標向下移動n行
□檢索與替換命令
[/word]:向游標之下尋找乙個名稱為world的字串
[?word]:向游標智商尋找乙個名稱為word的字串
[:n1,n2s/word1/word2/g]:n1和n2為兩個數字,表示在n1和n2行之間尋找word1這個字串,並將該字串替換為word2
[:1,$s/word1/word2/g]:從第一行到最後一行尋找word1字串,並替換為word2
[:1,$s/word1/word2/gc]:從第一行到最後一行尋找word1字串,並替換為word2,且在替換之前顯示提示字元,讓使用者來確認是否要替換。
□刪除複製命令
[x,x]:在一行當中,[x]表示向後刪除乙個字元,相當於[del],[x]表示向前刪除乙個字元,相當於[backspace]
[nx]:n為數字,表示向後連續刪除n個字元
[nx]:n為數字,表示向前連續刪除n個字元
[dd]:刪除游標所在的那一整行。
[ndd]:n為數字,刪除游標所在的行向下n行
[d1g]:刪除游標所在的行到第一行的所有資料(1g表示第一行)
[dg]:刪除游標所在行到最後一行的所有資料
[d$]:刪除游標所在處到改行的最後乙個字元
[d0]:這個是數字0,刪除游標所在處到該行的最前面乙個字元
[yy]:複製游標所在的那一行
[nyy]:n為數字。複製游標所在行向下n行
[y1g]:複製游標所在行到第一行的所有資料
[yg]:複製游標所在行到最後一行的所有資料
[y0]:複製游標所在字元到行首的所有資料
[y$]:複製游標所在字元到行尾的所有資料
[c]:重複刪除多個資料,例如鄉下刪除10行[10cj]
[u]:復原前乙個動作
[.]:這是個小數點,表示重複前乙個動作
◇編輯模式
在一般模式下按下面這些鍵就可以進入編輯模式。
[i,i]:進入插入模式,[i]為從游標所在處插入。[i]為在目前所在行的第乙個非空格處開始插入
[r,r]:進入替換模式,[r]表示取代游標所在的那乙個字元一次,[r]會一直取代游標所在的文字,知道按下[esc]為止。
◇命令模式
[:w]:儲存,不退出
[:w!]:強制儲存,即使許可權是唯讀的時候,也寫入
[:q]:退出vi
[:q!]:強制退出,比如有時我們修改了文件,又不想儲存
[:wq]:儲存並退出,[:wq!]表示強制儲存並退出
[zz]:表似乎檔案沒有變動,則不儲存離開,變動了,則儲存離開
[:n1,n2 w filename]:將n1到n2的內容儲存到filename這個檔案
[:! command]:暫時離開vi到指令列模式下執行command的顯示結果。例如:[:! ls /home] 即可在vi中檢視/home地下 ls的輸出結果
[:set nu]:顯示行號
[:set nonu]:取消顯示行號
vi常用命令
1.在進行編寫 時,在格式對起上很有用 第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行 第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編寫上很有用 set autoindent set smartindent c語言對齊方式,最好用它 set cindent 2....
vi常用命令
一 vi的三種模式 3 命令列模式 從一般模式按下 時進入命令列模式。注意 編輯模式和命令列模式不能互相切換,只能通過一般模式切換。二 三種模式常用按鍵說明 1 一般模式下的可用按鈕 最常用的 移動游標 移動游標 上下左右鍵 螢幕向上翻頁 pageup或者ctrl b 螢幕向下翻頁 pagedown...
vi常用命令
a 一般模式 vi 處理檔案時,一進入該檔案,就是一般模式了.b 編輯模式 在一般模式下可以進行刪除,複製,貼上等操作,卻無法進行編輯操作。等按下 i,i,o,o,a,a,r,r 等 字母之後才能進入編輯模式.通常在linux中,按下上述字母時,左下方會出現 insert 或者 replace 字樣...