最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vi和vim編輯器常用命令有什么區(qū)別? 學(xué)vi和vim編輯器看這一篇就夠了

  發(fā)布時(shí)間:2025-01-17 11:51:39   作者:佚名   我要評(píng)論
vim是vi的升級(jí)版,與vi完全兼容,vim也可以作為vi完全使用,vim在vi的基礎(chǔ)上添加了語法著色等一些功能,下面我們就來看看詳細(xì)的區(qū)別

在Linux如果系統(tǒng)中需要編輯文件,一般可以使用vi和vim編輯器編輯文件。它們都是多模式編輯器,區(qū)別在于vim是vi的升級(jí)版本,它不僅與vi的所有指令兼容,還具有一些新的特性。這篇文章將帶你一起學(xué)習(xí)vi和vim編輯器相關(guān)知識(shí)點(diǎn)。

對(duì)于java零基礎(chǔ)對(duì)新手來說,學(xué)習(xí)vi和vim編輯器首先要知道的是兩者的概念:vi是linux下標(biāo)準(zhǔn)的純字符界面文本編輯器。由于不是圖形界面,相關(guān)操作必須通過鍵盤輸入命令完成,需要記住一些常用的操作命令

推薦閱讀:超詳細(xì)的Vim編輯器vim命令大全 強(qiáng)烈建議收藏!

vim是vi的升級(jí)版,與vi完全兼容,vim也可以作為vi完全使用。vim在vi的基礎(chǔ)上添加了語法著色等一些功能。

一、vi與vim的區(qū)別

1、多級(jí)撤消 

在vi編輯器中,按u只能撤消上次命令,而在vim里可以無限制的撤消。

2、易用性

vi編輯器只能運(yùn)行于unix中,而vim不僅可以運(yùn)行于unix,還可用于windows、mac等多操作平臺(tái)。

3、語法加亮

vim可以用不同的顏色來加亮你的代碼。

如下兩圖對(duì)比:

vi main.c

vim main.c

4、可視化操作

vim不僅可以在終端運(yùn)行,也可以運(yùn)行于windows、 mac os、 windows。

5、對(duì)vi完全兼容

可以把vim當(dāng)成vi來使用。

小結(jié):vi和vim都是Linux中的編輯器,不同的是vim比較高級(jí),可以視為vi的升級(jí)版本。vi使用于文本編輯,但是vim更適用于coding。

二、VI模式

1、命令行模式 (command mode/一般模式)

任何時(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)警。

2、文本輸入模式 (input mode/編輯模式)

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

3、末行模式 (last line mode/指令列命令模式)

末行模式也稱轉(zhuǎn)義模式。 

vi和Ex編輯器的功能是相同的,二者主要區(qū)別是用戶界面。在vi中,命令通常是單個(gè)鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結(jié)束的正文行。vi有一個(gè)專門的“轉(zhuǎn)義”命令,可訪問很多面向行的Ex命令。 

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

三、VIM模式

1、正常模式 (Normal-mode)

啟動(dòng)vim后默認(rèn)處于正常模式(即命令行模式)。不論位于什么模式,按下<Esc>鍵(有時(shí)需要按兩下)都會(huì)進(jìn)入正常模式。

2、插入模式 (Insert-mode)

在正常模式中按下i, a, o, I,A,O鍵,會(huì)進(jìn)入插入模式?,F(xiàn)在只用記住按i鍵會(huì)進(jìn)行插入模式。在插入模式中,擊鍵時(shí)會(huì)寫入相應(yīng)的字符。

3、命令模式 (Command-mode)

在正常模式中,按下:(英文冒號(hào))鍵,會(huì)進(jìn)入命令模式。

在命令模式中可以執(zhí)行一些輸入并執(zhí)行一些vim或插件提供的指令,就像在shell里一樣。這些指令包括設(shè)置環(huán)境、文件操作、調(diào)用某個(gè)功能等等。

4、可視模式 (Visual-mode)

在正常模式中按下v,V,<ctrl>+v,可以進(jìn)入可視模式。

可視模式中的操作有點(diǎn)像拿鼠標(biāo)進(jìn)行操作,選擇文本的時(shí)候有一種鼠標(biāo)選擇的即視感,有時(shí)候會(huì)很方便。

四、VI與VIM的常用命令

注:由于VI與VIM在命令上幾乎相同,所以這里那VIM為例。

1、模式轉(zhuǎn)換

