Linux編輯器之神-vim的使用-來自三人行慕課

原文鏈接:https://www.3mooc.com/front/articleinfo/154

vi是“Visual interface”的簡(jiǎn)稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對(duì)其進(jìn)行定制。Vi不是一個(gè)排版程序,它不象Word或WPS那樣可以對(duì)字體、格式、段落等其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。 vi沒有菜單,只有命令,且命令繁多。

Vi有三種基本工作模式:

+??命令模式

+??文本輸入模式

+??末行模式。

命令行模式

任何時(shí)候,不管用戶處于何種模式,只要按一下ESC鍵,即可使Vi進(jìn)入命令模式;我們?cè)趕hell環(huán)境(提示符為$)下輸入啟動(dòng)Vi命令,進(jìn)入編輯器時(shí),也是處于該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符都被當(dāng)做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會(huì)響鈴報(bào)警。

文本輸入模式

在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換命令s都可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。

末行模式

末行模式也稱ex轉(zhuǎn)義模式。在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時(shí)Vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè)“:”作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令執(zhí)行完后,Vi自動(dòng)回到命令模式。例如:

:sp?newfile

則分出一個(gè)窗口編輯newfile文件。如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。

vim基礎(chǔ)操作

vim是從 vi 發(fā)展出來的一個(gè)文本編輯器 。代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富

進(jìn)入插入模式:

i:?插入光標(biāo)前一個(gè)字符?

I:?插入行首?

a:?插入光標(biāo)后一個(gè)字符?

A:?插入行未?

o:?向下新開一行,插入行首?

O:?向上新開一行,插入行首

進(jìn)入命令模式:

ESC:從插入模式或末行模式進(jìn)入命令模式

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

h:?左移?

j:?下移?

k:?上移?

l:?右移

M:?光標(biāo)移動(dòng)到中間行?

L:?光標(biāo)移動(dòng)到屏幕最后一行行首?

G:?移動(dòng)到指定行,行號(hào)?-G

w:?向后一次移動(dòng)一個(gè)字?

b:?向前一次移動(dòng)一個(gè)字

{:?按段移動(dòng),上移?

}:?按段移動(dòng),下移

Ctr-d:?向下翻半屏?

Ctr-u:?向上翻半屏

Ctr-f:?向下翻一屏?

Ctr-b:?向上翻一屏

gg:?光標(biāo)移動(dòng)文件開頭?

G:?光標(biāo)移動(dòng)到文件末尾

刪除命令:

x:?刪除光標(biāo)后一個(gè)字符,相當(dāng)于?Del?

X:?刪除光標(biāo)前一個(gè)字符,相當(dāng)于?Backspace

dd:?刪除光標(biāo)所在行,n?dd?刪除指定的行數(shù)?D:?刪除光標(biāo)后本行所有內(nèi)容,包含光標(biāo)所在字符?

d0:?刪除光標(biāo)前本行所有內(nèi)容,不包含光標(biāo)所在字符

dw:?刪除光標(biāo)開始位置的字,包含光標(biāo)所在字符

撤銷命令:

u:?一步一步撤銷?

Ctr-r:?反撤銷

重復(fù)命令:

.:?重復(fù)上一次操作的命令

文本行移動(dòng):

>>:?文本行右移?

<<:?文本行左移

復(fù)制粘貼:

yy:?復(fù)制當(dāng)前行,n?yy?復(fù)制?n?行?

p:?在光標(biāo)所在位置向下新開辟一行,粘貼

可視模式:

v:?按字符移動(dòng),選中文本?

V:?按行移動(dòng),選中文本可視模式可以配合?d,?y,?>>,?<<?實(shí)現(xiàn)對(duì)文本塊的刪除,復(fù)制,左右移動(dòng)

替換操作:

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

R:?替換當(dāng)前行光標(biāo)后的字符

查找命令:

/:?str查找

n:?下一個(gè)

N:上一個(gè)

替換命令:

把a(bǔ)bc全部替換成123

末行模式下,將當(dāng)前文件中的所有abc替換成123

:%s/abc/123/g

末行模式下,將第一行至第10行之間的abc替換成123

:1,?10s/abc/123/g

vim里執(zhí)行 shell 下命令:

末行模式里輸入!,后面跟命令

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.vi的基本概念文本編輯器有很多,圖形模式下有g(shù)edit、kwrite等編輯器,文本模式下的編輯器有vi、vim...
    一線碼農(nóng)閱讀 811評(píng)論 0 0
  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會(huì)不知道什么是文本編輯軟件吧?。趙indows上也...
    何必遠(yuǎn)方閱讀 3,329評(píng)論 0 3
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,717評(píng)論 0 5
  • vi(vim)可以說是linux中用得最多的工具了,不管你配置服務(wù)也好,寫腳本也好,總會(huì)用到它。但是,vim作為一...
    梁世勇閱讀 1,715評(píng)論 2 12
  • 1. 關(guān)于Vim vim是我最喜歡的編輯器,也是linux下第二強(qiáng)大的編輯器。 雖然emacs是公認(rèn)的世界第一,我...
    Dyworldhua閱讀 1,587評(píng)論 0 2

友情鏈接更多精彩內(nèi)容