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