Vim編輯器之Vim常用操作命令
1、系統(tǒng)終端常用的相關(guān)命令
1)創(chuàng)建打開文件
命令:vim filename
我們可以通過以上命令創(chuàng)建一個(gè)新文件或者是打開已有文件進(jìn)行編輯。已打開hello.c文件為例:
elf@ubuntu:~/work/example/hello$?vim hello.c |
如果需要打開文件,并指定到某一行,可以用“vim filename +行號(hào)”直接進(jìn)入到文件的改行:
elf@ubuntu:~/work/example/hello$?vim hello.c +4 |
使用vim打開文件后,默認(rèn)為一般模式。
2)文件對(duì)比
Vim中的vimdiff對(duì)比工具可以很容易實(shí)現(xiàn)文件對(duì)比的功能,用法舉例如下:我們修改一個(gè)hello.c文件中的一個(gè)字母命名為另一個(gè)hello1.c文件,我們可以通過以下指令對(duì)比出兩個(gè)文件差異的地方。
elf@ubuntu:~/work/example/hello$ vimdiff hello.c hello1.c |
2、Vim一般模式常用命令
Vim打開文件默認(rèn)為一般模式,如果不是,需要按ESC鍵進(jìn)入一般模式。
1)移動(dòng)光標(biāo)
Vim編輯器的編輯過程使用鍵盤來(lái)完成的。在命令模式可以通過k、j、h、l(小寫的L)來(lái)完成光標(biāo)的移動(dòng)。
如果你想通過一個(gè)命令上移或下移多行,或者左移、右移多個(gè)字母,可以使用數(shù)字和字母結(jié)合使用。
例如向下移動(dòng)3行,可以執(zhí)行3j。當(dāng)前光標(biāo)位置如下:
執(zhí)行3j后光標(biāo)位置:
2)屏幕翻頁(yè)
3)刪除文本
4)復(fù)制與粘貼
Vim提供了很多簡(jiǎn)單快捷的復(fù)制方法,將光標(biāo)移動(dòng)到將要粘貼的地方,按p就可以完成文本粘貼;在命令行模式下連按yy即可復(fù)制光標(biāo)所在行的內(nèi)容,連按yny即可復(fù)制從光標(biāo)所在行開始的n行。
5)編輯文件
從“一般模式”進(jìn)入“編輯模式”,可以使用以下指令:
進(jìn)入“編輯模式”后,如下圖:
從“編輯模式”按ESC會(huì)再次進(jìn)入“一般模式”。
6)撤銷操作
在“一般模式”下可以使用以下指令:
3、Vim命令模式常用命令
我們首先需要按ESC鍵進(jìn)入一般模式,然后再進(jìn)行操作。
1)退出vim
根據(jù)不同的需要使用以下命令退出vim。
示例:
未修改退出:
不保存退出:
保存退出:
2)行號(hào)的顯示和隱藏
顯示行號(hào):
隱藏行號(hào):
3)查找和替換
在一般模式下,使用“/字符”可以用于在文本中查找指定字符,搜索過程中,使用n向下查找,N向上查找。
示例:
打開文件,光標(biāo)在第1行,查找Hello時(shí),輸入/Hello后按回車,從光標(biāo)所在位置向下查找到第4行:
此時(shí)按下n,會(huì)繼續(xù)向下查找到第5行,繼續(xù)按n,會(huì)繼續(xù)向下查找。
如上圖時(shí)按下N,會(huì)向上查找到第4行。
使用“hello”替換“Hello”,且不需要確認(rèn),執(zhí)行:%s/Hello/hello/g。
使用“world”替換“World”,且需要確認(rèn),執(zhí)行:%s/World/world/gc。
此時(shí)輸入y確認(rèn)替換,輸入n取消替換,輸入時(shí)不會(huì)顯示。以下為輸入y的結(jié)果。