[語(yǔ)法]:vi [-wn] [-R] 文件… [說(shuō)明]: vi 是一個(gè)基于行編輯器 ex 上的全屏幕編輯器,可以在vi 中使用 ex,ed的全部命令,vi選項(xiàng)中 -wn 指將編輯窗口大小置為n行,-R 為將編輯的文件置為只讀模式, vi 工作模式分為命令模式和輸入模式,一般情況下在命令模式下,可敲入vi命令,進(jìn)入輸入模式下時(shí)可以編輯要編輯的文本,命令 a A i I o O c C s S R 可進(jìn)入輸入模式,在輸入模式下按 ESC 鍵可推出輸入模式,回到命令模式,在命令模式中敲入: 命令,則可進(jìn)入ex方式,在屏幕底部出現(xiàn)提示符 : ,此時(shí)可使用任意ex命令,屏幕底行也用來(lái)作/ ? ! 命令的提示行,大多數(shù)命令可以在其前面加數(shù)字,表示命令執(zhí)行的重復(fù)次數(shù),下面簡(jiǎn)單介紹一下vi 的命令集,^ 表示(CTRL)鍵 ^B 退回前一頁(yè),前面加數(shù)字表示重復(fù)次數(shù),每次換頁(yè)時(shí) 保留上一頁(yè)的兩行 ^D 在命令模式下,表示下滾屏幕的一半,在輸入模式下,表示回退至 左邊的自動(dòng)縮進(jìn)處 ^E 顯示屏幕底線之下的一行 ^F 前進(jìn)一頁(yè),前面加數(shù)字表示重復(fù)次數(shù),每次換頁(yè)時(shí) 保留上一頁(yè)的兩行 ^G 顯示當(dāng)前文件名,當(dāng)前行號(hào)和文件總行數(shù),并用百分號(hào)當(dāng)前行在 整個(gè)文件中的位置 ^H(退格) 在命令模式下,光標(biāo)左移一格;在輸入模式下,刪去前面的字符 ^I(TAB) 在輸入模式下,產(chǎn)生一串空格 ^J(LF) 光標(biāo)下移一行 ^L 刷新屏幕,即將屏幕重新顯示 ^M(回車) 在命令模式下,光標(biāo)移動(dòng)至下行開(kāi)頭 在輸入模式下,開(kāi)辟一新行 ^N 光標(biāo)下移一行 ^P 光標(biāo)上移一行 ^Q 在輸入模式下,將其后的非打印字符作為正文插入 ^R 刷新屏幕 ^U 屏幕上滾一半,前面加數(shù)字時(shí)表示上滾的行數(shù),此數(shù)字對(duì) 以后的^D ^U 命令有效 ^V 在輸入模式下,將其后的非打印字符作為正文插入 ^W 在輸入模式下,使光標(biāo)回退一個(gè)字 ^Y 顯示屏幕底線之上的一行 ^Z 暫停編輯,退回上層Shell ^[(ESC) 退出輸入模式,回到命令模式! 暫時(shí)退出編輯,執(zhí)行Shell命令(雙引號(hào)) 用于標(biāo)志有名緩沖區(qū),編號(hào)緩沖區(qū)1-9用于保存被刪去的正文,字 母名緩沖區(qū)a-z供用戶存放自定義的正文$ 將光標(biāo)移動(dòng)到當(dāng)前行尾,前加數(shù)字則表示前移行數(shù),如2$表示移動(dòng) 到下一行行尾% 將光標(biāo)移動(dòng)到配對(duì)的小括號(hào)()或大括號(hào){}上去( 退回句子開(kāi)頭) 前移到句子開(kāi)頭- 退到上一行第一個(gè)非空格字符. 重復(fù)上一次改變緩沖區(qū)內(nèi)容的命令/ 模式向前搜索模式,將光標(biāo)移動(dòng)到模式出現(xiàn)處,模式是一個(gè)正規(guī) 表達(dá)式,(參看 grep) : 在屏幕底部提示:,其后可使用ex命令? 功能同 / ,但方向是向前查找 [[ 光標(biāo)回退至前一節(jié)分界處 \ 轉(zhuǎn)意符 ]] 光標(biāo)前移至節(jié)分界處 ^(不是CTRL) 光標(biāo)移至當(dāng)前行第一個(gè)非空字符上 ‘ 連續(xù)兩個(gè)”表示將光標(biāo)移至其移動(dòng)前的位置,’后跟字母表示光標(biāo)字 母標(biāo)記的行首(參看 m 命令) A 在行尾插入正文,進(jìn)入輸入模式 B 光標(biāo)回退一個(gè)字 C 替換光標(biāo)后的內(nèi)容 D 刪除光標(biāo)后的內(nèi)容 E 光標(biāo)前移到字尾 F 字符 在當(dāng)前行向左查找指定字符 G 光標(biāo)移動(dòng)到其前面數(shù)字指定的行,若未指定則移動(dòng)到最后一行 H 光標(biāo)移動(dòng)到屏幕頂行,若前面有數(shù)字,則移動(dòng)到屏幕上該數(shù)字 指定的行 I 在行開(kāi)頭插入正文 J 連接兩行,若前面有數(shù)字則連接數(shù)字指定的行 L 光標(biāo)移動(dòng)到屏幕底行,若前面有數(shù)字,則移動(dòng)到屏幕底線往上數(shù)該 數(shù)字指定的行 M 光標(biāo)移動(dòng)到屏幕中線 N 使用模式查找/或?時(shí),重復(fù)找下一個(gè)匹配的模式,但方向與上次相 反,其功能同 n ,但方向相反 O 在當(dāng)前行上開(kāi)辟一新行 P 將上次被刪除的正文插入光標(biāo)前面,可在其前面加緩沖區(qū)編號(hào),編 號(hào)1-9用于保存被刪去的正文,字母名緩沖區(qū)a-z供用戶存放自定 義的正文 Q 從vi 推出進(jìn)入ex命令狀態(tài) R 替換字符串 S 替換整行 T 字符 向左查找字符 U 將當(dāng)前行恢復(fù)至第一次修改前的狀態(tài) W 光標(biāo)移至下一個(gè)字首 X 刪除光標(biāo)前的字符 Y 將當(dāng)前行存入無(wú)名緩沖區(qū),前面加數(shù)字表示存入的行數(shù),也可用有 名緩沖區(qū)來(lái)保存,以后可用命令p或P將其取出 ZZ 存盤(pán)退出vi a 光標(biāo)后插入正文 b 光標(biāo)回退至上一個(gè)字首 cw 替換當(dāng)前字 c) 替換當(dāng)前句子 dw 刪除一個(gè)字 dd 刪除一行 e 光標(biāo)移到下一個(gè)字末 f 字符 在當(dāng)前行向前查找字符 h 光標(biāo)左移一格 i 在光標(biāo)前插入正文 j 光標(biāo)下移一行 k 光標(biāo)上移一行 l 光標(biāo)右移一格 m 字母 用字母標(biāo)記當(dāng)前行,以后可用 ‘字母使光標(biāo)移動(dòng)到當(dāng)前行,(參看’命令) n 重復(fù)上次 / 或 ? 命令 o 在當(dāng)前行下開(kāi)辟一新行 p 將用戶緩沖區(qū)內(nèi)容放到光標(biāo)位置(參看P命令) r 替換當(dāng)前字符 s 用一串字符替換當(dāng)前字符 t 字符 光標(biāo)移動(dòng)至字符前 u 取消上次操作 w 光標(biāo)移至下一字首 x 刪除當(dāng)前字符 yw 將當(dāng)前字存入無(wú)名緩沖區(qū),前面可加x,表示存入名字為x的有名 緩沖區(qū)(x為a-z),也可加數(shù)字表示存入的字?jǐn)?shù),以后可用P或p命 令取出 yy 將當(dāng)前行存入無(wú)名緩沖區(qū),用法參看yw { 光標(biāo)移動(dòng)至前一段開(kāi)頭 | 光標(biāo)移至行首,若前面加數(shù)字,則移到數(shù)字指定行的行首 } 光標(biāo)移至下一段開(kāi)頭 在:提示符下,常用命令如下::w 當(dāng)前文件存盤(pán) :w! 強(qiáng)制存盤(pán) :w 文件 將內(nèi)容寫(xiě)入指定文件 :w! 文件 強(qiáng)制寫(xiě)入指定文件 :x,y w 文件 將 x至 y 行寫(xiě)入指定文件中 :r 文件 將文件讀到光標(biāo)位置 :r ! 命令將系統(tǒng)命令的輸出讀到光標(biāo)位置 :q 退出編輯 :q! 強(qiáng)制退出 :x 與命令ZZ相同 :e 文件名 。
5.linux vi
進(jìn)入vi的命令
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)行編輯
vi的基本概念 基本上vi可分為三種操作狀態(tài),分別是命令模式(Command mode)、插入模式(Insert mode)和底線命令模式(Last line mode), 各模式的功能區(qū)分如下: 1. Comand mode:控制屏幕光標(biāo)的移動(dòng),字符或光標(biāo)的刪除,移動(dòng)復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到Last line mode。
2. Insert mode:唯有在Insert mode下,才可做文字?jǐn)?shù)據(jù)輸入,按Esc等可回到Comand mode。 3. Last line mode:將儲(chǔ)存文件或離開(kāi)編輯器,也可設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào)等。
不過(guò)可以把vi簡(jiǎn)化成兩個(gè)模式,即是將Last line mode也算入Command mode,把vi分成Command 和Insert mode。 vi的基本操作 ?進(jìn)入vi 在系統(tǒng)提示符號(hào)輸入vi及文件名稱后,即可進(jìn)入vi全屏幕編輯畫(huà)面: $ vi testfile 有一點(diǎn)要特別注意,就是您進(jìn)入vi之后是處于“Command mode”下,您要切換到Insert mode才能輸入文字。
#G:例如,15G,表示移動(dòng)光標(biāo)至文章的第15行行首。[常用] Last line mode下指令簡(jiǎn)介 讀者您要使用Last line mode之前,請(qǐng)記得先按Esc鍵確定您已經(jīng)處于Command mode下后,再按冒號(hào)“:”或“/”或“?” 三鍵的其中一鍵進(jìn)入Last line mode。
1.列出行號(hào) set nu: 輸入“set nu”后,會(huì)在文章的每一行前面列出行號(hào)。 2.跳到文章的某一行 #:井號(hào)代表一個(gè)數(shù)字,在Last line mode提示符號(hào)“:”前輸入數(shù)字,再按Enter就會(huì)跳到該行了, 如:15[Enter]就會(huì)跳到文章的第15行。
vi的基本概念 基本上vi可分為三種操作狀態(tài),分別是命令模式(Command mode)、插入模式(Insert mode)和底線命令模式(Last line mode), 各模式的功能區(qū)分如下: 1. Comand mode:控制屏幕光標(biāo)的移動(dòng),字符或光標(biāo)的刪除,移動(dòng)復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字?jǐn)?shù)據(jù)輸入,按Esc等可回到Comand mode。
3. Last line mode:將儲(chǔ)存文件或離開(kāi)編輯器,也可設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào)等。 不過(guò)可以把vi簡(jiǎn)化成兩個(gè)模式,即是將Last line mode也算入Command mode,把vi分成Command 和Insert mode。