????????vi/vim的區(qū)別簡(jiǎn)單點(diǎn)來(lái)說(shuō),它們都是多模式編輯器,不同的是vim是vi的升級(jí)版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語(yǔ)法加亮,可視化操作不僅可以在終端運(yùn)行,也可以運(yùn)行于x window、 mac os、windows。
?1. vim的基本概念
????????vim有三種基本的模式分別為命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區(qū)分如下:
- 正常/普通/命令模式(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)入該模式。要查看你的所有模式:打開(kāi)vim,底行模式直接輸入
????????:help vim-modes
我這里一共有12種模式:six BASIC modes和six ADDITIONAL modes.
2. vim的基本操作
- 進(jìn)入vim,在系統(tǒng)提示符號(hào)輸入vim及文件名稱后,就進(jìn)入vim全屏幕編輯畫(huà)面:
?????????不過(guò)有一點(diǎn)要特別注意,就是你進(jìn)入vim之后,是處于[正常模式],你要切換到[插入模式]才能夠輸入文字。
- [正常模式]切換至[插入模式]
????????輸入a
????????輸入i
????????輸入o
- [插入模式]切換至[正常模式]
????????「ESC」?
- [正常模式]切換至[末行模式]
????????「shift + ;」, 其實(shí)就是輸入「:」?
- 退出vim及保存文件,在[正常模式]下,按一下?「shift + ;」進(jìn)入「Last line mode」,例如:
????????: w (保存當(dāng)前文件)
????????: wq (輸入「wq」,存盤(pán)并退出vim)
????????: q! (輸入q!,不存盤(pán)強(qiáng)制退出vim)?
????????注意:從插入模式不能直接到底行模式,只能退到命令模式然后再進(jìn)去底行模式。?
3. vim正常模式命令集
-
插入模式
????????按「i」切換進(jìn)入插入模式「insert mode」,按“i”進(jìn)入插入模式后是從光標(biāo)當(dāng)前位置開(kāi)始輸入文件;
????????按「a」進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個(gè)位置開(kāi)始輸入文字;
????????按「o」進(jìn)入插入模式后,是插入新的一行,從行首開(kāi)始輸入文字。
- 從插入模式切換為命令模式
????????按「ESC」鍵。
- 移動(dòng)光標(biāo)
?vim可以直接用鍵盤(pán)上的光標(biāo)來(lái)上下左右移動(dòng),但正規(guī)的vim是用小寫(xiě)英文字母「h」、「j」、「k」、「l」,分別控制光標(biāo)左、下、上、右移一格
????????按shift +「G」:移動(dòng)到文章的最后
????????按shift +「 $ 」:移動(dòng)到光標(biāo)所在行的“行尾”
????????按shift +「^」:移動(dòng)到光標(biāo)所在行的“行首”
????????按「w」:光標(biāo)跳到下個(gè)字的開(kāi)頭
????????按「e」:光標(biāo)跳到下個(gè)字的字尾
????????按「b」:光標(biāo)回到上個(gè)字的開(kāi)頭
????????按「#l」:光標(biāo)移到該行的第#個(gè)位置,如:5l,56l
????????按[gg]:進(jìn)入到文本開(kāi)始
????????按[shift+g]:進(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」:大寫(xiě)的X,每按一次,刪除光標(biāo)所在位置的“前面”一個(gè)字符
????????「#X」:例如,「20X」表示刪除光標(biāo)所在位置的“前面”20個(gè)字符
????????「dd」:刪除光標(biāo)所在行
????????「#dd」:從光標(biāo)所在行開(kāi)始刪除#行?
- 復(fù)制
????????「yw」:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中。
????????「#yw」:復(fù)制#個(gè)字到緩沖區(qū)
????????「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)。
????????「#yy」:例如,「6yy」表示拷貝從光標(biāo)所在的該行“往下數(shù)”6行文字。
????????「p」:將緩沖區(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ù)。
????????「ctrl + r」: 撤銷的恢復(fù)?
- 更改
????????「cw」:更改光標(biāo)所在處的字到字尾處
????????「c#w」:例如,「c3w」表示更改3個(gè)字
- 跳至指定的行
????????「ctrl」+「g」列出光標(biāo)所在行的行號(hào)。
????????「#G」:例如,15 shift +「G」,表示移動(dòng)光標(biāo)至文章的第15行行首。?
?
4. vim末行模式命令集
在使用末行模式之前,請(qǐng)記住先按「ESC」鍵確定您已經(jīng)處于正常模式,再按shift+「:」冒號(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」就可以將文件保存起來(lái)
- 離開(kāi)vim
「q」:按「q」就是退出,如果無(wú)法離開(kāi)vim,可以在「q」后跟一個(gè)「!」強(qiáng)制離開(kāi)vim。
「wq」:一般建議離開(kāi)時(shí),搭配「w」一起使用,這樣在退出的時(shí)候還可以保存文件。
5. vim操作總結(jié)
- 三種模式
????????正常模式
????????插入模式
????????底行模式
- vim操作
打開(kāi),關(guān)閉,查看,查詢,插入,刪除,替換,撤銷,復(fù)制等等操作。
6. 簡(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 ~
????????打開(kāi)自己目錄下的.vimrc文件,執(zhí)行 vim .vimrc
為了方便我們直接從gitee開(kāi)源項(xiàng)目上配置vim
VimForCpp: 快速將vim打造成c++ IDE
需要注意的是該vim配置只適用于centos 7 的版本
??
? ? ? ?將這一行代碼,直接復(fù)制到linux上執(zhí)行就行
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-737419.html
????????切記要在普通用戶下執(zhí)行?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-737419.html
到了這里,關(guān)于Linux編輯器-vim使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!