免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux中vi執(zhí)行命令,linux的vi命令用法

Linux vi 操作命令

進(jìn)入vi的命令

郁南網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),郁南網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為郁南成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的郁南做網(wǎng)站的公司定做!

vi filename :打開(kāi)或新建文件,并將光標(biāo)置于第一行首

vi +n filename :打開(kāi)文件,并將光標(biāo)置于第n行首

vi + filename :打開(kāi)文件,并將光標(biāo)置于最后一行首

vi +/pattern filename:打開(kāi)文件,并將光標(biāo)置于第一個(gè)和pattern匹配的串處

vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename

vi filename....filename :打開(kāi)多個(gè)文件,依次進(jìn)行編輯

移動(dòng)光標(biāo)類(lèi)命令

h :光標(biāo)左移一個(gè)字符

l :光標(biāo)右移一個(gè)字符

space:光標(biāo)右移一個(gè)字符

Backspace:光標(biāo)左移一個(gè)字符

k或Ctrl+p:光標(biāo)上移一行

j或Ctrl+n :光標(biāo)下移一行

Enter :光標(biāo)下移一行

w或W :光標(biāo)右移一個(gè)字至字首

b或B :光標(biāo)左移一個(gè)字至字首

e或E :光標(biāo)右移一個(gè)字至字尾

) :光標(biāo)移至句尾

( :光標(biāo)移至句首

}:光標(biāo)移至段落開(kāi)頭

{:光標(biāo)移至段落結(jié)尾

nG:光標(biāo)移至第n行首

n+:光標(biāo)下移n行

n-:光標(biāo)上移n行

n$:光標(biāo)移至第n行尾

H :光標(biāo)移至屏幕頂行

M :光標(biāo)移至屏幕中間行

L :光標(biāo)移至屏幕最后行

0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首

$:光標(biāo)移至當(dāng)前行尾

屏幕翻滾類(lèi)命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。

插入文本類(lèi)命令

i :在光標(biāo)前

I :在當(dāng)前行首

a:光標(biāo)后

A:在當(dāng)前行尾

o:在當(dāng)前行之下新開(kāi)一行

O:在當(dāng)前行之上新開(kāi)一行

r:替換當(dāng)前字符

R:替換當(dāng)前字符及其后的字符,直至按ESC鍵

s:從當(dāng)前光標(biāo)位置處開(kāi)始,以輸入的文本替代指定數(shù)目的字符

S:刪除指定數(shù)目的行,并以所輸入文本代替之

ncw或nCW:修改指定數(shù)目的字

nCC:修改指定數(shù)目的行

刪除命令

ndw或ndW:刪除光標(biāo)處開(kāi)始及其后的n-1個(gè)字

do:刪至行首

d$:刪至行尾

ndd:刪除當(dāng)前行及其后n-1行

x或X:刪除一個(gè)字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的

Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令

/pattern:從光標(biāo)開(kāi)始處向文件尾搜索pattern

?pattern:從光標(biāo)開(kāi)始處向文件首搜索pattern

n:在同一方向重復(fù)上一次搜索命令

N:在反方向上重復(fù)上一次搜索命令

:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將文件中所有p1均用p2替換

選項(xiàng)設(shè)置

all:列出所有選項(xiàng)設(shè)置情況

term:設(shè)置終端類(lèi)型

ignorance:在搜索中忽略大小寫(xiě)

list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)

number:顯示行號(hào)

report:顯示由面向行的命令修改過(guò)的數(shù)目

terse:顯示簡(jiǎn)短的警告信息

warn:在轉(zhuǎn)到別的文件時(shí)若沒(méi)保存當(dāng)前文件則顯示NO write信息

nomagic:允許在搜索模式中,使用前面不帶“”的特別字符

nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開(kāi)始

mesg:允許vi顯示其他用戶(hù)用write寫(xiě)到自己終端上的信息

最后行方式命令

:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下

:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下

:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除

:w :保存當(dāng)前文件

:e filename:打開(kāi)文件filename進(jìn)行編輯

:x:保存當(dāng)前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:!command:執(zhí)行shell命令command

:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入

:r!command:將命令command的輸出結(jié)果放到當(dāng)前行

寄存器操作

"?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

"?nyw:將當(dāng)前行及其下n個(gè)字保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

