技術(shù)人員講解退出Vi返回到shell
Vi經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,這里我發(fā)表一下個(gè)人理解退出Vi返回到shell,和大家討論討論。Linux具備現(xiàn)代一切功能完整的UNIX系統(tǒng)所具備的全部特征,其中包括真正的多任務(wù)、虛擬內(nèi)存、共享庫(kù)、優(yōu)秀的內(nèi)存管理以及TCP/IP網(wǎng)絡(luò)支持等。
退出Vi返回到shell
當(dāng)編輯完文件,準(zhǔn)備退出Vi返回到shell時(shí),可以使用以下幾種方法之一。在命令模式中,連按兩次大寫(xiě)字母Z,若當(dāng)前編輯的文件曾被修改過(guò),則Vi保存該文件后退出,返回到shell;若當(dāng)前編輯的文件沒(méi)被修改過(guò),則退出Vi返回到shell。
在末行模式下,輸入命令 :w Vi保存當(dāng)前編輯文件,但并不退出,而是繼續(xù)等待用戶輸入命令。在使用w命令時(shí),可以再給編輯文件起一個(gè)新的文件名。
:w newfile
此時(shí)Vi將把當(dāng)前文件的內(nèi)容保存到指定的newfile中,而原有文件保持不變。若newfile是一個(gè)已存在的文件,則Vi在顯示窗口的狀態(tài)行給出提示信息:File exists (use ! to override) 此時(shí),若用戶真的希望用文件的當(dāng)前內(nèi)容替換newfile中原有內(nèi)容,可使用命令 。
:w! newfile 否則可選擇另外的文件名來(lái)保存當(dāng)前文件。 在末行模式下,輸入命令
:q 系統(tǒng)退出Vi返回到shell。若在用此命令退出Vi時(shí),編輯文件沒(méi)有被保存,則Vi在顯示窗口的最末行顯示如下信息:
No write since last change (use ! to overrides) 提示用戶該文件被修改后沒(méi)有保存,然后Vi并不退出,繼續(xù)等待用戶命令。若用戶就是不想保存被修改后的文件而要強(qiáng)行退出Vi時(shí),可使用命令
:q! Vi放棄所作修改而直接退出Vi返回到shell下。在末行模式下,輸入命令
:wq Vi將先保存文件,然后退出Vi返回到shell。 在末行模式下,輸入命令
該命令的功能同命令模式下的ZZ命令功能相同。
Vi中的行號(hào)
Vi中的許多命令都要用到行號(hào)及行數(shù)等數(shù)值。若編輯的文件較大時(shí),自己去數(shù)是非常不方便的。為此Vi提供了給文本加行號(hào)的功能。這些行號(hào)顯示在屏幕的左邊,而相應(yīng)行的內(nèi)容則顯示在行號(hào)之后。
退出Vi返回到shell使用的命令為:在末行方式下輸入命令: :set number
需要說(shuō)明的是,這里加的行號(hào)只是顯示給用戶看的,它們并不是文件內(nèi)容的一部分。
在一個(gè)較大的文件中,用戶可能需要了解光標(biāo)當(dāng)前行是哪一行,在文件中處于什么位置,可在命令模式下用組合鍵
#include
main ( )
{ int k ;
for ( k=0 ; k<3 ; k++) add( ); }
add( )
{ static int x=0;
x++ ;
printf(“x = %d\n”, x);
“ example.c” [Modified] lines 4 of 10 --40%-- col 11
在末行方式下,我們可以輸入命令nu(單詞number的縮寫(xiě))來(lái)獲得光標(biāo)當(dāng)前行的行號(hào)與該行內(nèi)容退出Vi返回到shell。
【編輯推薦】