日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

世界上最厲害的編程神器 ,被大多數人拋棄了......

來源: 責編: 時間:2024-04-28 17:20:52 186觀看
導讀如果你第一次在Linux上打開vim時,遇到了圖中的情況,不要尷尬,其他人的第一次vi之旅也是這樣的。圖片等你開始練習vi,就會發現很多古怪的現象,比如:為什么使用H、J、K、L來移動光標?用上下左右箭頭鍵不好嗎?為什么vi要分為分為

如果你第一次在Linux上打開vim時,遇到了圖中的情況,不要尷尬,其他人的第一次vi之旅也是這樣的。fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

等你開始練習vi,就會發現很多古怪的現象,比如:fhi28資訊網——每日最新資訊28at.com

為什么使用H、J、K、L來移動光標?用上下左右箭頭鍵不好嗎?fhi28資訊網——每日最新資訊28at.com

為什么vi要分為分為指令模式,插入模式,命令行模式?切來切去,多麻煩啊!fhi28資訊網——每日最新資訊28at.com

模式切換為什么要用Esc鍵?它在鍵盤的左上角,想要按到它實在太難了!fhi28資訊網——每日最新資訊28at.com

另外,vi的學習曲線為什么如此陡峭?fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

這么難用的東西,我為什么要用它?IDE不香嗎?fhi28資訊網——每日最新資訊28at.com

要想回答這些問題,我們得回到vi誕生的那個時候。fhi28資訊網——每日最新資訊28at.com

1975年秋天,Unix光環加身的大神Ken Thompson回到母校伯克利大學做學術休假,他把帶來的Unix系統安裝到了一個PDP-11/70上,順手還寫了一個Pascal編譯器。fhi28資訊網——每日最新資訊28at.com


fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

嗯,大牛就是這么牛。fhi28資訊網——每日最新資訊28at.com

此時另外一位大神Bill Joy剛剛入學,他在用Pascal寫項目作業的時候,發現了編譯器的缺陷,他也決定做一個黑客,把這個編譯器改好。 fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

那時候沒有IDE,他們使用一個叫ed的文本編輯器來程序,ed也是大神Ken Thompson寫的。fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

ed不好用,后來有人寫出了em,Bill Joy又改進了em, 把它變成了en ,然后是eo, ep......  最后是ex!fhi28資訊網——每日最新資訊28at.com

不管怎么改,它們都是“行編輯器” ,和我們現在用的文本編輯器最大的不同是:fhi28資訊網——每日最新資訊28at.com

沒有光標!只能按行編輯!

是不是有點匪夷所思?沒光標怎么玩啊?fhi28資訊網——每日最新資訊28at.com

舉個例子,有一個文件有兩行,內容如下fhi28資訊網——每日最新資訊28at.com

hello wold !fhi28資訊網——每日最新資訊28at.com

this is an examplefhi28資訊網——每日最新資訊28at.com

我發現第一行的wold寫錯了,想改一下,怎么做呢?fhi28資訊網——每日最新資訊28at.com

那第一步需要先輸入1(表示選中第一行),第一行就會顯示出來。fhi28資訊網——每日最新資訊28at.com

然后用s 命令調用搜索函數,后面跟著搜索文本和替換文本fhi28資訊網——每日最新資訊28at.com

再輸入1,看看結果對不對。fhi28資訊網——每日最新資訊28at.com

整個過程如下,是不是挺讓人崩潰的?fhi28資訊網——每日最新資訊28at.com

hello wold !fhi28資訊網——每日最新資訊28at.com

s/wold/worldfhi28資訊網——每日最新資訊28at.com

hello world !fhi28資訊網——每日最新資訊28at.com

唉,當時的程序員過的都是什么日子啊!fhi28資訊網——每日最新資訊28at.com

