vi編輯器的使用入門

2021-06-22 05:29:17 字數 3579 閱讀 6078

說了這麼多,其實還少乙個和word,記事本一樣的編輯器,在各個作業系統都有編輯器,在linux裡也有,比如gedit編輯器,很方便。在終端裡直接敲擊gedit即可開啟這個編輯器。儲存到桌面,名字為geditfiles,再終端裡使用ls命令檢視:

dashuai@ubuntu:~$ cd desktop

dashuai@ubuntu:~/desktop$ ls

geditfiles

dashuai@ubuntu:~/desktop$

gedit就是乙個全螢幕的編輯器!!還有乙個編輯器叫做kate編輯器,可以在裡面直接敲命令等,圖形介面的東東,和windows下的沒什麼區別,還有其他的一些。

注意:如果我們通過遠端登入進入linux作業系統的話,是沒有圖形介面的,只有字元介面,這幾個都用不了,那麼可以使用字元編輯器vim(在unix裡叫vi)。

執行乙個vim,視覺化的編輯器

dashuai@ubuntu:~$ vi
vi是一種全螢幕的文字編輯器,游標可以全螢幕的跑,乙個純字元介面的,遠端終端可以使用。

vi有兩種狀態,初始的時候是命令狀態,還有一種狀態是插入狀態。

而命令狀態下,會分出一種模式叫底行模式。底行模式屬於命令狀態的。

在命令狀態下,輸入的內容都被當作命令看待,相反,插入狀態下,都把內容當作文字!需要哪種狀態,就進入即可。

如何退出和 儲存?

在命令狀態下使用冒號+q+嘆號(:q!)這三個按鍵的組合,在組合中,嘆號!表示強制執行的意思,因為這個命令是不儲存就強制退出的。沒有儲存就退,那就是強制啊!

使用:wq是儲存然後退出

:x也是儲存退出

使用大寫的zz也是儲存退出(不提倡使用)

使用:w 檔案名字  是只存為新檔案不退出

注意:在插入狀態下不管用,因為全部當作文書處理了,必須按esc之後,先進入命令狀態下再進行命令的操作才能用。

如圖這種輸入冒號就在底行的命令狀態也叫底行模式。

注意:以後在linux下寫c和c++程式幾乎都用這個來寫了!

如何移動游標呢?

vi提供了一些鍵盤操作游標的功能。(在命令狀態下了)

比如右手上經常按住的hjkl四個鍵,hl是左右,j是往下面移動,k是上面移動。當然,直接使用游標移動也可。

移動到行首:使用命令數字0,或者直接按home鍵

移動到行尾:使用命令shilft+4即可,或者$符號,或者按end鍵,但是一些unix系統不支援,所以還是命令比較好。

移動到螢幕的行首:使用字母h(head,注意區分大小寫!!!!!!!大寫h,小寫h是向左移動游標)。

移動到螢幕的末尾:使用字母 l(last,同樣是大寫l,小寫l是向右移動游標)

移動到螢幕中間使用字母:m(大寫字母m,middle)

翻頁 ctrl+f  (forward前進)

後退 ctrl+b (backward回退)

想要到某一行去:用冒號: 加行號,或者行號+g

w移動到下乙個單詞的開頭

b移動到上乙個單詞的開頭

e移動到下乙個單詞的末尾

注意:這些命令都是在命令狀態下操作,而鍵盤的按鍵是可以在插入狀態下使用。

插入i   a  o 或者insert按鍵

i是正規的從命令模式進入插入模式,是在游標位置前面去插入(

insert)

a原來游標位置後面插入(

附加;新增;貼上;籤(名))

o在游標位置下面重啟一行,不會截斷原來的行

iao都是小寫的,而以下是大寫的

iao:

i 在行首插入

a 在行尾追加插入

o 在游標位置上面插入空行,注意小寫的o是在游標位置下面插入一行。

注意:insert是命令,插入,覆蓋狀態之間的轉換

顯示和取消行號:

: set nu顯示行號在左邊

: set nonu取消行號

刪除:小寫的x 是刪除乙個字元(游標位置的)

刪除一串;使用 n+x 刪除n個字元,這是給x命令指定刪除的字元數。但是一般都是在本行刪除,多了不會到下一行,以免誤操作。

dw刪除到下乙個單詞的開頭(deleteword)

de刪除到本單詞的結尾(delete end)

db刪除到本單詞的開頭(deletebegin)

dd刪除一整行 3dd刪除3行

刪除從游標位置到行尾d$

刪除到行首d0

:9,16刪除第9到16行

刪除錯了,我們還可以恢復:

小寫的u 命令(undo撤銷,按照系統不同,有的支援恢復次數也不一樣,看情況,但是都至少支援恢復一次)

小寫p是刪除之後(東西在vi的剪貼簿裡)再貼上到vi編輯器,4p重複插入4次,貼上在游標位置之後

注意:大寫的p貼上在游標位置之前

小寫的p在後面貼上

有些類似剪下

移動(move的縮寫m)

:8,11m18從第8行到11行移動到第18行後面

dd剪貼(刪除)一行,3dd剪貼3行,p粘帖

複製(copy的縮寫co)

:8,11co18

複製乙個字元使用yl,相應的3yl 複製3個字元,貼上使用p

yw(word)複製乙個單詞(帶末尾的空格)

ye不帶末尾的空格!

yy複製一行,而複製3行是3yy

替換(replace的縮寫r)

r+替換內容,4r替換4個字元

s把乙個字元換成多個字元

cw(change word)替換整個單詞  cw ce

cc替換一整行  c0  c$都一樣,就這些。

:5,8s/wf/妻子/g  5到8行把所有的wf替換成妻子,g表示全部

全文替換:先用

ctrl+g

得到這個檔案多少行

:1,38s/wf/妻子/g

也可以:1,$s/wf/妻子/g  $表示最後一行

:%s/wf/妻子/g  %表示從第乙個到最後一行

~可以把大寫換成小寫,小寫換成大寫

查詢:/後面開始找和?前面開始找

/a  查詢當前游標所在位置後面的a

?q  查詢當前游標所在位置前面的q字元,也就是往回找。

注意:游標當前停留在**,就是找到了**,如果繼續找,則按n(next)即可繼續往下找。到結尾則提示你查詢到結尾了。

開始肯定不習慣,也不需要理解,不過用的時間和次數多了,自然就習慣和熟練了。

程式設計無它,手熟爾,也就是全身心去不斷的重複和大量的實踐,做到這點足以超過99%的程式設計師。

vi編輯器的使用入門

說了這麼多,其實還少乙個和word,記事本一樣的編輯器,在各個作業系統都有編輯器,在linux裡也有,比如gedit編輯器,很方便。在終端裡直接敲擊gedit即可開啟這個編輯器。儲存到桌面,名字為geditfiles,再終端裡使用ls命令檢視 dashuai ubuntu cd desktop da...

Vi編輯器入門

插入模式 insert mode 鍵入i,意為insert 開啟檔案vi file name vi是呼叫編輯器,編輯新舊檔案所用的命令 退出檔案 q 或 wq 或 zz 或 q 其它雜項命令 解釋命令 顯示vim安裝目錄 echo vimruntime 顯示行號 set nu 設定語法 set sy...

Vi編輯器入門

vi編輯器是所有unix及linux系統下標準的編輯器,類似於windows上的記事本!1 vi的基本概念 基本上vi可以分為三種狀態,分別是命令模式 command mode 插入模式 insert mode 和底行模式 last line mode 各模式的功能區分如下 1 命令列模式comma...