前言
在代碼的世界里,效率是永恒的追求。無論是新手開發(fā)者還是資深工程師,都渴望擁有一款能讓自己如虎添翼的編輯器。而在Linux生態(tài)中,有一款被無數(shù)程序員奉為神器、被譽(yù)為“效率之王”的編輯器——Vim。它以26個字母鍵為核心,用極簡的操作重構(gòu)了代碼編輯的宇宙。今天,就讓我們一同走進(jìn)Vim的世界,探索它如何以獨(dú)特的方式提升你的編程效率。
一、Vim是什么?
Vim(Vi IMproved)是一款高度可配置的文本編輯器,最初作為Vi編輯器的改進(jìn)版發(fā)布。它運(yùn)行在大多數(shù)類Unix系統(tǒng)(如Linux、macOS)上,同時也支持Windows平臺。Vim的設(shè)計哲學(xué)是“模式化編輯”,通過不同的操作模式(如普通模式、插入模式、可視模式等)來高效地完成文本編輯任務(wù)。
二、為什么選擇Vim?
1.極致效率:Vim的操作幾乎完全基于鍵盤,無需頻繁切換鼠標(biāo),讓雙手始終保持在鍵盤上,極大地提高了編輯速度。
2.高度可定制:Vim提供了豐富的配置選項和插件生態(tài),用戶可以根據(jù)自己的需求定制專屬的編輯環(huán)境。
3.跨平臺兼容:無論是Linux、macOS還是Windows,Vim都能提供一致的使用體驗。
4.學(xué)習(xí)曲線陡峭但回報豐厚:雖然Vim的學(xué)習(xí)曲線相對較陡,但一旦掌握,你將發(fā)現(xiàn)它帶來的效率提升是任何其他編輯器都無法比擬的。
三、Vim的核心模式
Vim的精髓在于其模式化設(shè)計,下面給大家介紹一下Vim在使用時幾種常用的模式:
3.1 命令模式(Normal Mode)
默認(rèn)模式,所有移動和編輯命令都基于此模式。
3.2 插入模式(Insert Mode)
插入模式顧名思義,是用來插入文字的。我們在鍵盤上找到a、i、o鍵就能進(jìn)入插入模式。
3.3 底行模式(Command-line Mode)
通過**:**進(jìn)入,用于執(zhí)行Vim命令,如保存文件(:w)、退出Vim(:q)等。
四、Vim的基本操作
4.1 進(jìn)入vim
首先我們輸入vim 文件名,就可以打開vim。
語法:vim 文件名
功能:用vim打開文件。
剛進(jìn)入vim默認(rèn)的模式就是命令模式,如下圖:
4.2 模式切換
【命令模式】【插入模式】
命令模式→插入模式:
1、按“ a ”鍵:進(jìn)入插入模式后,在光標(biāo)當(dāng)前位置的下一個位置開始插入文字。
2、按“ i ”鍵:進(jìn)入插入模式后,在光標(biāo)當(dāng)前位置開始插入文字。
3、按“ o ”鍵:進(jìn)入插入模式后,插入新一行開始插入。
插入模式→命令模式:按 “Esc” 鍵。
【命令模式】【底行模式】
命令模式→底行模式:shift+ ';'(也就是輸入':')
底行模式→命令模式:按 “Esc” 鍵。
插入模式和底行模式不能直接切換,只能通過命令模式來切換,所以命令模式是使用最頻繁的模式。
4.3退出vim
退出vim一共有兩種方法:
? 在命令模式下,輸入大寫的“ZZ”。
? 在底行模式下,輸入w保存當(dāng)前文件,輸入q退出vim。
wq:保存并且退出。
q!:不保存,強(qiáng)制退出。(加個感嘆號就是強(qiáng)制的意思)
五、命令模式的命令集
5.1 移動光標(biāo)
?基礎(chǔ)移動
? 「h」:光標(biāo)左移一格。(在鍵盤最左,所以是左)
? 「j」:光標(biāo)下移一格。(jump,向下跳,所以是下)
? 「k」:光標(biāo)上移一格。(king,國王高高在上,所以是上)
? 「l」:光標(biāo)右移一格。(在鍵盤最右,所以是右)
?特定位置移動
? 「G」:移動到文本最后。(shift + ‘ g ’)
? 「$」:移動到光標(biāo)所在行的行尾。(shift + ‘ 4 ’)
? 「^」:移動到光標(biāo)所在行的行首。(shift + ‘ 6 ’)
? 「w」:光標(biāo)跳到下個單詞的開頭。
? 「e」:光標(biāo)跳到下個單詞的字尾。
? 「b」:光標(biāo)回到上個單詞的開頭。
? 「nl」:光標(biāo)移到該行的第n個位置,如:5l, 56l。
? 「gg」:進(jìn)入到文本開始。
?屏幕移動
? 「Ctrl + b」:屏幕往后移動一頁。
? 「Ctrl + f」:屏幕往前移動一頁。
? 「Ctrl + u」:屏幕往后移動半頁。
? 「Ctrl + d」:屏幕往前移動半頁。
5.2 刪除文字
?單個字符刪除
? 「x」:刪除光標(biāo)所在位置的一個字符。
? 「#x」:例如,「6x」表示刪除光標(biāo)所在位置后面(包含自己在內(nèi))6個字符。
? 「X」:每按一次,刪除光標(biāo)所在位置的前面一個字符。(shift + ‘ x ’)
? 「#X」:例如,「20X」表示刪除光標(biāo)所在位置的前面20個字符。
?整行刪除
? 「dd」:刪除光標(biāo)所在行。
? 「#dd」:從光標(biāo)所在行開始刪除#行。
5.3 復(fù)制
?字符復(fù)制
? 「yw」:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中。
? 「#yw」:復(fù)制#個字到緩沖區(qū)。
?整行復(fù)制
? 「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)。
? 「cyy」:c代表c行,例如,「6yy」表示拷貝從光標(biāo)所在的該行往下數(shù)6行文字。
?粘貼
? 「p」:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與“y”有關(guān)的復(fù)制命令都必須與“p”配合才能完成復(fù)制與粘貼功能。
?剪切
? 「dd」:剪切光標(biāo)所在行到緩沖區(qū)。
5.4 替換
?單個字符替換
? 「r」:替換光標(biāo)所在處的字符。
? 「R」:替換光標(biāo)所到之處的字符,直到按下「ESC」鍵為止。(shift + ‘ r ’)(實際上是從命令模式進(jìn)入到替換模式,而按ESC是退出替換模式到命令模式)
? 「~」:將光標(biāo)所到之處的字符進(jìn)行大小寫變換,如果是大寫字母就變成小寫,如果是小寫字母就變成大寫。(shift + ‘ · ’)
5.5 撤銷與恢復(fù)
?撤銷上一次操作
? 「u」:撤銷,回到上一個操作。按多次“u”可以執(zhí)行多次撤銷。
?撤銷的恢復(fù)
? 「Ctrl + r」:恢復(fù),回到撤銷前的操作(反撤銷)。按多次可以執(zhí)行多次恢復(fù)。
5.6 更改
? 「cw」:更改光標(biāo)所在處的字到字尾處。
? 「c#w」:例如,「c3w」表示更改3個字。
5.7 跳至指定的行
? 「Ctrl + g」:列出光標(biāo)所在行的行號。
? 「#G」:例如,「15G」,表示移動光標(biāo)至文章的第15行行首。
六、底行模式的命令集
6.1 保存文件
? 「w」:在冒號后輸入字母「w」,保存文件。
6.2 退出
?退出
? 「q」:按「q」退出vim。如果無法離開,可以在「q」后跟一個「!」強(qiáng)制離開。
?保存并退出
? 「wq」:建議離開時搭配「w」一起使用,這樣在退出時還可以保存文件。
6.3 強(qiáng)制執(zhí)行
?強(qiáng)制退出
? 「!q」:強(qiáng)制退出,不保存任何修改。
?強(qiáng)制保存
? 「!w」:強(qiáng)制保存文件,覆蓋原有的只讀限制(前提是有權(quán)限)。
6.4 設(shè)置行號
? 「set nu」:列出光標(biāo)所在行的行號。
? 「set nonu」:撤銷光標(biāo)所在行的行號。
6.5 多文本操作
在底行模式中我們可以利用vs 文件名來實現(xiàn)多文件同屏。
我們還可以通過「Ctrl + w + w」來讓光標(biāo)跳轉(zhuǎn)到下一個文件。
七、Vim的配置
我們在插入模式中,由于未經(jīng)配置,vim不像其它編譯器那樣有自動補(bǔ)全或者顯示行號高亮等功能,導(dǎo)致我們在使用的時候會感到用起來并不是那么絲滑,這個時候我們就需要對vim進(jìn)行配置。
7.1Vim 配置文件的位置
配置項一般都放在家目錄的.vimrc文件中,這個 .vimrc 就叫做配置文件。如果用戶當(dāng)前沒有配置文件,則可以自己touch一個。
之后我們可以通過vim .vimrc來打開配置文件并且進(jìn)行配置項的編輯。
7.2 常用配置項
syntax on " 自動語法高亮 set nu "顯示行號 settabstop=4 " 設(shè)定 tab 長度為 4 set cursorline "突出顯示當(dāng)前行 ......
網(wǎng)上還有更多的配置項,大家可根據(jù)需要自己搜索進(jìn)行配置。
7.3 自動化一鍵配置
這里分享一個可以自動化配置的方案:
VimForCpp: 快速將vim打造成c++ IDE
只需要輸入這行代碼即可完成一鍵配置:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
但是要注意兩點(diǎn),首先強(qiáng)烈不建議使用root賬戶操作,其次該插件只支持 Centos7 x86_64.,也就是說Ubuntu不支持該插件,但是也可以自行搜索進(jìn)行配置。
鏈接:https://blog.csdn.net/Miracle_86
-
Linux
+關(guān)注
關(guān)注
87文章
11432瀏覽量
212458 -
VIM
+關(guān)注
關(guān)注
0文章
136瀏覽量
15606 -
代碼
+關(guān)注
關(guān)注
30文章
4882瀏覽量
70090 -
編輯器
+關(guān)注
關(guān)注
1文章
814瀏覽量
31668
原文標(biāo)題:【Linux】效率革命:Vim-用26個字母鍵重構(gòu)你的代碼宇宙
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
常用編輯器之Vim編輯器
嵌入式學(xué)習(xí)-常用編輯器之Vim編輯器
Vim編輯器之Vim常用操作命令

Linux下怎么使用vim編輯器?
vim Linux文本編輯器
VIM編輯器使用教程
VIM編輯器學(xué)習(xí)
vim編輯器操作指令大全
vim編輯器超實用指南

vim編輯器如何使用
vim編輯器命令模式使用方法
Linux下Vim編輯器的使用技巧

評論