"?nyl:將當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字

"?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?能是個(gè)字母,也能是個(gè)數(shù)字

ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號(hào)刪除寄存器中。

進(jìn)入vi

vi test

離開(kāi)vi

:q! 離開(kāi)vi,并放棄剛在緩沖區(qū)內(nèi)編輯的內(nèi)容。

:wq 將緩沖區(qū)內(nèi)的資料寫(xiě)入磁盤(pán)中,并離開(kāi)vi。

:ZZ 同wq

同wq

:w 將緩沖區(qū)內(nèi)的資料寫(xiě)入磁盤(pán)中,但并不離開(kāi)vi。

:q 離開(kāi)vi,若文件被修改過(guò),則會(huì)被需求確認(rèn)是否放棄修改的內(nèi)容,此指令可和: w 配合使用。

Vi 的操作模式

Vi 提供兩種操作模式:

輸入模式(insert mode)

指令模式(command mode)

當(dāng)使用者進(jìn)入vi后,既處于指令模式下,此刻鍵入所有字元皆被視為指令。

輸入模式:a(append) 游標(biāo)之后加入資料。

A 該行之末加入資料

i (insert) 游標(biāo)之前加入資料

I 該行之首加入資料

o (open) 新增一行和該行之下供輸入資料

O 新增一行和該行之上供輸入資料

指令模式:B    移至該行第一個(gè)字符,若光標(biāo)在該行第一字符則光標(biāo)移至上一行第一字符。

b 由游標(biāo)所在位置之前一個(gè)字串的第一個(gè)字元

 cc 刪除整行,修改整行的內(nèi)容。

 D  以行為單位,刪除游標(biāo)在內(nèi)后面的所有字符。

db 刪除該行光標(biāo)前字符

 dd 刪除該行

 de 刪除自光標(biāo)開(kāi)始后面的字符

 d加字符 刪除光標(biāo)所在位置至字符之間的單

 E移至該行最后字符,若光標(biāo)在該行最后字符則光標(biāo)移至下一行最后字符

 e由游標(biāo)所在位置至該字串的最后一個(gè)字元

 G 移至該檔案的最后一行 

 h 向前移一個(gè)字元

j 向下移一個(gè)字元

k 向上移一個(gè)字元

0 移至該行之首

M 移至視窗的中間那行

L 移至視窗的最后一行

 l 向后移一個(gè)字符

0 由游標(biāo)所在位置該行的第一個(gè)字元

nG 移至該檔案的第n行

n+ 自游標(biāo)所在位置向后移n行至該行的第一字符

n- 自游標(biāo)所在位置向前移n行至該行的第一字符

R 進(jìn)入取代狀態(tài),直到《ESC》為止

s 刪除游標(biāo)所在字元,并進(jìn)入取代模式直到《ESC》

S 刪除游標(biāo)所在之該行資料,并進(jìn)入輸入模式直到《ESC》

w 由游標(biāo)所在位置之下一個(gè)字串的第一個(gè)字元

x 刪除游標(biāo)所在該字元。

X 刪除游標(biāo)所在之前一字元。

r 用接于此指令之后的字元取代(replace)游標(biāo)所在字元

yy yank整行,使游標(biāo)所在該行復(fù)制到記憶體緩沖區(qū)

顯示該行之行號(hào)、檔案名稱(chēng)、檔案中最末之行號(hào)、游標(biāo)所在行號(hào)占

總行號(hào)之百分比

$ 由游標(biāo)所在位置至該行的最后一個(gè)字元。

) 由游標(biāo)所在位置至下一個(gè)句子的第一個(gè)字元。

