摘要:原文地址實(shí)戰(zhàn)指南一基礎(chǔ)編輯命令和作為兩大神級(jí)文本編輯器各有利弊,本實(shí)戰(zhàn)指南不加討論的介紹本實(shí)戰(zhàn)指南不是教你按照的鍵位圖來(lái)編輯文本,而是從實(shí)戰(zhàn)的角度,教你如何快速的用來(lái)開(kāi)發(fā)你的程序,節(jié)省你的開(kāi)發(fā)時(shí)間。
原文地址:Vim實(shí)戰(zhàn)指南(一):基礎(chǔ)編輯命令
IntroductionVim和Emacs作為兩大神級(jí)文本編輯器各有利弊,本實(shí)戰(zhàn)指南不加討論的介紹Vim.
本實(shí)戰(zhàn)指南不是教你按照Vim的鍵位圖來(lái)編輯文本,而是從實(shí)戰(zhàn)的角度,教你如何快速的用Vim來(lái)開(kāi)發(fā)你的程序,節(jié)省你的開(kāi)發(fā)時(shí)間。
為什么不用IDE?IDE固然強(qiáng)大,但并不是每一個(gè)環(huán)境都有現(xiàn)成的IDE可用,尤其是SSH遠(yuǎn)程計(jì)算機(jī),就一個(gè)bash解析器可以使用,完全沒(méi)有圖形化界面。IDE的另一個(gè)弊端就是需要反復(fù)的安裝升級(jí)更新。
當(dāng)然IDE也有省事的時(shí)候,例如開(kāi)發(fā)Java和C#,IDE自帶的debug調(diào)試工具,可以非常便利的調(diào)試程序。
但是在類(lèi)Unix系統(tǒng)上開(kāi)發(fā),我還是推薦學(xué)習(xí)熟練地使用Vim。何為熟練?完全舍棄你的鼠標(biāo),只使用鍵盤(pán)快速的進(jìn)行開(kāi)發(fā)即為熟練。
介紹Vim(全稱是vi improved)之前,自然首先要從vi(全稱是visual editor)開(kāi)始。
對(duì)于初學(xué)者來(lái)說(shuō),vi的學(xué)習(xí)曲線可能比較陡峭。vi分為插入模式(insert mode)以及命令行模式(command mode)。
在Unix/Linux的bash下,輸入vi來(lái)編輯文本。注意,當(dāng)你使用vi修改文本時(shí),并不是真正的修改了存放在磁盤(pán)上的文件,而是修改了該文件在內(nèi)存中的拷貝副本。只有當(dāng)你顯示的保存文件時(shí),該內(nèi)存中的副本才會(huì)被寫(xiě)入磁盤(pán),并覆蓋文件。
$ vi testfileCommand Mode
在命令行模式下,vi的常用命令可以按以下方式速記:
編輯類(lèi)保存退出類(lèi)i: insert,進(jìn)入插入模式,新字符插入在光標(biāo)前
a: append,進(jìn)入編輯模式,新字符插入在光標(biāo)后
c: change,修改
d: delete,刪除
p: put,放置,可以將d刪除的內(nèi)容,放置在光標(biāo)后面
y: yank,拷貝
r: replace,替換,和c不同在于,不必進(jìn)入編輯模式即可替換
s: substitute,替代,和c不同在于,可以只修改一個(gè)字符而非整個(gè)字
x: x,和d不同在于,可以只刪除一個(gè)字符而非整個(gè)字
~: change case,替換大小寫(xiě)
.: repeat,重復(fù)上一條命令
u: undo,撤銷(xiāo)上一條命令
J: join,將兩行合并為一行
移動(dòng)光標(biāo)類(lèi)q: quit,退出,如果有未保存的修改則無(wú)法退出
q!: force quit,強(qiáng)制退出
w: write edits to disk (save file),保存文件
w!: force write,強(qiáng)制保存
ZZ: quit and save edits,保存文件并退出
e!: revert your changes,回滾所有修改至原始狀態(tài)
h: left,向左移動(dòng)光標(biāo)
j: down,向下移動(dòng)光標(biāo)
k: up,向下移動(dòng)光標(biāo)
l: right,向由移動(dòng)光標(biāo)
0: digit zero, move to beginning of line,移動(dòng)到行首
$: move to end of line,移動(dòng)到行尾
w: move by word,按字向后移動(dòng)光標(biāo)(包括標(biāo)點(diǎn))
W: move by large word,按字向后移動(dòng)光標(biāo)(忽略標(biāo)點(diǎn))
b: move backward by word,按字向前移動(dòng)光標(biāo)(包括標(biāo)點(diǎn))
B: move backward by large word,按字向前移動(dòng)光標(biāo)(忽略標(biāo)點(diǎn))
e: move to end of word,移動(dòng)到字尾(包括標(biāo)點(diǎn))
E: move to large end of word,移動(dòng)到字尾(忽略標(biāo)點(diǎn))
G: go to end of the file,移動(dòng)到文件末尾最后一行
記住,vi對(duì)于命令區(qū)分大小寫(xiě),I和i不是同一個(gè)命令。vi的命令不會(huì)顯示在屏幕上,每一個(gè)命令后面不需要敲擊回車(chē)(Enter)。
當(dāng)你不知道你處于哪個(gè)模式下時(shí),連續(xù)按3下Esc總能讓你回到命令行模式。
vi的便捷性在于你可以組合命令,通過(guò)數(shù)字+字母,或者字母+字母,甚至數(shù)字+字母+字母,可以將單命令構(gòu)造出你想操作的組合命令
3h: 3 left,向左移動(dòng)3次光標(biāo),等同于lll
3W: 3 move by large word,按3個(gè)字向后移動(dòng)光標(biāo)(忽略標(biāo)點(diǎn)等)
1G: go to line 1,移動(dòng)到文件首行
3G: go to line 3,移動(dòng)到文件第三行
cw: change, move by word,修改后面的一個(gè)字
c3b: change, move backward by 3 words,修改前面的三個(gè)字
c$: change, move to end of line,修改光標(biāo)后面整行文字
c0: change, move to beginning of line,修改光標(biāo)之前整行文字
dw: delete word,刪除字
d3w: delete 3 words,刪除三個(gè)字
3p: put 3 times,重復(fù)放置3次
甚至你可以重復(fù)組合
Summarycc: change line,修改整行
dd: delete line,刪除整行
3dd: delete 3 line,刪除三行
yy: yank line,拷貝整行
上述的基本命令一定要熟記于心,加強(qiáng)練習(xí)。不要覺(jué)得命令太多,仔細(xì)研究會(huì)發(fā)現(xiàn)命令之間有規(guī)律可循。只需要記住幾個(gè)基礎(chǔ)命令,通過(guò)場(chǎng)景構(gòu)造便可以得到組合命令,這也是vi的便利以及魅力所在。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24840.html
摘要:原文地址實(shí)戰(zhàn)指南三高級(jí)技巧當(dāng)入門(mén)后,在你日常使用中,會(huì)遇到下面幾個(gè)問(wèn)題我編輯好的文本,怎么無(wú)法保存是不是要重新來(lái)一次我誤操作,怎么回退撤銷(xiāo)只能退出重新打開(kāi)嗎我能同時(shí)復(fù)制多個(gè)不連續(xù)的行嗎一行一行復(fù)制粘貼太慢了。 原文地址:Vim實(shí)戰(zhàn)指南(三):高級(jí)技巧 Introduction 當(dāng)vi入門(mén)后,在你日常使用中,會(huì)遇到下面幾個(gè)問(wèn)題: 我編輯好的文本,怎么無(wú)法保存?是不是要重新來(lái)一次? 我誤...
摘要:原文地址實(shí)戰(zhàn)指南四命令是下的一個(gè)文本編輯器。你已經(jīng)見(jiàn)過(guò)中的,沒(méi)錯(cuò),這些就是來(lái)自于命令。當(dāng)你希望顯示某行,輸入命令,顯示器上才會(huì)顯示那行。而控制這個(gè)顯示器顯示文本的命令行工具,就是。 原文地址:Vim實(shí)戰(zhàn)指南(四):ex命令 Introduction ex是Unix下的一個(gè)文本編輯器。至于為什么突然講到這個(gè),那是因?yàn)関i就是ex的visual mode。你已經(jīng)見(jiàn)過(guò)vi中的:w, :q!,...
摘要:原文地址實(shí)戰(zhàn)指南九多窗口編輯雖然我們?cè)趯?shí)戰(zhàn)指南四命令介紹了如何同時(shí)打開(kāi)多個(gè)文件,但是仍然需要通過(guò)來(lái)切換,對(duì)于編程來(lái)說(shuō)不太方便。 原文地址:Vim實(shí)戰(zhàn)指南(九):多窗口編輯 Introduction 雖然我們?cè)赩im實(shí)戰(zhàn)指南(四):ex命令介紹了如何同時(shí)打開(kāi)多個(gè)文件,但是仍然需要通過(guò)n/N來(lái)切換,對(duì)于編程來(lái)說(shuō)不太方便。Vim支持多窗口編輯,可以讓你同時(shí)打開(kāi)并編輯多個(gè)文件。 多窗口的便利 ...
摘要:執(zhí)行命令的命令同樣可以使用命令行工具,這樣省去你退出輸入命令后再重新打開(kāi)的尷尬。在中,輸入來(lái)執(zhí)行命令行工具,如將列出當(dāng)前目錄下的所有文件。 原文地址:Vim實(shí)戰(zhàn)指南(六):環(huán)境偏好配置 Introduction 有沒(méi)有想過(guò)讓你的vi環(huán)境與眾不同?vi可以將你的環(huán)境偏好配置保存下來(lái),甚至支持配置腳本,自定義快捷鍵,和Unix命令行交互,這些便利將進(jìn)一步提高你的編輯速度。 環(huán)境配置 vi使...
摘要:原文地址實(shí)戰(zhàn)指南八前面我們介紹了很多的功能,現(xiàn)在我們進(jìn)入我們的重頭戲。是增強(qiáng)版,相比,增加了很多更實(shí)用的功能。支持可以將你選定的內(nèi)容存在中,內(nèi)容可以包括統(tǒng)計(jì)信息,上一次退出的光標(biāo)位置。同樣也有偏好配置,使用的文件是。 原文地址:Vim實(shí)戰(zhàn)指南(八):Vim vs vi Introduction 前面我們介紹了很多vi的功能,現(xiàn)在我們進(jìn)入我們的重頭戲:Vim。Vim是增強(qiáng)版vi(vi i...
閱讀 1461·2021-11-24 09:39
閱讀 3636·2021-09-29 09:47
閱讀 1581·2021-09-29 09:34
閱讀 3081·2021-09-10 10:51
閱讀 2548·2019-08-30 15:54
閱讀 3228·2019-08-30 15:54
閱讀 881·2019-08-30 11:07
閱讀 1013·2019-08-29 18:36