3.23 vi/vim:纯文本编辑器
生活随笔
收集整理的這篇文章主要介紹了
3.23 vi/vim:纯文本编辑器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
vi/vim
是Linux命令行界面下的文字編輯器,幾乎所有的Linux系統(tǒng)都安裝了vi,只要學(xué)會(huì)了vi這個(gè)編輯工具,就可以在任何Linux系統(tǒng)上使用它。而vim是vi命令的增強(qiáng)版(Vi IMproved),與vi編輯器完全兼容,此外還有很多增強(qiáng)功能,例如用不同顏色高亮顯示代碼。因此,如果系統(tǒng)有vim命令,那么建議大家就使用vim編輯文本。vim的三種模式
一般來(lái)說(shuō),vim可分為三種模式:普通模式、編輯模式、命令模式。這三種模式的作用分別如下。 (1)普通模式 用vim命令打開(kāi)一個(gè)文件,默認(rèn)的狀態(tài)就是普通模式。在這個(gè)模式中,不能進(jìn)行編輯輸入操作,但可以按“上下左右”鍵來(lái)移動(dòng)光標(biāo),也可以執(zhí)行一些操作命令進(jìn)行如刪除、復(fù)制、粘貼等之類(lèi)的工作。 (2)編輯模式 在普通模式下不能進(jìn)行編輯輸入操作,只有按下“i,I,o,O,a,A,r,R,s,S”(其中“I”最常用)等字母進(jìn)入編輯模式之后才可以執(zhí)行錄人文字等編輯操作。看文件是否處于編輯模式狀態(tài)有一個(gè)重要的特征,那就是在窗口的左下角要有插入的標(biāo)記“--INSERT--”或“--插入--” (3)命令模式 在普通模式下,輸入“:”或“/”或“?”時(shí),光標(biāo)會(huì)自動(dòng)定位在那一行,在這個(gè)模式中,可以執(zhí)行保存、退出、搜索、替換、顯示行號(hào)等相關(guān)操作。vim命令的參數(shù)選項(xiàng)及說(shuō)明
普通模式:移動(dòng)光標(biāo)的操作
G或(shift+g)?? ?將光標(biāo)移動(dòng)到文件的最后一行 gg?? ??? ??? ?? ??將光標(biāo)移動(dòng)到文件的第一行,等價(jià)于1gg或1G 0?? ??? ??? ??? ??數(shù)字0,將光標(biāo)從所在位置移動(dòng)到當(dāng)前行的開(kāi)頭 $?? ??? ??? ?? ? ?從光標(biāo)所在位置將光標(biāo)移動(dòng)到當(dāng)前行的結(jié)尾 n<Enter>?? ?? ? ??n為數(shù)字,<Enter>為回車(chē)鍵,將光標(biāo)從當(dāng)前位置向下移動(dòng)n行 ngg?? ??? ??? ??? n為數(shù)字,移動(dòng)到文件的第n行,如11gg可移動(dòng)到第11行,可配合“:setnu”查看,同nG H?? ??? ??? ??? ??光標(biāo)移動(dòng)到當(dāng)前窗口最上方的那一行 M?? ??? ??? ??? ??光標(biāo)移動(dòng)到當(dāng)前窗口中間的那一行 L?? ??? ??? ??? ??光標(biāo)移動(dòng)到當(dāng)前窗口最下方的那一行 h或()?? ?? ??? ?光標(biāo)向左移動(dòng)一個(gè)字符 j或()?? ??? ??? ?光標(biāo)向下移動(dòng)一個(gè)字符 k或()?? ??? ??? ?光標(biāo)向上移動(dòng)一個(gè)字符 l或(→)?? ??? ??? 光標(biāo)向右移動(dòng)一個(gè)字符普通模式:搜索與替換操作
/lewen?? ??? ?從光標(biāo)位置開(kāi)始,向下尋找名為lewen的字符串 ?lewen? ? ???從光標(biāo)位置開(kāi)始,向上尋找名為lewen的字符串 n?? ??? ?? ? ?從光標(biāo)位置開(kāi)始,向下重復(fù)前一個(gè)搜索的動(dòng)作 N?? ??? ?? ? ?從光標(biāo)位置開(kāi)始,向上重復(fù)前一個(gè)搜索的動(dòng)作 :%s/A/B/g?? ?把符合A的內(nèi)容全部替換為B,斜線(xiàn)為分隔符,可以用@、#等替代 :n1,n2s/A/B/g? ??n1、n2為數(shù)字,在第n1行和n2行之間尋找A,用B替換普通模式:復(fù)制、粘貼、刪除等操作
yy?? ??? ?復(fù)制光標(biāo)所在的當(dāng)前行 nyy?? ??? n為數(shù)字,復(fù)制光標(biāo)開(kāi)始向下共n行 p/P?? ??? p將已復(fù)制的數(shù)據(jù)粘貼到光標(biāo)的下一行,P則為粘貼到光標(biāo)的上一行 dd?? ??? ?刪除光標(biāo)所在的當(dāng)前行 ndd?? ?? ?n為數(shù)字,刪除從光標(biāo)開(kāi)始向下共n行 u?? ?? ? ?恢復(fù)(回滾)前一個(gè)執(zhí)行過(guò)的操作 .?? ?? ? ?點(diǎn)號(hào)。重復(fù)前一個(gè)執(zhí)行過(guò)的動(dòng)作 x?? ?? ? ?向后刪除字符 X?? ?? ? ?向前翻除字符 d1G?? ??? 刪除當(dāng)前行至第一行 dG?? ??? ?刪除當(dāng)前行至最后一行 d0?? ??? ?刪除當(dāng)前光標(biāo)文本至行首 d$?? ??? ?刪除當(dāng)前光標(biāo)文本至行尾進(jìn)入編輯模式命令
i?? ?在當(dāng)前光標(biāo)所在處插入文字 a?? ?在當(dāng)前光標(biāo)所在的下一個(gè)字符處插入文字 I?? ?在當(dāng)前所在行行首的第一個(gè)非空格符處開(kāi)始插入文字,和A相反 A?? ?在當(dāng)前所在行行尾的最后一個(gè)字符處開(kāi)始插入文字,和l相反 O?? ?在當(dāng)前所在行的上一行處插入新的一行 o?? ?在當(dāng)前所在行的下一行處插入新的一行 Esc? 退出編輯模式,回到命令模式中命令行模式
:wq?? ??? ?退出并保存 :wq!? ? ??退出并強(qiáng)制保存,“!”為強(qiáng)制的意思 :q!????? ?強(qiáng)制退出,不保存 :n1,n2 w filename? n1、n2為數(shù)字,將n1行到n2行的內(nèi)容保存成filename這個(gè)文件 :nl,n2 co n3?? ??? nl、n2為數(shù)字,將nl行到n2行的內(nèi)容復(fù)制到n3位置下 :n1,n2 m n3?? ??? ?nl、n2為數(shù)字,將n1行到n2行的內(nèi)容剪切至n3位置下 :!command?? ?? ? ??暫時(shí)離開(kāi)vi到命令行模式下執(zhí)行command的顯示結(jié)果!例如:!ls /etc :set nu?? ??? ??? ?顯示行號(hào) :set nonu?? ??? ???與setnu相反,取消行號(hào) :vs filename?? ??? 垂直分屏顯示,同時(shí)顯示當(dāng)前文件和filename對(duì)應(yīng)文件的內(nèi)容 :sp filename ? ? ??水平分屏顯示,同時(shí)顯示當(dāng)前文件和filename對(duì)應(yīng)文件的內(nèi)容 I + # + Esc?? ?? ? ?在可視塊模式下(Ctrl+V),一次性注釋所選的多行,取消注釋可用“:nl,n2s/#//g”,這里的操作是一個(gè)通用的方法,#號(hào)可以換成別的操作,例如Tab鍵,這樣就是批量縮進(jìn) Del?? ??? ??? ?? ? ?在可視塊模式下(Ctrl+V),一次性刪除所選內(nèi)容 r?? ??? ??? ??? ??? 在可視塊模式下(Ctrl+V),一次性替換所選內(nèi)容.輸入r,再輸入替換成的字符vim打開(kāi)文件的方法小結(jié)
以下為vim打開(kāi)文件的幾種方法。 vim file:打開(kāi)/新建文件,光標(biāo)置于第1行行首,file為任意文件名。 vim file +n:打開(kāi)文件,光標(biāo)置于第n行行首,n為自然數(shù)。? ?#eg:?vim test.txt +4 vim file +:打開(kāi)文件,光標(biāo)置于最后1行行首。 vim file +/pattern:將光標(biāo)置于第一個(gè)與pattern匹配的字符串處,pattern為任意字符串。總結(jié)
以上是生活随笔為你收集整理的3.23 vi/vim:纯文本编辑器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3.1 cat:合并文件或查看文件内容
- 下一篇: 3.21-22 od、tee