ubuntu vim保存退出命令_vim极为详细的教程(一)基本操作
vim的總體介紹
我以前是堅(jiān)定的vim黨,但后來用了一次vscode,便再也出不來了。vscode雖然功能強(qiáng)大,但本質(zhì)上任然是個(gè)編譯器,它強(qiáng)大的功能來自于對(duì)各種經(jīng)典工具的靈活調(diào)用,vscode開發(fā)C++本質(zhì)還是對(duì)其他編輯工具的調(diào)用,而vim又可以說是這些編輯器中功能最強(qiáng)大,效率最高的,我的vscode也用的是vim模式。要熟練利用vscode開發(fā)C++, 推薦熟練掌握vim,必須熟練掌握gdb,json等。
vim常常因其極高的學(xué)習(xí)門檻勸退很多新手,但這很大程度上是因?yàn)槭忻嫔先狈玫膙im使用教程,其實(shí)只要按合理的順序?qū)W習(xí),vim并不難,而且它有極高的效率。有很多人連vim的基本使用方法都搞不清,便急急忙忙的去學(xué)各種插件,最后只能是什么都不懂,然后抱怨這是個(gè)垃圾工具。
vim的學(xué)習(xí)過程
我打算將vim詳解分為四個(gè)章,分別是
這四章是層層遞進(jìn)的關(guān)系,必須要把前一章學(xué)好,才能學(xué)會(huì)使用下一章。
vim遇到問題
vim需要肌肉記憶才能熟練使用,有問題可以到我創(chuàng)建的 QQ群“361863861” 問問題,有些操作在試驗(yàn)后不懂,可以加群討論。
vim的使用環(huán)境
我用的是vim最新版,vim8,vim的使用和操作系統(tǒng)無關(guān),ubuntu,centos等都可以,使用vim --version可以查看vim的版本,如果是vim7,建議升級(jí)為vim8,vim7在某些功能上可能不支持。
vim的基礎(chǔ)操作
1-1 初識(shí)vim:我是從裸的vim上開始配置的。
(1) 輸入vim即可進(jìn)入vim,輸入vim 文件名,即可用vim的去編輯文件。進(jìn)去之后是normal模式,無法輸入任何東西,使用:q可以退出vim。
(2) 要編輯文件,必須進(jìn)入編輯模式,輸入i(insert)即可進(jìn)入編輯模式,此外輸入a(append),o(open a line below)也可以進(jìn)入編輯模式。i表示在光標(biāo)的位置插入,a表示在光標(biāo)后的位置插入,o表示在當(dāng)前的下一行插入。vim的開發(fā)人員為了提高編輯效率,I,A,O也可以進(jìn)入編輯模式,I表示從該行最前面開始編輯,A表示從從該行最后面開始編輯。
所以,使用i,I,a,A,o,O均可以以不同的方式進(jìn)入編輯模式。
(3)在編輯模式下,按esc鍵即可退回到normal模式,normal再輸入:q就可以退出vim,輸入:wq就可以保存文件,然后退出。
(4)注意:如果對(duì)文件進(jìn)行了修改,輸如:q就無法退出文件,必須輸入:wq保存退出,或者輸入:q!不保存,強(qiáng)制退出。
1-2vim的模式介紹
(1) 很多新手都會(huì)想,vim為什么要有那么多模式,而且vim上來要是normal模式,而不是編輯模式?
vim弄那么多模式,是為了提升工作效率。
vim上來是nornal模式,是因?yàn)槲覀兇蟛糠值墓ぷ魇窃趎ormal模式下進(jìn)行的,編輯只是很小的一部分。
這兩點(diǎn)在vim用多了之后會(huì)更有體會(huì)。
(2) vim初始是normal模式,輸入:可以進(jìn)入命令模式。在normal模式下輸入:q退出vim本質(zhì)上是在命令模式下輸入q,以退出vim。在命令模式下按下esc即可退出命令模式。
在normal模式下,按v鍵即可進(jìn)入可視化模式,按下esc鍵又可以回到normal模式。
1-3vim編輯的小技巧
(1) 在編輯模式下,在我們本次編輯修改的部分,我們可以使用快捷鍵去修改字符
ctrl + h刪除光標(biāo)前面的字符
ctrl + w刪除光標(biāo)前面的單詞
ctrl + u刪除光標(biāo)前面的該行所有內(nèi)容
(2) 在normal模式下,可以使用hjkl來代替方向鍵,hjkl分別代表左,下,上,右,這樣就可以在手不離開鍵盤的情況下移動(dòng)光標(biāo)。
(3) 在normal模式下,可以按gi鍵以跳動(dòng)到從編輯模式退出時(shí)光標(biāo)所在的位置,并進(jìn)入編輯模式。
1-4normal模式下光標(biāo)的移動(dòng)方法
(1) w/W移動(dòng)到下一個(gè)單詞的開頭,e/E移動(dòng)到下一個(gè)單詞的結(jié)尾,b/B移動(dòng)到上一個(gè)單詞的開頭,其中小寫的表示以非字母為分割單位(比如冒號(hào),引號(hào),逗號(hào),空格都死分割單位),大寫表示以空白符為分割的單位。
(2) 行間字符搜索移動(dòng),按f {char},就可以快速移動(dòng)到char上面,按;/,可以移動(dòng)到char的下一個(gè)字符/前一個(gè)字符。f表示從文件開始搜索字符,F表示從文件結(jié)尾開始搜索字符。
(3) 如何快速移動(dòng)到一行的行首或行尾:0移動(dòng)到一行的第一個(gè)字符,$移動(dòng)到一行的最后一個(gè)字符。
(4) vim的頁面移動(dòng)gg/G移動(dòng)到文件開頭/結(jié)尾,可以使用ctrl+o快速返回,ngg可以快速跳轉(zhuǎn)到文件第n行。
H/M/L可以快速跳轉(zhuǎn)到屏幕的開頭,中間,結(jié)尾
ctrl + u,ctrl + f,上下翻頁,zz把當(dāng)前行設(shè)置為屏幕的中間
1-5 vim自帶的快速增刪改查
(1) vim快速刪除:在normal模式下
x快速刪除光標(biāo)后的一個(gè)字符。
使用d配合文本對(duì)象可以快速刪除一個(gè)單詞,比如daw(delete around word),dw,diw。daw表示刪除光標(biāo)所在的單詞,包括單詞旁邊的空格。dw表示刪除光標(biāo)后面的單詞,diw表示刪除光標(biāo)所在的單詞,但不包括單詞旁邊的空格。dt{char}表示從光標(biāo)位置刪除到char之前的字符。
(2) vim的快速修改,在normal模式下
常用的有三個(gè),r(replace),c(change),s (substitute)。
r可以替換一個(gè)字符,s刪除當(dāng)前字符并且進(jìn)入插入模式
c可以配個(gè)文本對(duì)象快速修改一個(gè)單詞,cw,ciw,caw只不過是在dw,diw,daw刪除的基礎(chǔ)上同時(shí)進(jìn)入插入模式。
(3) vim的查詢操作,查詢單詞也是一個(gè)常用的操作
使用/或者?進(jìn)行前向或反向的搜索,使用n/N跳轉(zhuǎn)到下一個(gè)/上一個(gè)的匹陪對(duì)象,例如/time表示搜索time這個(gè)單詞,按n表示下一個(gè)。
使用*/#進(jìn)行匹配,光標(biāo)在一個(gè)單詞上,*/#表示上一個(gè)/下一個(gè)同樣的單詞
1-6 vim如何進(jìn)行替換
vim中替換的格式為:[range]s/{string1}/{string2}/[flags]
range表示要替換的范圍,比如10,20表示10-20行,%表示全部
string1表示要替換的字符串
string2表示替換成為的字符串
flags表示標(biāo)志,常用的有g(shù)(表示全局范圍內(nèi)執(zhí)行),沒有g(shù)的話,每一行只會(huì)替換一行中第一個(gè)匹配成功的。c表示確認(rèn),在進(jìn)行替換時(shí)我們可以選擇是否進(jìn)行替換,n表示匹配的次數(shù)·,但不進(jìn)行替換。
比如:%s/my/you/g, 表示把文件中所有的my替換成you。而且string1和string2都是支持正則表達(dá)式的。
總結(jié)
以上是生活随笔為你收集整理的ubuntu vim保存退出命令_vim极为详细的教程(一)基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘坏道拷贝软件_什么是数据恢复工具,一
- 下一篇: 腾讯视频发现点赞的视频在哪里(海量高清视