( 由游標(biāo)所在位置至該句子的第一個(gè)字元。

{ 由游標(biāo)所在位置至該段落的最后一個(gè)字元。

} 由游標(biāo)所在位置至該段落的第一個(gè)字元

yank和delete可將指定的資料復(fù)制到記憶體緩沖區(qū),而藉有put指令可將緩沖區(qū)內(nèi)的資料復(fù)制到熒幕上

例如:搬移一行 :在該行執(zhí)行dd

游標(biāo)移至目的地

執(zhí)行p

復(fù)制一行 :在該行執(zhí)行yy

游標(biāo)移至目的地

執(zhí)行p

視窗移動(dòng):

視窗往下卷一頁(yè)

視窗往上卷一頁(yè)

視窗往下卷半頁(yè)

視窗往上卷半頁(yè)

視窗往下卷一行

視窗往上卷一行

刪除、復(fù)制及修改指令介紹:

d(delete)、c(change)和y(yank)這一類(lèi)的指令在vi 中的指令格式為:

operation+scope=command

(運(yùn)算子)(范圍)

運(yùn)算子:

d 刪除指令。刪除資料,但會(huì)將刪除資料復(fù)制到記憶體緩沖區(qū)。

y 將資料(字組、行列、句子或段落)復(fù)制到緩沖區(qū)。

p 放置(put)指令,和d和y配合使用。可將最后delete或yank的資料放置于游標(biāo)所在位置之行列下。

c 修改(change)指令,類(lèi)似delete于insert的組合。刪除一個(gè)字組、句子等資料,并插入新鍵入的

在linux下用vi編寫(xiě)程序后怎么執(zhí)行編寫(xiě)的程序?

vi 只是編輯器,保存退出后,可以命令行看到當(dāng)前保存的文件。比如ls hello.c

接下來(lái)要用編譯器來(lái)編譯程序, 比如gcc hello.c -o ?hello

執(zhí)行程序只要在命令行執(zhí)行就可以了, 比如./hello

建議先去了解一下基本的shell命令。

如下:

~#vi tmp.c

按i進(jìn)入插入模式,輸入源文件內(nèi)容

#include stdio.h

int main(int argc,char *argv[])

{

printf("just a case!\r\n");

return(0);

}

按ESC退出插入模式,輸入

:wq

回到shell

~#gcc tmp.c

~#./a.out

可是我輸入執(zhí)行卻不行,想問(wèn)下為什么??

在#后輸入:gcc tmp.c

提示:bash: gcc:command not found

Linux之vi命令

vi profile

返回

:q 退出

:wq或者:x或者shift+zz 保存并退出

:q! 不保存并退出

:w 保存

:w! 強(qiáng)制保存

編輯到輸入模式:

i 在當(dāng)前光標(biāo)前面輸入

I 在當(dāng)前光標(biāo)所在行的行首,轉(zhuǎn)換為輸入模式

a 在當(dāng)前光標(biāo)后面輸入

A 在當(dāng)前光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式

o 在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式

O 在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式

1、 移動(dòng)光標(biāo)

字符:方向鍵上下左右或者鍵盤(pán)kjhl(上下左右)

單詞:w移至下一個(gè)單詞的詞首;e跳至當(dāng)前或下一個(gè)單詞的詞尾;b跳至當(dāng)前或前一個(gè)單詞的詞首

行內(nèi):0絕對(duì)行首;^行首的第一個(gè)非空白字符;$絕對(duì)行尾

行間:G文章末尾;3G第3行;gg文章開(kāi)頭

翻屏:ctrl f【往后翻】;Ctrl b【往前翻】

2、 刪除、替換單個(gè)字符

x刪除光標(biāo)位置字符;3x刪除光標(biāo)開(kāi)始3個(gè)字符;r替換光標(biāo)位置字符

dw刪除一個(gè)單詞;4dw刪除光標(biāo)開(kāi)始的4個(gè)單詞;dd刪除光標(biāo)所在行;5dd刪除光標(biāo)開(kāi)始的5行

3、復(fù)制粘貼剪切

yw復(fù)制一個(gè)單詞,p在該行粘貼單詞;yy復(fù)制整行,p在該行下方粘貼整行

dd剪切整行,p再粘貼整行;dw剪切一個(gè)單詞,p再粘貼一個(gè)單詞

4、 撤銷(xiāo)重做

u:撤銷(xiāo);ctrl+r:重做撤銷(xiāo)的操作;.重復(fù)上一步的操作【假設(shè)先dd,再.,會(huì)再執(zhí)行dd命令】

1、 set設(shè)置

set nu

set nonu

set readonly #設(shè)置只讀文件,不能修改,只在當(dāng)前環(huán)境有效,退出文件,再次打開(kāi),這個(gè)只讀就無(wú)效了

set noreadonly #取消只讀

2、 /查找

/after查找文檔中的after【可以找到所有的after】,n向下翻,N向上翻

:/after查找文檔中的after所在行【可以找到所有的after】,n向下翻,N向上翻

3、!執(zhí)行命令

比如:查找root目錄

:!ls /root/

4、 查找并替換

格式

【 :查找范圍s/查找的詞/要替換的詞/ 】

或者【:查找范圍s#查找的詞#要替換的詞# 】

或者【:查找范圍s%查找的詞%要替換的詞%】,

即分隔符可以是/、#、%

其中, 查找范圍 包括【.當(dāng)前光標(biāo)行】;【$末尾行】;【%全文】;【g一行內(nèi)全部替換】;【i忽略大小寫(xiě)】

比如 【 :.,$s/after/before/】 表示在當(dāng)前光標(biāo)行【.】到末尾【$】這個(gè)范圍內(nèi),將after替換為before, 但是如果一行有多個(gè)after的話(huà),只會(huì)把第一個(gè)after替換掉 。

比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個(gè)after的話(huà),只會(huì)把第一個(gè)after替換掉。

比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個(gè)after的話(huà),會(huì)把該行所有after替換掉,因?yàn)樵诿罾锩婕恿薵 。

