五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

vi 編輯器的用法(超詳細的資料整理)

發(fā)布日期:2022-03-24 18:34 | 文章來源:gibhub

在UNIX下,vi是標準的文本編輯器之一。幾乎任何一部UNIX系統(tǒng)都把vi編輯器作為最最基本的“軟件”而被默認組裝在系統(tǒng)中。在PC-UNIX中,即使是選擇最小程度安裝的系統(tǒng),vi編輯器也會被默認安裝在系統(tǒng)中。

  提到vi,就不得不提一下UNIX下另一功能強大的編輯器 - Emacs 。好多人喜歡拿Emacs和vi來比較,但筆者認為,Emacs 和 vi 沒有可比性。vi的輕量級特性,使得它成為系統(tǒng)管理方面的首選工具;而Emacs的功能強大的特性,使得它成為系統(tǒng)開發(fā)方面的首選工具。如果用Emacs 來做系統(tǒng)管理,它龐大的體積和對于系統(tǒng)資源的耗費(相對于vi),勢必會影響系統(tǒng)管理的效率;然而,如果用vi來搞軟件開發(fā),它有些面向于開發(fā)的功能方面 的不完備,也勢必會影響開發(fā)的靈活性。在這里,我們的目標是建立和管理一臺服務(wù)器,所以,我們選擇使用vi編輯器來完成服務(wù)器的配置工作。

由于本站所有服務(wù)器設(shè)置相關(guān)的修改工作,都是通過vi來完成的,所以準備通過本站介紹的各種方法構(gòu)建服務(wù)器的話,請務(wù)必掌握vi的使用方法。否則將很難順利的進行。如果您使用其它編輯器(比如Emacs)可以在安裝過程中或通過yum命令在線安裝。

用法

  習慣于Microsoft Windows下GUI方式編輯器的朋友,剛剛接觸vi肯定會有“排斥反應(yīng)”的,這一點只能奉勸稍安毋躁……當你習慣于vi之后,你會發(fā)現(xiàn)它既精確又有秩序,而且重要的是它對于要編輯的對象極富針對性。



  上圖為在CUI下輸入“vi”命令后,vi被啟動的狀態(tài)。

  或者輸入一個已存在的文件的路徑,來打開一個已經(jīng)存在的文本文件。(這里以用root用戶登錄系統(tǒng),后輸入“vi /etc/X11/xorg.conf”為例。)



  上圖為用vi打開/etc/X11/xorg.conf后的狀態(tài)。光標位于左上第一個字符下滑線的位置。

  vi和其他編輯器最不一樣的地方莫過于它把編輯、處理等等的操作分離開來,形成性質(zhì)不同的3種操作模式,他們分別為“命令模式”、“插入模式”、“ex模式”。

  在Windows下通常使用的記事本等等的編輯器在打開文件的時候,光標已經(jīng)在處于輸入等待的狀態(tài),也就是說,我們打開文件時就可以對文件進行編輯。 比如,我們要輸入新的文本,或者復(fù)制一段文本,所有操作的前提,只要編輯器是被打開的狀態(tài),操作就是可能的。

  但在vi下,為了增強對將要處理的文本的針對性,文本輸入、復(fù)制等等不同的操作,是被分離開來的,比如文本輸入的模式叫做“插入模式”,在插入模式 下,我們可以用和Windows下一樣的操作方法來對文本進行輸入、編輯等等的操作,但是復(fù)制等等非編輯的操作,在插入模式下不能夠完成,而需要切換到相 應(yīng)的模式下用相應(yīng)的命令來完成。

在這里,還是首先對重要的vi的模式進行說明。

★ vi的模式(命令模式、插入模式、ex模式)