Bill Joy 使用ex這個“趁手”的工具,很快就把Thompson留下的“爛攤子”Pascal編譯器給收拾好了,新的Pascal編譯速度很快,運行起來也很快,深受學生們的喜愛。fhi28資訊網——每日最新資訊28at.com

后來,伯克利大學購買了一批叫做ADM-3A的終端,在屏幕上終于支持可以隨意移動的光標了!fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

Bill Joy 欣喜異常,他花了幾個月時間熬夜,重新設計了ex, 增加了“可視化模式”,ex變成了大名鼎鼎的vi。fhi28資訊網——每日最新資訊28at.com

如果你自己看看ADM-3A終端的鍵盤,你就會發現兩件神奇的事情。fhi28資訊網——每日最新資訊28at.com

圖片圖片fhi28資訊網——每日最新資訊28at.com

1.它沒有單獨的上下左右鍵

所以H、J、K、L 鍵只能“兼職”來移動光標。fhi28資訊網——每日最新資訊28at.com

2.Esc鍵和現在的Tab鍵在同一位置

Bill Joy 用它來做模式切換很方便,左手無需離開主行就可以輕松按到。fhi28資訊網——每日最新資訊28at.com

盡管后來PC的鍵盤發生了很大變化,但是習慣成自然,這兩個操作依然被無數用戶守護者,沿用至今。fhi28資訊網——每日最新資訊28at.com

vi是從ex等行編輯器發展而來,也繼承了很多行編輯器的操作,比如用戶都可以使用類似 /pattern 的命令來搜索文本,以及使用 fhi28資訊網——每日最新資訊28at.com

s/old/new/ 的形式來替換文本,或者通過指定行號來定位文本(例如,3 定位到第三行,$ 定位到最后一行)fhi28資訊網——每日最新資訊28at.com

這些操作如果在編輯模式下,就會出問題,3可能就表示用戶的文本,而不是命令了。fhi28資訊網——每日最新資訊28at.com

當然,也可以在編輯模式引入一個特殊的鍵如ctrl 來處理,最常見的是ctrl + c 表示復制, ctrl+v表示粘貼。fhi28資訊網——每日最新資訊28at.com

但是,如果一個字母無法表達想要做的事情,需要敲入多個字母的時候,ctrl特殊鍵的方式就痛苦了,畢竟一個手指按著ctrl鍵,然后再敲一長串字母是很不爽的,對吧?fhi28資訊網——每日最新資訊28at.com

vi把編輯模式和命令模式區分開,就可以在命令模式玩出花兒來,甚至可以基于基本的詞來“造句”fhi28資訊網——每日最新資訊28at.com

動詞

動詞表示對文本的操作,例如fhi28資訊網——每日最新資訊28at.com

d  delete  刪除fhi28資訊網——每日最新資訊28at.com

r   replace  替換fhi28資訊網——每日最新資訊28at.com

y  yank  復制fhi28資訊網——每日最新資訊28at.com

v  visual  選擇fhi28資訊網——每日最新資訊28at.com

名詞

表示待編輯的文本對象fhi28資訊網——每日最新資訊28at.com

w  word  一個單詞fhi28資訊網——每日最新資訊28at.com

s   sentence  一個句子fhi28資訊網——每日最新資訊28at.com

p  paragraph  一個段落fhi28資訊網——每日最新資訊28at.com

修飾符(有人稱為介詞)fhi28資訊網——每日最新資訊28at.com

表示待編輯文本的范圍或者位置fhi28資訊網——每日最新資訊28at.com

i   inside     表示在...之內fhi28資訊網——每日最新資訊28at.com

a  around  表示環繞fhi28資訊網——每日最新資訊28at.com

t   till          直到某個字符(不包括該字符)fhi28資訊網——每日最新資訊28at.com

f   find        直到某個字符(包括該字符)fhi28資訊網——每日最新資訊28at.com

然后就可以組詞成句了:動詞 + 介詞 + 名詞 ,例如:fhi28資訊網——每日最新資訊28at.com

