vi文字處理

vi共分爲3種模式:

1). 一般模式

2). 編輯模式

3).  命令行命令模式

 

 

命令行的命令

一般模式:移動光標的方法

h或向左方向鍵(←)

光標向左移動一個字符

j或向下方向鍵(↓)

光標向下移動一個字符

k或向上方向鍵(↑)

光標向上移動一個字符

或向右方向鍵(→)

光標向右移動一個字符

number+*

移動number個*標示的方向

[Ctrl] + [f]

屏幕“向下”移動一頁,相當於 [Page Down] 按鍵(常用)

[Ctrl] + [b]

屏幕“向上”移動一頁,相當於 [Page Up] 按鍵(常用)

[Ctrl] + [d]

屏幕“向下”移動半頁

[Ctrl] + [u]

屏幕“向上”移動半頁

+

光標移動到非空格符的下一行

-

光標移動到非空格符的上一行

n <space>

n表示“數字”,例如20。按下數字後再按空格鍵,光標會向右移動這一行的n個字符。例如20 <space> 則光標會向後面移動20個字符距離

0

這是數字“0”:移動到這一行的最前面字符處(常用)

$

移動到這一行的最後面字符處(常用)

H

光標移動到這個屏幕的最上方那一行

M

光標移動到這個屏幕的中央那一行

L

光標移動到這個屏幕的最下方那一行

G

移動到這個文件的最後一行(常用)

nG

n爲數字。移動到這個文件的第n行。例如20G則會移動到這個文件的第20行(可配合 :set nu)

gg

移動到這個文件的第一行,相當於1G(常用)

n <Enter>

n爲數字。光標向下移動n行(常用)

 

 

一般模式:搜索與替換

/word

從光標位置開始,向下尋找一個名爲word的字符串。例如要在文件內搜索vbird這個字符串,就輸入 /vbird即可(常用)

?word

從光標位置開始,向上尋找一個名爲word的字符串

n

n是英文按鍵。表示“重複前一個搜索的動作”。舉例來說,如果剛剛執行 /vbird去向下搜索vbird字符串,則按下n後,會向下繼續搜索下一個名稱爲vbird的字符串。如果是執行 ?vbird的話,那麼按下n,則會向上繼續搜索名稱爲vbird的字符串

N

這個N是英文按鍵。與n剛好相反,爲“反向”進行前一個搜索操作。例如 /vbird後,按下N則表示“向上”搜索vbird

:n1、n2s/word1/word2/g

n1與n2爲數字。在第n1與n2行之間尋找word1這個字符串,並將該字符串替換爲word2。舉例來說,在100到200行之間搜索vbird並替換爲VBIRD則:“:100、200s/vbird/VBIRD /g”(常用)

:1、$s/word1/word2/g

從第一行到最後一行尋找word1字符串,並將該字符串替換爲word2(常用)

:1、$s/word1/word2/gc

從第一行到最後一行尋找word1字符串,並將該字符串替換爲word2。且在替換前顯示提示符給用戶確認(conform)是否需要替換(常用)

 

一般模式:刪除、複製與粘貼

x, X

在一行字中,x爲向後刪除一個字符(相當於 [Del] 按鍵),X爲向前刪除一個字符(相當於 [backspace] 即退格鍵)(常用)

nx

n爲數字,連續向後刪除n個字符。舉例來說,要連續刪除10個字符,則輸入“10x”

dd

刪除光標所在的那一整行(常用)

ndd

n爲數字。從光標位置開始,刪除向下n列,例如20dd則是刪除20列(常用)

d1G

刪除光標所在位置到第一行的所有數據

dG

刪除光標所在位置到最後一行的所有數據

d$

刪除光標所在位置到該行的最後一個字符

d0

d的後面是數字0,刪除光標所在處,到該行的最前面一個字符

yy

複製光標所在的那一行(常用)

nyy

n爲數字。複製光標所在的向下n行,例如20yy則是複製20行(常用)

y1G

複製光標所在行到第一行的所有數據

yG

複製光標所在行到最後一行的所有數據

y0

複製光標所在的那個字符到該行行首的所有數據

y$

複製光標所在的那個字符到該行行尾的所有數據

p, P

p爲將已複製的數據粘貼到光標的下一行,P則爲貼在光標上一行。舉例來說,當前光標在第20行,且已經複製了10行數據。則按下p後,那10行數據會貼在原來的20行之後,即由21行開始貼。但如果是按下P,那麼原來的第20行會被變成30行(常用)

J

將光標所在行與下一列的數據結合成同一行

c

重複刪除多個數據,例如向下刪除10行,[10cj]

u

復原前一個操作(常用)

[Ctrl]+r

重做上一個操作(常用)

.

這就是小數點。意思是重複前一個動作。如果想重複刪除、重複粘貼,按下小數點“.”就可以(常用)

 

進入編輯模式

i、I

插入:在當前光標所在處插入輸入文字,已存在的文字會向後退;其中,i爲“從當前光標所在處插入”,I爲“在當前所在行的第一個非空格符處開始插入”(常用)

a、A

a爲“從當前光標所在的下一個字符處開始插入”,A爲“從光標所在行的最後一個字符處開始插入”(常用)

o、O

這是英文字母o的大小寫。o爲“在當前光標所在的下一行處插入新的一行”;O爲“在當前光標所在處的上一行插入新的一行”(常用)

r、R

替換:r會替換光標所在的那一個字符;R會一直替換光標所在的文字,直到按下ESC鍵爲止(常用)

Esc

退出編輯模式,回到一般模式中(常用)

 

 

命令行命令模式

:w

將編輯的數據寫入硬盤文件中(常用)

:w!

若文件屬性爲“只讀”時,強制寫入該文件。不過,到底能不能寫入,與文件權限有關

:q

離開vi(常用)

:q!

若曾修改過文件,又不想存儲,使用 ! 爲強制離開不存儲文件

注意一下,那個感嘆號(!)在vi當中,常常具有“強制”的意思。

:wq

存儲後離開,若爲 :wq! 則爲強制存儲後離開(常用)

:e!

將文件還原到最原始的狀態

ZZ

若文件沒有更改,則不存儲離開,若文件已經更改,則存儲後離開

:w [filename]

將編輯的數據存儲成另一個文件(類似另存新文件)

:r [filename]

在編輯的數據中,讀入另一個文件的數據。即將“filename”這個文件內容加到光標所在行的後面

:n1、n2 w [filename]

n1到n2的內容存儲成filename文件

:! command

暫時離開vi到命令行模式下執行command的顯示結果。例如“:! ls /home”,即可在vi中查看 /home中以ls輸出的文件信息

:set nu

顯示行號,設置之後,會在每一行的前綴顯示該行的行號

:set nonu

與set nu相反,爲取消行號

 

VIM

塊選擇

v

字符選擇,會將光標經過的地方反白選擇

V

行選擇,會將光標經過的行反白選擇

[Ctrl]+v

塊選擇,可以用長方形的方式選擇數據

y

複製反白的地方

d

將反白的地方刪除掉

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章