1)命令模式:

  在我們剛剛通過vi新建或打開一個已經(jīng)存在的文件時,首先默認被讀取的模式就是“命令模式”,命令模式的特征就是,在編輯器窗口左下角的位置上沒有任何的提示標語。



  在這個模式下,如果不通過相應(yīng)的命令,我們無法輸入新的文本到這個文件中。這里建議新接觸剛剛接觸vi的朋友在用vi打開一個文件時不要處于心切而亂 按鍵盤試圖輸入一些文本到文件中,因為命令模式所謂的“命令”,并不是我們在命令行提時下輸入的過程諸如“ls -> 回車”等等形式的命令。確切說vi命令模式下的命令,只是計算機鍵盤上的某個按鍵或某些按鍵的組合,當我們在命令模式下敲下鍵盤一個按鍵的時候,相應(yīng)命令就已經(jīng)被執(zhí)行。


   在這里,首先介紹移動光標的命令。通常光標的移動可以通過鍵盤右邊的方向鍵,但是由于每次移動光標,手都要大幅度的移動到鍵盤右邊,這樣使用vi是體現(xiàn)不出效率的,所以建議使用vi固有的命令(鍵)來控制光標的移動。

  光標的移動命令如下所示:

  向右移動 --> l
  向左移動 --> h
  向下移動 --> j
  向上移動 --> k

  如上所示,例如要向右移動光標8個字符的距離,只要在鍵盤上敲 l 鍵8次即可;向下移動3行的距離,只要在鍵盤上敲 j 鍵3次即可……也就是說,在vi命令模式中通過這幾個鍵(命令)來控制光標的移動。

  其次就是文本刪除的命令。在Windows下大多數(shù)編輯器在刪除文本時只要連續(xù)按[Backspace]鍵即可。但由于在vi中,插入模式和命令模式是分離開來的,所以在命令模式下需要通過命令(按鍵)來刪除文本,而不是直接按[Backspace]鍵。

  文本刪除的命令如下所示:

  刪除光標所在位置的字符 --> x
  刪除光標所在的行 --> dd(敲 d 兩次)

  如上所示,例如要刪除從光標位置起向右的3個字符,只要在鍵盤上敲 x 鍵3次即可;要刪除光標所在的行,只要敲 dd (連續(xù)敲d鍵兩次),光標所在行的所有字符以及行將會被刪除。

  再次,當編輯完了一個文檔,想要保存后退出的時候的命令為“ZZ”(大寫、連續(xù)敲2次)。

  保存并退出文檔:

  保存當前修改并退出 --> ZZ

  另外,vi還有一些編輯性質(zhì)的命令,一并總結(jié)如下

  具有編輯性質(zhì)的有用的命令:

  撤銷上一步操作 --> u
  移動光標到行首 --> 0 (數(shù)字0)
  移動光標到行末 --> $
  移動光標到當前頁最頂行 --> H
  移動光標到當前頁最底行 --> L
  向前翻一頁(Page Up) --> Ctrl + f
  向后翻一頁(Page Down) --> Ctrl + b

  還有在服務(wù)器配置中使用vi時,頻繁用到的就是vi的搜索功能。在vi命令行的狀態(tài)下,鍵入“/”(斜 線)后,vi底部出現(xiàn)“/”,并處于輸入等待狀態(tài),這時候輸入要查找的文字或文字列,然后按回車就可以找到相應(yīng)的文字或文字列。當有多個對象存在時,敲 “n”(小寫)鍵為查找下一個目標,敲“N”為查找上一個目標。

vi是所有UNIX系統(tǒng)都會提供的屏幕編輯器,它提供了一個視窗設(shè)備,通過它可以編輯文件。當然,對UNIX系統(tǒng)略有所知的人,或多或少都覺得vi超級難用,但vi是最基本的編輯器,學好了vi,以后在UNIX世界里必將暢行無阻、游刃有余,因為其他幾種文本處理器并非UNIX標準配備。若其它的Linux機器里沒有安裝joe或pico,如果不會使用vi,那可能就真的沒輒了。

vi編輯器有3種模式:命令模式、輸入模式、末行模式。掌握這三種模式十分重要:

命令模式:vi啟動后默認進入的是命令模式,從這個模式使用命令可以切換到另外兩種模式,同時無論在任何模式下只要按一下[Esc]鍵都可以返回命令模式。在命令模式中輸入字母i或o或a,就可以進入vi的輸入模式編輯文件。

輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最后一行顯示一個“--INSERT--”標志著vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要保存文件,這時我們需要先返回命令模式,在進入末行模式保存。

末行模式:在命令模式輸入“:”即可進入該模式,在末行模式中有好多好用的命令。

下面介紹vi常用的命令操作

進入輸入模式命令

i 在光標 左側(cè)輸入正文[常用]
a 在光標 右側(cè)輸入正文[常用]
o 小寫字符o, 在光標所在行的 下一行增添新行
O 大寫字符O, 在光標所在行的 上一行增添新行
I 在光標 所在行的開頭輸入正文
A 在光標 所在行的末尾輸入正文
上面介紹了幾種切換到插入模式的簡單方法。另外還有一些命令,它們允許在進入插入模式之前首先刪去一段
正文,從而實現(xiàn)正文的替換。這些命令包括:
s 用輸入的正文替換光標所指向的字符[常用]
ns 用輸入的正文替換光標右側(cè)n 個字符
cw 用輸入的正文替換光標右側(cè)的字 [常用]
ncw 用輸入的正文替換光標右側(cè)的n 個字
cb 用輸入的正文替換光標左側(cè)的字 [常用]
ncb 用輸入的正文替換光標左側(cè)的 n 個字
cd 用輸入的正文替換光標的所在行[常用]
ncd 用輸入的正文替換光標下面的n 行
c$ 用輸入的正文替換從光標開始到本行末尾的所有字符[常用]
c0 用輸入的正文替換從本行開頭到光標的所有字符[常用]