刪除當前的單詞 : diw (delete inside word)fhi28資訊網——每日最新資訊28at.com

改變當前的句子:cis(change inside sentence)fhi28資訊網——每日最新資訊28at.com

刪除文本直到字符e : dte (delete till 'e')fhi28資訊網——每日最新資訊28at.com

選擇一個句子:vis (visual inside sentence)fhi28資訊網——每日最新資訊28at.com

非常強大也非常自然,并且vi還支持自定義,可以定制一套屬于自己的動詞名詞結構出來。fhi28資訊網——每日最新資訊28at.com

當然,復雜的操作可以用鼠標+菜單的方式來實現,那就需要把手從鍵盤上挪開了。fhi28資訊網——每日最新資訊28at.com

值得注意的是,vi 是在Modem只有300波特率的時候編寫的 !fhi28資訊網——每日最新資訊28at.com

即使后來的1200波特率,傳輸文本的速度也比大多數人閱讀的速度慢,更別說300波特率了,這深刻地影響了vi的設計。fhi28資訊網——每日最新資訊28at.com

Bill Joy曾經“酸酸地”說過:那些開發Emacs的家伙們坐在MIT的實驗室中,有著像現在光纖一樣快的網絡,他們可以在屏幕閃爍的情況下發出有趣的命令,而我坐在伯克利的簡陋房子里,用著極其緩慢的調制解調器,幾乎無法讓光標離開底線。人們不會知道,vi是為了一個已經消失的世界編寫的。fhi28資訊網——每日最新資訊28at.com

1979年5月,Bill Joy發布了vi,初期用戶可能只有75個人。fhi28資訊網——每日最新資訊28at.com

但是vi像野火一樣,迅速燒遍了Unix世界。fhi28資訊網——每日最新資訊28at.com

1988年,Bram Moolenaar 寫出了vi的模仿品,Vi IMitation(簡稱vim)。fhi28資訊網——每日最新資訊28at.com

隨后幾年,他不斷完善,1991年,正式發布了vim,不過,此時它的含義是 Vi IMproved。fhi28資訊網——每日最新資訊28at.com

不管怎么模仿、改進,它依然保留了vi那些來自 ADM-3A的,“古怪”的按鍵和模式,因為這已經成了vi程序員的信仰。fhi28資訊網——每日最新資訊28at.com

圖片fhi28資訊網——每日最新資訊28at.com

一旦你跨過了那陡峭的學習曲線,真正掌握了vim,你就掌握了一個最厲害的編程神器,那些vim熟手在使用vim時,雙手在鍵盤上翻飛,光標在屏幕上游動,代碼在飛速地變換,讓人賞心悅目。fhi28資訊網——每日最新資訊28at.com

但是,vim“古怪”的按鍵和模式,讓更多的程序員淺嘗輒止,退回到了傳統的編輯器和IDE,不能不說,這是一個很大的遺憾。fhi28資訊網——每日最新資訊28at.com

fhi28資訊網——每日最新資訊28at.com

如需轉載,請通過作者微信公眾號coderising獲取授權。fhi28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-86214-0.html世界上最厲害的編程神器 ,被大多數人拋棄了......

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Rust優于C++的兩個原因 ?

下一篇: 純 CSS 檢測文本是否溢出

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 稻城县| 盐源县| 永川市| 肥城市| 抚宁县| 婺源县| 阿拉善左旗| 临澧县| 梅河口市| 洞头县| 天峨县| 瑞昌市| 保山市| 泰顺县| 淳化县| 桓仁| 长岭县| 池州市| 宜章县| 蕲春县| 阆中市| 田阳县| 嘉鱼县| 登封市| 巢湖市| 灌云县| 博客| 林口县| 丽江市| 姜堰市| 山西省| 贺州市| 松江区| 平山县| 大足县| 合水县| 莱州市| 金塔县| 临江市| 栾川县| 增城市|