摘要:本篇文章聚焦的是研發(fā)線上最常用的一些功能。養(yǎng)成習(xí)慣最大的貢獻(xiàn)就是它的按鍵系統(tǒng)。這不能說不對(duì),但這也拋棄了最大的精華所在,效率上低了一大截。使用進(jìn)行漫游,選中相應(yīng)的內(nèi)容。宏錄制這可以說是的一個(gè)殺手锏了。將文件中的每一行添加到中。
新來的朋友,既得關(guān)注微信公眾號(hào)《小姐姐味道》,更多精彩!https://mp.weixin.qq.com/s?__...
引子研發(fā)線上使用最多的編輯器,就是vi。無論是最快查看某個(gè)文件內(nèi)容,還是快速編輯某個(gè)文件,vi都能幫上忙。
軟件世界貌似有一些非常長壽的東西,vi算是一個(gè)。本篇文章聚焦的是研發(fā)線上最常用的一些功能。至于安裝插件,寫一些腳本,那一般是在開發(fā)機(jī)上玩的,生產(chǎn)環(huán)境沒有條件、也沒有時(shí)間忍受你做這些增強(qiáng)。希望看完本文,能夠?qū)@款神器有一個(gè)大體印象。當(dāng)然,熟練的使用還需要日常有意識(shí)的培養(yǎng)。
vim是vi的增強(qiáng)版,一般現(xiàn)代linux都不缺那幾兆空間,所以預(yù)裝的都是增強(qiáng)版,本文默認(rèn)使用vim。養(yǎng)成習(xí)慣
vim最大的貢獻(xiàn)就是它的按鍵系統(tǒng)。這也是為什么chrome、idea、atom等編輯器都會(huì)提供一個(gè)vim mode。筆者見過很多資深的程序員,包括架構(gòu)師,習(xí)慣使用方向鍵去控制光標(biāo)的移動(dòng)。這不能說不對(duì),但這也拋棄了vim最大的精華所在,效率上低了一大截。堅(jiān)持使用h、j、k、l,你會(huì)感謝你今天的糾正。大腦和手指真的是有記憶,當(dāng)你用的足夠多,這也就成了你約定俗成的設(shè)定。
vim另外一個(gè)特點(diǎn)就是帶模式的。一共四種模式,我們不需要記憶,只需要使用例子去理解即可。
不要添亂不要使用vim打開大文件,vim會(huì)一次性讀取所有內(nèi)容到內(nèi)存,容易造成宿主機(jī)內(nèi)存溢出。
打開文件前,可以使用du -h命令查看文件大小。一般,100MB以下為宜。
j 向下
30j 向下移動(dòng)30行
k 向上
h 向左
l 向右
0 到行首
^ 到行首第一個(gè)字符,如果前面有空格的話
$ 到行尾
gg 快速到文件頭
G 快速到文件尾
100G 跳轉(zhuǎn)到第100行
不建議在插入模式下進(jìn)行光標(biāo)移動(dòng),這很低效
復(fù)制:y剪切: xyy 復(fù)制一行
10yy 向下復(fù)制10行
yw 復(fù)制光標(biāo)開始的一個(gè)單詞
y$ 復(fù)制光標(biāo)到行尾
yfB 復(fù)制光標(biāo)到第一個(gè)大寫B(tài)中間的內(nèi)容
y2fB 復(fù)制光標(biāo)到第二個(gè)大寫B(tài)中間的內(nèi)容
刪除:dx 向剪切一個(gè)一個(gè)字符,如果是在行尾,則為向前剪切
3x 剪切三個(gè)
xp 非行尾交換兩個(gè)字符,如從bs變成sb
刪除的內(nèi)容會(huì)放到剪貼板,按p即可粘貼到其他地方
粘貼: pdd 刪除一行
200dd 刪除200行
dw 刪除一個(gè)單詞 (最喜歡啦)
df" 刪除到出現(xiàn)的第一個(gè)雙引號(hào)
可視化模式 v 行模式,選擇一些內(nèi)容p 粘貼復(fù)制或剪切的內(nèi)容
3p 將復(fù)制或剪切的內(nèi)容粘貼三次
可視化模式是非常有用的一種模式,在普通模式下按v即可進(jìn)入。
使用h、j、k、l進(jìn)行漫游,選中相應(yīng)的內(nèi)容。
例子,選中一部分想要的內(nèi)容,并刪除。
演示:將文件中的每一行添加到ArrayList中:
1) 在命令模式下,執(zhí)行%s/$/");/g,在行尾追加數(shù)據(jù)
2) 按ESC進(jìn)入普通模式,并使用gg回到行首
3) 按ctrl+v進(jìn)入可視化模式,然后按G到文件尾
4) 不要理會(huì)編輯器反應(yīng),按I進(jìn)入插入模式,輸入list.add("
5) 按ESC回到普通模式,可以發(fā)現(xiàn)以上輸入已經(jīng)在每一行生效了
塊模式還可以完成列的呼喚,貌似在UE里見過此神技。
上面的例子里已經(jīng)展示了命令模式的進(jìn)入模式。在普通模式下,輸入:即可進(jìn)入。
%s/$/sth/ 在行尾追加sth
%s/^M//g 替換掉dos換行符,^M使用ctrl+v + Enter即可輸入
:g/^s*$/d 刪除空行以及只有空格的行
%s/#.*//g 刪除#之后的字符
沒錯(cuò),命令模式用的是正則,這些經(jīng)驗(yàn)是通用的
你已經(jīng)發(fā)現(xiàn)了,這大概就是針對(duì)編輯器窗口的sed命令。
查找字符串同樣的,正則的知識(shí)也可以應(yīng)用*
在普通模式下,按下/直接進(jìn)入查找,輸入相應(yīng)的字符串按確定即可。
n 查找下一個(gè)匹配
N 查找上一個(gè)匹配
2n 查找下面第二個(gè)匹配
如果覺得跳來跳去暈頭轉(zhuǎn)向,可以在命令模式下輸入set nu開啟行號(hào)。
宏錄制這可以說是vim的一個(gè)殺手锏了。拿上面的例子來說。
將文件中的每一行添加到ArrayList中。
1) 按下gg到行首
2) 按下qa進(jìn)行宏錄制,a是我們起的一個(gè)標(biāo)記名稱
3) 按I進(jìn)入插入模式,輸入list.add("
4) 按ESC進(jìn)入普通模式,然后按$跳到行尾
5) 按j進(jìn)入下一行,然后按^回到行首
6) 再次按下q結(jié)束宏錄制
7) 輸入@a觸發(fā)宏測試一下錄制效果
8) 輸入100@a重復(fù)宏100次,也就是影響下面的100行
可以錄制不同的多個(gè)宏,方面的進(jìn)行批量操作
其他另外用的一些比較少的主要功能有
退出編輯器r 替換字符
ggVG 全選
u 恢復(fù)更改
J 合并下一行
gU 光標(biāo)處轉(zhuǎn)大寫
ggguG 整篇文章大寫轉(zhuǎn)化為小寫
% 跳轉(zhuǎn)到下一個(gè)匹配,如在
上按%,則跳轉(zhuǎn)到相應(yīng)的:e /tmp/a 在同一個(gè)編輯器內(nèi)打開/tmp/a文件。同一個(gè)編輯器的緩沖區(qū)是剪貼板是共享的,可以方便在多個(gè)文件中復(fù)制
bp 跳轉(zhuǎn)到上一個(gè)緩沖區(qū)
bn 跳轉(zhuǎn)到下一個(gè)緩沖區(qū)
wq 保存當(dāng)前文件并退出
wqa 保存所有文件并退出
q! 不保存,直接退出
qa! 有多個(gè)文件被打開,同時(shí)退出
本篇文章只聚焦常用功能,幫助讀者快速處理線上文本。至于更多的,也裝不下,只有你自己去探索嘍。
vim的入門門檻比較高,幸運(yùn)的是,用多了,你就無法釋手了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72471.html
摘要:本篇文章聚焦的是研發(fā)線上最常用的一些功能。養(yǎng)成習(xí)慣最大的貢獻(xiàn)就是它的按鍵系統(tǒng)。這不能說不對(duì),但這也拋棄了最大的精華所在,效率上低了一大截。使用進(jìn)行漫游,選中相應(yīng)的內(nèi)容。宏錄制這可以說是的一個(gè)殺手锏了。將文件中的每一行添加到中。 新來的朋友,既得關(guān)注微信公眾號(hào)《小姐姐味道》,更多精彩!https://mp.weixin.qq.com/s?__... 引子 研發(fā)線上使用最多的編輯器,就是v...
摘要:本篇文章聚焦的是研發(fā)線上最常用的一些功能。養(yǎng)成習(xí)慣最大的貢獻(xiàn)就是它的按鍵系統(tǒng)。這不能說不對(duì),但這也拋棄了最大的精華所在,效率上低了一大截。使用進(jìn)行漫游,選中相應(yīng)的內(nèi)容。宏錄制這可以說是的一個(gè)殺手锏了。將文件中的每一行添加到中。 新來的朋友,既得關(guān)注微信公眾號(hào)《小姐姐味道》,更多精彩!https://mp.weixin.qq.com/s?__... 引子 研發(fā)線上使用最多的編輯器,就是v...
摘要:替換模式以上是命令的常用匹配模式,但它還有一個(gè)強(qiáng)大的替換模式,意思就是查找替換其中的某些值,并輸出結(jié)果??磧蓚€(gè)命令的語法好玩由于正則的關(guān)系,很多字符需要轉(zhuǎn)義。注意前半部分的范圍是不能使用這種方式的。sed命令應(yīng)用廣泛,使用簡單,是快速文本處理的利器。它其實(shí)沒多少技巧,背誦、使用是最合適的學(xué)習(xí)渠道,屬于硬技能。但它又很復(fù)雜,因?yàn)楦呒?jí)功能太多。本篇不去關(guān)注sed的高級(jí)功能,僅對(duì)常用的一些操作,進(jìn)...
閱讀 2584·2021-11-24 09:38
閱讀 2614·2019-08-30 15:54
閱讀 929·2019-08-30 15:52
閱讀 1916·2019-08-30 15:44
閱讀 2724·2019-08-30 13:48
閱讀 777·2019-08-29 16:21
閱讀 1006·2019-08-29 14:03
閱讀 2222·2019-08-28 18:15