柚子快報(bào)邀請(qǐng)碼778899分享:Linux編輯器之vim的使用
文章目錄
一、vim簡(jiǎn)介二、vim的基本概念三、vim的基本操作四、vim正常模式命令集移動(dòng)光標(biāo)刪除文字復(fù)制替換撤銷上一次操作更改跳至指定的行vim末行模式命令集列出行號(hào)跳到文件中的某一行查找字符保存文件離開vim
五、進(jìn)階vim玩法打開文件批量注釋代碼執(zhí)行shell命令指定注釋窗口命令退出命令
六、簡(jiǎn)單vim配置配置文件的位置常用配置選項(xiàng),用來測(cè)試
一、vim簡(jiǎn)介
Vim是一個(gè)類似于Vi的高度可定制的文本編輯器,在Vi的基礎(chǔ)上改進(jìn)和增加了很多特性。Vim是自由軟件。Vim普遍被推崇為類Vi編輯器中最好的一個(gè),事實(shí)上真正的勁敵來自Emacs的不同變體。1999 年Emacs被選為L(zhǎng)inuxworld文本編輯分類的優(yōu)勝者,Vim屈居第二。但在2000年2月Vim贏得了Slashdot Beanie的最佳開放源代碼文本編輯器大獎(jiǎng),又將Emacs推至二線。 -->來自百度百科
二、vim的基本概念
基本上 vi/vim 共分為三種模式,命令模式(Command Mode)、輸入模式(Insert Mode)和命令行模式(Command-Line Mode)。 正常/普通/命令模式(Normal mode)
控制屏幕光標(biāo)的移動(dòng),字符、字或行的刪除,移動(dòng)復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。該模式是我們后面用的最頻繁的編輯模式。
末行模式(last line mode)
文件保存或退出,也可以進(jìn)行文件替換,找字符串,列出行號(hào)等操作。 在命令模式下,shift+: 即可進(jìn)入該模式。要查看你的所有模式:打開vim,底行模式直接輸入:help vim-modes
三、vim的基本操作
我們最一開始的輸入vim test.c 的時(shí)候就是命令模式
回車后進(jìn)入了這個(gè)界面,這個(gè)界面就是命令模式
這里我的界面是這樣的,大家可以看VimForCpp來配置一下自己vim,最后我會(huì)講這個(gè)如何簡(jiǎn)單的自己配置一下~~
在這個(gè)狀態(tài)下按下鍵盤會(huì)被 vim 識(shí)別為命令比如我們此時(shí)按下i,并不會(huì)輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。就會(huì)進(jìn)入插入模式這個(gè)時(shí)候insert會(huì)亮起,這個(gè)時(shí)候就可以隨便輸入文字了
那么我們退出的時(shí)候按下鍵盤上的Esc,在鍵盤上按下:wq【這里的操作一定是在英文模式下!】,然后回車這里的輸入的模式叫做底行模式
上面這三種方式就可以用下面的圖來表示:
四、vim正常模式命令集
首先用vim打開一個(gè)文件,這里我就打開一個(gè)以.c為后綴的文件
vim test.c
按下i,就進(jìn)入到插入模式了,這個(gè)時(shí)候就可以寫任何想寫的東西了
這個(gè)時(shí)候我按下鍵盤上的Esc就進(jìn)入到了命令模式我們來開始學(xué)習(xí)命令模式:
移動(dòng)光標(biāo)
vim可以直接用鍵盤上的光標(biāo)來上下左右移動(dòng),但正規(guī)的vim是用小寫英文字母 「h」、「j」、「k」、「l」 ,分別控制光標(biāo)左、下、上、右移一格
按shift+g:移動(dòng)到文章的最后。也就是「G」按shift+4:移動(dòng)到光標(biāo)所在行的“行尾”。也就是「$」按shift+4:移動(dòng)到光標(biāo)所在行的“行首”。也就是「^」按「w」:光標(biāo)跳到下個(gè)字的開頭按「e」:光標(biāo)跳到下個(gè)字的字尾按「b」:光標(biāo)回到上個(gè)字的開頭按「#l」:光標(biāo)移到該行的第#個(gè)位置,如:5l,56l按[gg]:進(jìn)入到文本開始按「ctrl」+「b」:屏幕往“后”移動(dòng)一頁(yè)按「ctrl」+「f」:屏幕往“前”移動(dòng)一頁(yè)按「ctrl」+「u」:屏幕往“后”移動(dòng)半頁(yè)按「ctrl」+「d」:屏幕往“前”移動(dòng)半頁(yè)
刪除文字
「x」:每按一次,刪除光標(biāo)所在位置的一個(gè)字符「#x」:例如,「6x」表示刪除光標(biāo)所在位置的“后面(包含自己在內(nèi))”6個(gè)字符「X」:大寫的X,每按一次,刪除光標(biāo)所在位置的“前面”一個(gè)字符「#X」:例如,「20X」表示刪除光標(biāo)所在位置的“前面”20個(gè)字符「dd」:刪除光標(biāo)所在行「#dd」:從光標(biāo)所在行開始刪除#行
復(fù)制
「yw」:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中?!?yw」:復(fù)制#個(gè)字到緩沖區(qū)「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)?!?yy」:例如,「6yy」表示拷貝從光標(biāo)所在的該行“往下數(shù)”6行文字?!竝」:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與“y”有關(guān)的復(fù)制命令都必須與“p”配合才能完成復(fù)制與粘貼功能。
替換
「r」:替換光標(biāo)所在處的字符。「R」:替換光標(biāo)所到之處的字符,直到按下「ESC」鍵為止。
撤銷上一次操作
「u」:如果您誤執(zhí)行一個(gè)命令,可以馬上按下「u」,回到上一個(gè)操作。按多次“u”可以執(zhí)行多次回復(fù)?!竎trl + r」: 撤銷的恢復(fù)
更改
「cw」:更改光標(biāo)所在處的字到字尾處「c#w」:例如,「c3w」表示更改3個(gè)字
跳至指定的行
「ctrl」+「g」列出光標(biāo)所在行的行號(hào)?!?G」:例如,「15G」,表示移動(dòng)光標(biāo)至文章的第15行行首
vim末行模式命令集
在使用末行模式之前,請(qǐng)記住先按「ESC」鍵確定您已經(jīng)處于正常模式,再按**「:」**冒號(hào)即可進(jìn)入末行模式。
列出行號(hào)
「set nu」: 輸入「set nu」后,會(huì)在文件中的每一行前面列出行號(hào)。
跳到文件中的某一行
「#」:「#」號(hào)表示一個(gè)數(shù)字,在冒號(hào)后輸入一個(gè)數(shù)字,再按回車鍵就會(huì)跳到該行了,如輸入數(shù)字15,再回車,就會(huì)跳到文章的第15行。
查找字符
「/關(guān)鍵字」: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往后尋找到您要的關(guān)鍵字為止。「?關(guān)鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往前尋找到您要的關(guān)鍵字為止。
保存文件
「w」: 在冒號(hào)輸入字母「w」就可以將文件保存起來
離開vim
「q」:按「q」就是退出,如果無法離開vim,可以在「q」后跟一個(gè)「!」強(qiáng)制離開vim?!竪q」:一般建議離開時(shí),搭配「w」一起使用,這樣在退出的時(shí)候還可以保存文件。
上面的都是簡(jiǎn)單的操作,需要烙鐵們必須掌握~
五、進(jìn)階vim玩法
打開文件
同時(shí)打開多個(gè)文件
vim file1 file2 file3 ...
在vim窗口中打開一個(gè)新文件
:open file
在新窗口中打開文件
:split file
切換到下一個(gè)文件
:bn
切換到上一個(gè)文件
:bp
查看當(dāng)前打開的文件列表,當(dāng)前正在編輯的文件會(huì)用[]括起來。
:args
打開遠(yuǎn)程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:e \\qadrive\test\1.txt
批量注釋代碼
我寫了一些代碼,但是我想注釋掉,但是一行一行的注釋很麻煩,如何批量注釋呢?
首先按下鍵盤上的ctrl+v,進(jìn)入到這個(gè)視圖
然后再按鍵盤上的j也就是光標(biāo)往下走了,選中
繼續(xù)按鍵盤上的shit+i也就是I,輸入兩個(gè)//
最后再按Esc,就大功告成了~~
執(zhí)行shell命令
直接在底行模式輸入:!+命令
指定注釋
下面的#可以替換成需要注釋的字符
注釋第3-5行
3,5 s/^/#/g
解除3-5行的注釋
3,5 s/^#//g
注釋整個(gè)文檔
1,$ s/^/#/g
注釋整個(gè)文檔,此法更快
:%s/^/#/g
這里教大家一個(gè)常用的命令其中 前面的%s是通配,然后跟上要匹配的字符,再跟上要替換的字符,g 表示全局范圍內(nèi),s/printf/PRINTF/g 是替換的命令格式
:%s/printf/PRINTF/g
最后直接替換成功了~~
窗口命令
打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:split或new
用新窗口打開文件
:split file或:new file
打開的窗口都是橫向的,使用vsplit可以縱向打開窗口
split
移動(dòng)到下一個(gè)窗口
Ctrl+ww
移動(dòng)到下方的窗口
Ctrl+wj
移動(dòng)到上方的窗口
Ctrl+wk
退出命令
保存并退出
:wq
保存并退出
ZZ
強(qiáng)制退出并忽略所有更改
:q!
放棄所有修改,并打開原來文件。
:e!
六、簡(jiǎn)單vim配置
配置文件的位置
在目錄 /etc/ 下面,有個(gè)名為vimrc的文件,這是系統(tǒng)中公共的vim配置文件,對(duì)所有用戶都有效。而在每個(gè)用戶的主目錄下,都可以自己建立私有的配置文件,命名為:“.vimrc”。 例如,/root目錄下,通常已經(jīng)存在一個(gè)**.vimrc文件,如果不存在,則創(chuàng)建之。 切換用戶成為自己執(zhí)行 su ,進(jìn)入自己的主工作目錄,執(zhí)行 cd ~ 打開自己目錄下的.vimrc**文件,執(zhí)行 vim .vimrc 這里我就新建一個(gè)用戶來操作~~
常用配置選項(xiàng),用來測(cè)試
設(shè)置語(yǔ)法高亮: syntax on 顯示行號(hào): set nu 設(shè)置縮進(jìn)的空格數(shù)為4: set shiftwidth=4
大家可以看VimForCpp來配置一下自己vim
最后本文簡(jiǎn)單的介紹了vim的概念以及如何操作,最后介紹了vim的配置
柚子快報(bào)邀請(qǐng)碼778899分享:Linux編輯器之vim的使用
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。