正常-->輸入:以下這幾個(gè)參數(shù)實(shí)現(xiàn)的功能都是轉(zhuǎn)為輸入模式,只不過轉(zhuǎn)換后的光標(biāo)所在的位置不同(感興趣可以試一試,雖然意義不大?。?p>i:在當(dāng)前光標(biāo)所在字符的前面,轉(zhuǎn)為輸入模式;

a:在當(dāng)前光標(biāo)所在字符的后面,轉(zhuǎn)為輸入模式;

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

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

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

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

輸入-->正常:

ESC

正常-->末行:

:(英文冒號(hào))

末行-->正常:

ESC,ESC

注意:輸入模式和末行模式之間不能直接切換。

2、關(guān)閉文件(末行模式)

:q退出;

:q!不保存退出;

:w保存;

:w!強(qiáng)行保存;

:wq保存退出

:wq!強(qiáng)制保存并退出

注意:在正常模式下按組合鍵shift zz可以保存并退出

3、移動(dòng)光標(biāo)(正常模式)

1)逐字符移動(dòng):

h: 左;

l: 右;

j: 下;

k: 上;

#h: 移動(dòng)#個(gè)字符

2)以單詞為單位移動(dòng)

w: 移至下一個(gè)單詞的詞首;

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

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

#w: 移動(dòng)#個(gè)單詞

3)行內(nèi)跳轉(zhuǎn):

0: 絕對(duì)行首;

^: 行首的第一個(gè)非空白字符;

$: 絕對(duì)行尾

4)行間跳轉(zhuǎn)

#G:跳轉(zhuǎn)至第#行;

gg: 第一行;

G:最后一行

5)末行模式

.: 表示當(dāng)前行;

$: 最后一行;

#:第#行;

+#: 向下的#行

4、翻屏(正常模式)

Ctrl+f: 向下翻一屏;

Ctrl+b: 向上翻一屏;

Ctrl+d: 向下翻半屏;

Ctrl+u: 向上翻半屏

5、復(fù)制字符

1)正常模式 復(fù)制:

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

nyy:復(fù)制當(dāng)前行至下面的n行

粘貼:

p:粘貼到光標(biāo)的后面

P:粘貼到光標(biāo)的前面

2)可視模式 復(fù)制:

y:復(fù)制當(dāng)前行

ny:復(fù)制當(dāng)前行至下面的n行

粘貼:

p:粘貼到光標(biāo)的后面

P:粘貼到光標(biāo)的前面

6、刪除字符(正常模式)

x: 刪除光標(biāo)所在處的單個(gè)字符;

#x: 刪除光標(biāo)所在處及向后的共#個(gè)字符;

d$或D:從當(dāng)前光標(biāo)處刪除至行尾;

d^:從當(dāng)前光標(biāo)處刪除之行首;

dd: 刪除當(dāng)前光標(biāo)所在行;

#dd: 刪除包括當(dāng)前光標(biāo)所在行在內(nèi)的#行;

注:dd相當(dāng)于剪切操作,如果你dd之后按p或者P可以進(jìn)行粘貼。

7、替換字符

r:替換單個(gè)字符(按完r在按你要替換的字符即可)

R:替換多個(gè)字符(從你要替換的位置開始替換,直至你退出正常模式)

8、撤銷編輯操作:u

u:撤消前一次的編輯操作;#u:直接撤消最近#次編輯操作; 溫馨提示:連續(xù)u命令可撤消此前的n次編輯操作;

9、將另外一個(gè)文件(/path/sunhui.txt)的內(nèi)容填充在當(dāng)前文件夾中

:r /path/sunhui.txt :填充到當(dāng)前文件所在光標(biāo)的后面

10、修改vim配置文件

vim~/.vimrc:修改當(dāng)前用戶的vim配置文件 vim /etc/vimrc:修改所有用戶的vim配置文件 例:在當(dāng)前用戶的vim配置文件中添加顯示行數(shù)的命令 vim~/.vimrc:在末行添加setnu即可

11、拓展(末行模式)

1)顯示或取消顯示行號(hào)

:set nu //顯示:set number //顯示:set nonu //取消

2)設(shè)置語法高亮

:syntax on //開啟:syntax off //關(guān)閉

3)分屏

:vsp xxx.x //將兩個(gè)文件垂直分屏 :ctrl+w w//切屏

注:該特性當(dāng)前有效,如果想要永久有效需修改配置文件

相關(guān)文章

最新評(píng)論

晋城| 两当县| 获嘉县| 会宁县| 凌源市| 涞水县| 尚义县| 宾川县| 南江县| 资中县| 镇赉县| 通州区| 姚安县| 井研县| 东至县| 托里县| 老河口市| 开平市| 柳河县| 霍城县| 翁源县| 洪洞县| 江安县| 巴林左旗| 天水市| 上高县| 台北县| 定结县| 广南县| 和林格尔县| 涿州市| 万安县| 渭南市| 鹤岗市| 中山市| 吴忠市| 故城县| 神农架林区| 盘山县| 建宁县| 邛崃市|