新聞中心
背景
雖然筆者是Android開(kāi)發(fā)工程師,但也接觸過(guò)各種IDE(不限于Android開(kāi)發(fā))。不同的IDE往往都有不同的快捷鍵,我們總不能對(duì)每種IDE都進(jìn)行配置吧。實(shí)際上,現(xiàn)在大部分IDE都能通過(guò)插件的形式支持Vim了。所以,只需要掌握Vim的基本使用,在支持Vim的IDE都能很快上手,熟悉的操作,熟悉的手感。

成都創(chuàng)新互聯(lián)公司專注于惠農(nóng)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供惠農(nóng)營(yíng)銷型網(wǎng)站建設(shè),惠農(nóng)網(wǎng)站制作、惠農(nóng)網(wǎng)頁(yè)設(shè)計(jì)、惠農(nóng)網(wǎng)站官網(wǎng)定制、微信小程序開(kāi)發(fā)服務(wù),打造惠農(nóng)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供惠農(nóng)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Vim模式
Vim可分為3種模式,分別是Normal模式、Visual模式和Insert模式。以下的基本操作都是在Normal模式進(jìn)行。三種模式的區(qū)別這里不詳解了,Bing搜索有很多相關(guān)的基礎(chǔ)教程。
三者的關(guān)系可用下圖簡(jiǎn)單描述
基本操作
光標(biāo)移動(dòng)
注意區(qū)分字母大小寫(xiě)
上下左右
直接看表格,簡(jiǎn)單易懂。一開(kāi)始會(huì)有點(diǎn)別扭,但是熟悉之后你會(huì)愛(ài)上他的。
| k(上) | |
|---|---|
| h (左) | l (右) |
| j (下) |
單詞間定位
鍵位
如果是大寫(xiě),則單詞允許包含標(biāo)點(diǎn)
w(向前跳到單詞詞首)
e(向前跳到單詞詞尾)
b(向后跳到單詞詞首)
行內(nèi)定位
鍵位
$(定位到行尾)
0(定位到行首)
^(定位到行首,忽略空格)
f
正向搜索ch字符,ch如果是字母則區(qū)分大小寫(xiě)
F 反向搜索ch字符,ch如果是字母則區(qū)分大小寫(xiě)
塊定位
鍵位
{(跳到上一個(gè)代碼塊)
}(跳到下一個(gè)代碼塊)
%(定位到另一個(gè)匹配的括號(hào))
頁(yè)面定位
鍵位
gg(定位到頁(yè)面的***行) G(定位到頁(yè)面的***一行) H(定位到當(dāng)前頁(yè)面的頂部,High首字母大寫(xiě)) M(定位到當(dāng)前頁(yè)面的中部,Middle首字母大寫(xiě)) L(定位到當(dāng)前頁(yè)面的底部,Low首字母大寫(xiě)) nG或ngg(定位到指定行,n表示行數(shù),需大于0, 如果大于***行數(shù),則會(huì)直接跳轉(zhuǎn)到頁(yè)面***一行) m和'(這是一對(duì)很強(qiáng)大的命令,可標(biāo)記一個(gè)位置,然后在同頁(yè)面快速定位到該標(biāo)志。m表示mark,a是一個(gè)字母,可以是26字母的其中一個(gè),'是單引號(hào),后面跟上前面標(biāo)記的字母)
屏幕滾動(dòng)
整屏滾動(dòng)
鍵位
Ctrl + f (向下滾動(dòng)一屏內(nèi)容,F(xiàn)oward首字母小寫(xiě))
Ctrl + b (向上滾動(dòng)一屏內(nèi)容,Backward首字母小寫(xiě))
半屏滾動(dòng)
鍵位
Ctrl + d(向下滾動(dòng)半屏內(nèi)容,Down首字母小寫(xiě))
Ctrl + u(向上滾動(dòng)半屏內(nèi)容,Up首字母小寫(xiě))
行滾動(dòng)
鍵位
Ctrl + e(向下滾動(dòng)一行內(nèi)容)
Ctrl + y(向上滾動(dòng)一行內(nèi)容)
編輯模式
插入
鍵位
i(在光標(biāo)處插入,insert首字母小寫(xiě))
I(在行首插入,insert首字母大寫(xiě))
a(在光標(biāo)處后一個(gè)字符插入,append首字母小寫(xiě))
A(在行尾插入,append首字母大寫(xiě))
o(在上一行插入)
O(在下一行插入)
cc/S(清除當(dāng)前行并進(jìn)入插入模式)
s(清除當(dāng)前字符并進(jìn)入插入模式)
恩,這個(gè)很簡(jiǎn)單,就不貼圖了。
查找
鍵位
/pattern(正向查找)
?pattern(反向查找)
n(查找下一個(gè))
N(查找上一個(gè))
*(當(dāng)光標(biāo)定位在某個(gè)單詞時(shí),查找下一個(gè)該單詞)
#(當(dāng)光標(biāo)定位在某個(gè)單詞時(shí),查找上一個(gè)該單詞)
替換
鍵位
:%s/old/new/g(全局替換old為new)
:s/old/new/g(替換當(dāng)前行old為new)
注意,替換操作僅在當(dāng)前頁(yè)面生效,使用該替換操作需謹(jǐn)慎。
建議使用IDE自帶的重命名操作,可以將對(duì)應(yīng)的引用也一起重命名!
剪切、復(fù)制、粘貼
鍵位
dd(剪切當(dāng)前行的內(nèi)容)
D(剪切光標(biāo)后到行尾的內(nèi)容)
yy/Y(復(fù)制當(dāng)前行的內(nèi)容)
p(粘貼到光標(biāo)后)
P(粘貼到光標(biāo)前)
撤銷
鍵位
u(撤銷上一步,IDE一般都是Cmd + Z)
這個(gè)簡(jiǎn)單,也不貼圖了。
組合操作
組合操作可以看作是op+i/a+scope公式的應(yīng)用,解釋一下這個(gè)公式,op就是我們前面提到的插入(c)、剪切(d)、復(fù)制(y)以及還未提到的選擇(v),i表示scope范圍內(nèi),a表示包含scope標(biāo)簽,scope就是操作的范圍了。這樣講比較抽象,下面舉例幾個(gè)常用組合。
選擇文本
鍵位
以下如果將i換成a,則會(huì)將符號(hào)也包含進(jìn)去
vib(選中小括號(hào)內(nèi)的內(nèi)容)
viB(選中大括號(hào)內(nèi)的內(nèi)容)
vi"(選中雙引號(hào)內(nèi)的內(nèi)容)
vi'(選中單引號(hào)內(nèi)的內(nèi)容)
vi<(選中尖括號(hào)內(nèi)的內(nèi)容)
同理,將選擇操作(v)替換成插入(c)、剪切(d)或者復(fù)制(y),也能實(shí)現(xiàn)類似的效果。
神奇操作
IDE支持跳轉(zhuǎn)到變量(方法)的定義處或者調(diào)用處,Vim也支持,而且也很方便。只需要將光標(biāo)定位到方法名,然后輸入 gd 即可。配合Android Studio的Navigate Back,可以十分方便地查看方法的調(diào)用。
Navigate Back設(shè)置
碎語(yǔ)
當(dāng)掌握了Vim,以后如果使用了新的IDE或者開(kāi)發(fā)環(huán)境,只要支持Vim,我們就能很快的熟悉開(kāi)發(fā)環(huán)境。當(dāng)然,很多IDE提供了更完善的快捷鍵,筆者的觀點(diǎn)是,Vim和IDE配合著使用,互補(bǔ)缺點(diǎn)。
參考鏈接
-
https://jasonliao.me/posts/2016-08-09-you-dont-know-vim.html
-
https://vim.rtorr.com/lang/zh_cn/
當(dāng)前題目:Android如何用Vim提高開(kāi)發(fā)效率
URL分享:http://m.fisionsoft.com.cn/article/dpipggp.html


咨詢
建站咨詢