比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫(xiě)并替換一行內(nèi)所有after。

比如 【 :%d或者dG】 ,表示刪除全文

比如 【:1,$-4d】 ,表示刪除第一行到倒數(shù)第5行的數(shù)據(jù)

比如 【:1,4y】 ,表示復(fù)制1到4行,再按p可粘貼這4行

linux系統(tǒng)的vi是什么來(lái)的?初學(xué)者求指教,說(shuō)說(shuō)這個(gè)有什么用?

Vi,是一款由加州大學(xué)伯克利分校、Bill Joy研究開(kāi)發(fā)的文本編輯器。

文本編輯器有很多,比如圖形模式的gedit、kwrite、OpenOffice,文本模式下的編輯器有VI、vim。vi和vim是我們?cè)贚inux中最常用的編輯器。vi或vim是Linux最基本的文本編輯工具,vi或vim雖然沒(méi)有圖形界面編輯器那樣點(diǎn)鼠標(biāo)的簡(jiǎn)單操作,但vi編輯器在系統(tǒng)管理、服務(wù)器管理字符界面中,永遠(yuǎn)不是圖形界面的編輯器能比的。

注意:vi是Unix/Linux操作系統(tǒng)中最經(jīng)典的文本編輯器,只能在編輯字符,不能對(duì)字體、段落進(jìn)行排版,它既可以新建文件,也可以編輯文件;它沒(méi)有菜單,只有命令,且命令繁多。

雖然vi的操作方式與其他常用的文本編輯器很不相同,但是由于其運(yùn)行于字符界面,并可用于所有Unix/Linux環(huán)境,仍被經(jīng)常使用。

vi的三種命令模式

command(命令)模式,用于輸入命令

Insert(插入)模式,用于插入文本

Visual(可視)模式,用于視化的高亮并選定正文

①命令模式

命令模式是啟動(dòng)vi后進(jìn)入的工作模式,并可轉(zhuǎn)換為文本編輯模式和最后行模式。在命令模式下,從鍵盤(pán)上輸入的任何字符都被當(dāng)作編輯命令來(lái)解釋?zhuān)粫?huì)在屏幕上顯示。如果輸入的字符是合法的vi命令,則vi就會(huì)完成相應(yīng)的動(dòng)作,否則vi會(huì)響鈴警告。

②文本編輯模式

文本編輯模式用于字符編輯。在命令模式下輸入i、a等命令后進(jìn)入文本編輯模式,此時(shí)輸入的任何字符都被vi當(dāng)作文件內(nèi)容顯示在屏幕上。按Esc鍵可從文本編輯模式返回到命令模式。

③最后行模式

在命令模式下,按“:”進(jìn)入最后行模式,此時(shí)vi會(huì)在屏幕的底部顯示“:”符號(hào)年作為最后行模式的提示符,等待用戶(hù)輸入相關(guān)命令。命令執(zhí)行完畢后,vi自動(dòng)回到命令模式。

分享文章:linux中vi執(zhí)行命令,linux的vi命令用法
鏈接地址:http://m.newbst.com/article0/hsegoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管云服務(wù)器商城網(wǎng)站小程序開(kāi)發(fā)關(guān)鍵詞優(yōu)化網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名