r 取代光標所在處的字符, 比如c3 表示將光標所在處的字符替換為字符3 [常用]

R 取代字符直至按【ESC】為止

按【Esc】鍵或組合鍵【ctrl】+[ 退出輸入模式

末行模式

w 保存文件 [常用]

w file 將當前文件的內(nèi)容保存到file文件

wq 保存文件并退出vi編輯器[常用]

wq file 將 當前文件的內(nèi)容寫入file 文件,并保持原有文件的內(nèi)容不變,然后退出vi編輯器(假如當前文件內(nèi)容有變動但未執(zhí)行保存操作,那么執(zhí)行該命令后不會退出vi編輯器)

r file 讀取file 文件的內(nèi)容,插入當前光標所在行的后面
e file 關(guān)閉當前文件,并打開新文件file (如果當前文件內(nèi)容有變動但未保存,則該命令不會被執(zhí)行)[常用]
f file 將當前文件重命名為file [常用]
f 打印當前文件名稱和狀態(tài),如文件的行數(shù)、光標所在的行號等

q 退出vi編輯器(如果當前文件有改動,則無法退出) [常用]

q! 強制退出vi編輯器(不保存修改)[常用]

# 將光標移到第#行[常用]

PS: 關(guān)于行號使用的一些技巧:

一般用數(shù)值來指定絕對行號;字符“.”表示光標所在行的行號;字符“$”表示文件最后一行的行號,例如:

.+5 將光標從當前行往下移動5 行

$ 將光標移到文件的最后一行

1 將光標移到文件的第一行

23w file 將文件的第23行寫入file文件

3,5w file 將第3 行至第5 行寫入file 文件
1,.w file 將第1 行至當前行寫入file 文件
.,$w file 將當前行至最后一行寫入file 文件
.,.+5w file 從當前行開始將6 行內(nèi)容寫入file 文件
1,$w file 將所有內(nèi)容寫入file 文件,相當于:w file 命令

移動光標的操作

【Home】 光標到行首
【End】 光標到行尾
【Page Up】 向上翻頁

【Page Down】 向下翻頁

【Delect】 刪除光標位置的字符
【Ctrl】+ f 向前移動一頁

【Ctrl】+ b 向后移動一頁

h 光標向左移動一個字符 [常用]
j 光標向下移動一個字符 [常用]
k 光標向上移動一個字符 [常用]
l 光標向右移動一個字符 [常用]
數(shù)字0 把光標移到行尾 [ 常用]
$ 把光標移到行首 [ 常用]
G 把光標移到文件的末尾 [ 常用]
gg 把光標移到文件的開頭 [ 常用]
w 把光標移到下一個單詞的開頭 [ 常用]
e 把光標移到當前或下一個單詞的字尾 [ 常用]
b 把光標移到當前或下一個單詞的開頭 [ 常用]
^ 把光標移到該行的第一個非空白字符(tab,space) [ 常用]
:# 把光標移到該行的第#個位置,例如:3, :10 [ 常用]
) 光標移到句尾
( 光標移到句首
注: 句子用半角句號后加一個空格(. )分割
} 光標移到段落結(jié)尾
{ 光標移到段落開頭
注: 段落以空行分割
nG 將光標定位到第n行的開頭 [ 常用]

n+ 將光標下移n行

n- 將光標上移n行

n$ 將光標下移n行,并置于行尾

H 將光標置于當前屏幕的頂行

M 將光標置于當前屏幕的中間行

L 將光標置于屏幕的最后行

~ 改變當前字符的大小寫 [ 常用]

>> 把當前行往右移動8個字符(相當于【tab】鍵) [ 常用]

<< 把當前行往左移動8個字符(相當于【Shift】+【tab】) [ 常用]

nz: 將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。

撤銷操作

u 命令撤銷最近一次的操作,可以使用多次來恢復(fù)原有的操作 [ 常用]
U 撤銷所有操作
. 可以恢復(fù)對使用u命令的操作 [ 常用]

復(fù)制/刪除/粘貼操作

x 刪除光標處的單個字符,并把刪除后的字符放到緩存區(qū)( 實際上刪除相當于剪切 ) [ 常用]
nx 刪除三個字符。 例如, 3x刪除光標處向右的三個字符
"bnx 把刪除的字符放到緩存區(qū)b

dw 刪除當前字符到單詞尾(包括空格)的所有字符 [ 常用]

dd 刪除光標所在行 [常用] [ 常用]
ndd 刪除n行。 例如, 3dd從當前行開始向下刪除三行文本 [ 常用]

"bndd 把刪除的內(nèi)容放到緩存區(qū)b

PS: 如果要刪除第m至第n行的內(nèi)容,可以在末行模式中輸入m,nd。比如3,5d表示刪除第3~5行 [ 常用]

yy 復(fù)制當前光標所在行的內(nèi)容到vi緩沖區(qū) [ 常用]
nyy 復(fù)制n行。例如:5yy就是從當前光標所處的行向下復(fù)制5行,把復(fù)制的內(nèi)容放到vi緩存區(qū) [常用]
"bnyy 將復(fù)制的內(nèi)容放到緩存區(qū)b . 比如,b3yy 將三行數(shù)據(jù)存入緩存區(qū)b [ 常用]

PS: 如果要復(fù)制第m行到第n行之間的內(nèi)容,可以在末行模式中輸入m,ny例如:3,5y復(fù)制第三行到第五行內(nèi)容到緩存區(qū) [ 常用]

yw 復(fù)制當前光標所在位置到單詞尾字符 (不包括空格) 的內(nèi)容到vi緩存區(qū),相當于復(fù)制一個單詞 [常用]
nyw 復(fù)制n個單詞例如:2yw就是復(fù)制兩個單詞
"bnyw 例如, 復(fù)制n個單詞到緩存區(qū)b

y$ 復(fù)制光標所在位置到行尾內(nèi)容到緩存區(qū)
y^ 復(fù)制光標所在位置到行首內(nèi)容到緩存區(qū)
p 小寫p, 將緩存區(qū)的內(nèi)容粘貼到當前行的下方(與yy配合) ,或插入到當前光標的下一個位置(與dw, x, y$ , y^ 配合)[常用]

P 大寫P,與小寫p的作用類似,但粘貼都方向相反

查找與替換

vi的查找與替換功能要再末行模式下完成。

/關(guān)鍵字 自上而下查找,比如/work,表示從當前光標處往下查找關(guān)鍵字為work的內(nèi)容[ 常用]

?關(guān)鍵字 自下而上查找 , 比如/work,表示從當前光標處往上查找關(guān)鍵字為work的內(nèi)容 [ 常用]

PS: 當找到匹配項時,光標會定位在關(guān)鍵詞都字符開頭。要繼續(xù)查找下一個匹配項,只需敲入字符n; 要往回查找,敲入N. 可以輸入2n往下查找下下一個匹配項

s/old_string/new_string 用new_string替換光標所在行中首次出現(xiàn)的old_string

s/old_string/new_string/g 用new_string替換光標所在行中的所有old_string

m,ns/old_string/new_string/g 用new_string替換第m行至第n行的所有old_string [ 常用]

%s/old_string/new_string/g 用new_string替換所有的old_string [ 常用]

/pattern_address/s/old_string/new_string/g 從當前光標處往下查找與pattern_address匹配的行,然后在該行上用new_string替換掉所有的old_string(實際上,這個命令是由/pattern_address 和/s/old_string/new_string/g組合而成)

g/pattern_address/s/old_string/new_string/g 找出所有與pattern_address匹配的行, 并用new_string替換掉每一行所有的old_string( 注意: 前后兩個g的含義是不一樣的,前面的g表示對整個文本搜索與pattern_address匹配的行, 后面的g表示針對每一個與pattern_address匹配的行都用new_string替換掉old_string)

如果pattern_address和old_string一樣,可以簡寫為g/pattern_address/s//new_string

可以在所有的命令尾加一個c命令,強制每個替換需要用戶進行確認,例如:s/old/new/c 或s/old/new/gc [ 常用]

PS: 查找的一些技巧

/str/w file 正向搜索,并將第一個包含字符串str 的行寫入file 文件
/str1/,/str2/w file 正向搜索,并將包含字符串str1 的行至包含字符串str2 的行寫入file 文件

恢復(fù)文件
vi在編輯某一個文件時,會生成一個臨時文件,這個文件以. 開頭并以.swp結(jié)尾。正常退出該文件自動刪除,如果意外退出例如忽然斷電,該文件不會刪除,我們在下次編輯時可以選擇一下命令處理:

O 只讀打開,不改變文件內(nèi)容
E 繼續(xù)編輯文件,不恢復(fù).swp文件保存的內(nèi)容
R 將恢復(fù)上次編輯以后未保存文件內(nèi)容
Q 退出vi
D 刪除.swp文件

或者使用vi -r 文件名來恢復(fù)未保存的內(nèi)容

香港服務(wù)器租用

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部