[Powered by Google Translate] [研討會VIM] 布蘭登劉] [哈佛大學] 這是CS50。[CS50.TV] 今天是怎麼回事到Vim的介紹。 有多少你們聽說過的Vim? 你有沒有聽說過關於Vim什麼? [學生]:它解決了所有的問題。 布蘭登L.],它解決了所有的問題。 還有什麼你們聽說過Vim的?有什麼印象呢? [學生]:我已經說過了幾乎每個人都喜歡用Vim。 哦,甜甜的。 [學生]:我知道像使用Vim的人很多。 好了,這是很好的,因為有很多人在CS51 開始回升的Emacs,因為Emacs有稍微好一點的支持 你要使用CS51的語言, 我擔心沒有足夠的人使用vim在哈佛, 所以我真的嘗試做好鼓勵Vim的使用。 但是,這裡是一個典型的XKCD漫畫,你們可能會覺得有趣。 你們用納米之前在所有? 這本漫畫說,納米?真正的程序員使用Emacs。 嘿,真正的程序員使用Vim。 不,真正的程序員使用ed,這是你沒有想過要使用ED。 這是真的,真的老了,真的很糟糕,和真正的程序員使用 一個的磁化針和一個穩定的手。 你可以閱讀的休息,但它是非常有趣的。 有趣的是,在最後。 他們說,“哦,是的,當然,還有一個Emacs命令來做到這一點。” 好老CX MC M-蝴蝶,這是一種刺戳在Emacs的 因為Emacs是歷史上被稱為是有點臃腫 和幾乎任何命令,所以這是樣的Emacs的一個笑話。 Vim是什麼? Vim是一個高級程序員的文本編輯器。 我真的想使文本編輯器之間的區別 類似的文檔處理器。 被稱為Microsoft Word中的文檔處理器。 可以設置頁邊距,使事情變得大膽,強調的事情, 罷工通過的東西,改變字體大小和諸如此類的東西。 不執行任何一個文本編輯器不僅僅是編輯文本。 從字面上看,你只是個字符。 有沒有樣的造型,大小,字體,顏色,或類似的東西。 所有你要做的是編輯文本,和Vim特別是為編程。 它有很多的功能,內置在短短的編程。 它的設計明確的高效的文字編輯。 Vim是在一般情況下,已知的是基本上是最快的文本編輯器 你有可能使用與任何其他的文本編輯器,這是可能的。 很多IDE類似的功能直接內置到Vim, 因此,如果你使用的是IDE,你所熟悉的事情,比如編譯並自動運行 或調試什麼不同的東西在您的IDE或整個主機 Vim不來,自然, 但也有一大堆的插件,你可以用它來添加,排序的功能Vim的。 Vim中本身集中在文本編輯和文字編輯真的,真的好。 最後,它是真正的可定制和可擴展的, 基本上Vim的周圍,或Vi,Vim的是建立在, 已經有超過40年,這是一個非常,非常深的程序, ,人們會用它的一生中,從來沒有真正掌握程序,其最大的, ,你將永遠在你的一生中不斷地學習,多年來, 總是越來越好。 基本上是沒有止境的,你可以學習和提高多少,你可以用Vim, 這實在是令人興奮的。 你不想把它當作可怕的東西,因為你可能會變得非常,非常精通 在Vim在短短的幾個星期,但它有點像一個不斷 你可以隨時了解和學習更多的事情做的更好,更好的, 這是一種令人興奮的我。 與Vim看起來這是一個例子。 這是不是我的。現在,你會看到一些現場演示。 這是一個例子,與Vim的樣子。 我們要做的今天,我們要開始  一個快速的展示,Vim可以做什麼。 我要為你們做一些技巧和諸如此類的東西 所以你可以看到我為什麼喜歡Vim這麼多,為什麼人們喜歡Vim這麼多, 然後從那裡我們將進入一個溫柔的介紹。 事實上,這將是一個有點快,介紹Vim的。 我會問你下載一個文本文件,如果你能跟隨我的人。 這是Vim,並在這裡我使用的MacVim, 所以,如果你們有Mac電腦,你可能要考慮使用的MacVim 因為它是一個圖形化版本的Vim,雖然普通的Vim, 在命令行中,工作得很好。 我要告訴你一些隨機的技巧和竅門 您可以使用Vim來告訴你為什麼它是如此的酷。 就在幾個隨機的東西,我會去通過。 第一件事就是文本對象,有幾個命令的文本對象, 實際上,我會教你什麼樣的文本對象是在後面詳細的研討會, 例如,讓我們說我錯我的名字拼寫, Barndon劉,我想改變它。 所有我需要做的就是讓我在我的名字和類型,光標停在某個命令 CIW,它會刪除我的全名,我在插入模式下, 我可以輸入我的名字,並修復它。 同樣,如果我想改變引號裡面的東西也有一個命令是什麼。 我可以刪除引號裡面的東西。 沒有更多的雙擊,鼠標移動你的手, 雙擊,然後鍵入的東西。互動式 你可以做一切從鍵盤,不管它是什麼。 或者,或者,讓我們說我有這樣的圖像標籤,這裡面錨標記。 你們涵蓋在課堂上的HTML嗎? 是啊,所以也許我想刪除這個標籤, 通常你必須做的是,你必須用你的鼠標 仔細突出刪除,並刪除它正是你想要的。 但在Vim簡單的DIT,你可以刪除它真的很快, ,我會向你解釋所有這些命令的意思是什麼,以及如何使用他們的第二。 另外一個例子,在這裡我有一些代碼, 並讓說,我要縮進的代碼,但我要縮進的代碼 只是括號內,我還可以縮進代碼使用3個命令 使用基本> IB。 另一件事,真的很酷關於Vim是一些所謂的視覺塊編輯。 我不知道,如果你們有沒有想強調 一個矩形的文本塊中的代碼時,有時會 而不是做這個奇怪的行的事,跨越所有不同的線路。 例如,在Vim中你可以做到這一點。 我可以這樣突出的矩形,這是很酷的, 但是,我可以使用該功能進行編輯。 例如,如果我想給一些我們的名字的前綴 我可以突出一個塊,然後添加一些東西。 同樣,我也可以突出這個塊,並選擇將其刪除, 也許我將重點介紹這個區塊,將其更改為D,因為我們所有的醫生。 不管它是什麼,你可以做所有這些不同的東西。 最後,折疊是真的很酷。 很多的IDE,在這裡你可以折疊的觀點不同的功能 的情況下,你不想看到他們。 例如,假設我有這樣的一堆文字在這裡,我真的不希望看到它。 我想保持它的觀點,因為我編輯的文件中的其他東西。 我可以把它折疊起來,這一切都倒塌, 和方式來看, 我可以編輯頁面上的其他事情是,這是真正偉大的。 您可以折疊功能,以及諸如此類的東西,或折疊起來,當你編程的類 只是為了讓他們的觀點時,你沒有編輯, 及後,當你希望看到他們,你可以打開它們。 你可以看到,它只是打開了一切。 標籤,緩衝區和窗口。 Vim是挺酷的, 通常在很多的文本編輯器,你可以只修改一個文件的時間, 喜歡在納米,或者是,如果你用記事本或者gedit。 實際上,我從來沒有使用Gedit的非常多,但至少在記事本+ + 你可以有標籤,,但Vim的標籤,緩衝區和窗口的概念。 例如,您可以打開一個新的標籤一堆。 您可以在這裡看到我現在有一堆選項卡,在最高層 我可以將其關閉。 此外,這個概念的緩衝區, 它的想法是,一​​旦你打開一個文件 保持活著,在緩衝區中,如果你想真的很快定位到該文件 您可以瀏覽到它真的很快在緩衝區內為好, ,而且,在一個窗格中,您也可以你的窗口分割成多個窗口。 例如,如果我想這個窗口分割成多個窗口 在這裡你可以看到,我可以有相同的密碼兩次, 我可以分割多,而且越來越多,而現在它看起來並不那麼好 因為默認情況下,我已經默認的窗口大小是那種大 因此,所有的人都壓扁了, 但通常,當我在我的電腦,這台投影機 我可以同時有幾個窗格,這是非常好的 同時編輯多個文件。 您也可以擁有這樣的話選擇和更換, 我們會實際上涵蓋在研討會上, 所以我會跳過,對於現在。 您也可以與各種不同的方法在命令行中。 例如,如果我有某種的列表,在這裡,我想排序 我不知道,讓我們添加其他水果,葡萄, 我可以突出的亮點功能使用 調用sort,對我來說,它會自動排序。 同樣,如果你​​要編輯CSS,我相信,你可能會做 最終的項目,大多數人一樣, 也許你想保持你的CSS組織進行排序,按字母順序排列。 您也可以選中它們,並調用sort,將它們進行排序。 這些都是一些例子,Vim可以做的​​事情, ,我真的想提請你注意,你會發現,事情的關鍵 是我做的一切從鍵盤, 而如果你能看到我的手都放在 你還可以看到,我的手從來沒有真正從家裡行。 通常情況下,當您正在編輯的文本,您通常需要使用鼠標 按一下周圍和諸如此類的東西,那種運動拖動你失望 浪費時間,也許你之間的行上,使用箭頭鍵移動, 等你來回移動這樣的,這是一個有點麻煩 而且你的速度慢了下來,和的事情是,一旦你在Vim中得到真正的好 你想要做的一切都做了,而無需移動你的手 從家裡行,這是偉大的。 等一下,我要打開這個應用程序。我們走吧。 現在,你可以看到什麼命令正在運行的右下角的窗口。 所有的功能,我剛才給你的東西,包括默認情況下,用Vim, 但也有數量龐大的插件,你也可以使用 提高你的Vim經驗。 如果您下載的配置文件包括, 如何在PowerPoint中安裝有說明 在電子郵件中,我送出去了,我有大約40安裝插件 或許是30插件,每一個 帶來了額外的Vim的功能,提高你的Vim經驗。 例如,一個我最喜歡的是一種叫surround.vim, 它基本上可以讓你與周圍的 或分隔符更容易。 一個例子,我不知道,如果你們曾經在LaTeX的代碼, 但LaTeX是一個數學排版語言,是用來做 非常好看的數學,只要你想要的東西,看起來像數學 你把它包在美元符號,讓我們說我輸入一些公式F = MA等, 我忘了把它包起來的美元符號。 然後,我可以強調這一點,並把它包在美元只是這樣的跡象。 另外,Vim允許你刪除裡面的東西標籤 和刪除標籤和諸如此類的東西,但Vim的性質 不允許你改變標籤,例如,我有這樣的div標籤, 我想升級到HTML5和使用一個新的頭標記。 我可以做在頭周圍的標記和類型的變化, 它會自動改變對我來說。 同樣,我們說,我們有括號中的東西, 我想改變,從括號後,括號內或類似的東西。 我也真的很容易改變,鍵入c的變化, s的環繞聲,括號中。 哦,我想我必須輸入速度更快。 括號和大括號或中括號,它會自動改變對我來說, 這是非常好的,一切正常,這是很麻煩的。 這可能是單引號之間切換是非常好的 和雙引號字符串或類似的東西。 這是一個示例用例。 有一個插件叫做逃犯 它集成了使用Git。 我猜也許你們還沒有使用Git的,在CS50, 但你會發現自己使用Git越來越多,更多的, 不僅在整個哈佛類,而且在工作和諸如此類的東西, 通常你之間來回切換 互動的Git的命令行和Vim, 但有插件在Vim中使用Git集成 也給你的Git上的附加功能。 有一種叫NERDTree,你可以用它來探索 在Vim的文件結構。 例如,我可以打開NERDTree在右窗格中, 基本上,你可以看到隨機文件 稅和不開放,不看我的稅。 你可以看一下文件和諸如此類的東西,打開其他文件,等等等等。 我不會進入這些其他插件,所以我們基本上可以潛水 並開始開發Vim,但也有插件,讓您 評論更容易,插件,讓您可以隨時在文件之間更容易, 插件,讓你在Vim的語法檢查, 這是真的很酷,它為您提供了語法檢查 最正確的開箱即用的語言, 如虹的括號,這實際上是真的,真的很酷的事情。 讓我給你舉個例子現在的這種權利。 讓我們來看看。 下面是我在寫一些隨機代碼, 你會發現,括號及括號都是彩色的, 和圓括號和方括號相同顏色的匹配,這是很好的 有時提高了代碼的可讀性。 您還可以自動完成表格的格式。 當你擁有的東西,你想要得到的所有意見排隊 或者你想使一個表中的文字,你想 讓一切看起來像一個很好的表,而不是手動格式化 有插件將格式化,你等等等等。 這樣的例子不勝枚舉和。 我可以花時間探索各種不同的Vim插件存在, 那裡有什麼,這是令人難以置信的。 有任何疑問,這麼遠嗎?甜蜜。 在這種情況下,我們要開始播放用Vim, 我希望你們和我一起工作的一些Vim的 這樣你就可以得到一個感覺,我可以指導你在你的第一個步驟,工作與Vim 因為很多人不堪重負時,他們使用Vim打開, ,有時如果你不知道命令退出,你不能甚至走出的Vim, 但它不是那麼糟糕。 你只需要一個人誰使用Vim的前幾分鐘的指導 或閱讀一些在線教程,你會用自己的方式在任何時候。 這裡有一些指令,如果你還沒有安裝Vim。 你可以看一下這些幻燈片演示文稿後,如果您想要安裝更多的東西。 此外,這些是我的配置文件安裝一些指令, ,你也可以按照這些指示後,如果你還沒有。 如果你們能去這個鏈接,下載一個文本文件中。 該鏈接將帶你到這個文本文件,我想請你下載並打開在Vim, 有一堆的演習和諸如此類的東西在那裡,你可以與我 並開始獲得一些實踐與Vim中的一些基本操作。 好。 當你打開了,我要作一個簡單的介紹2個非常關鍵的原則 在Vim編輯,這是真正重要的是要了解你潛水到Vim之前, 這是模態的編輯和運營商和議案。 我會先覆蓋模式編輯,然後我們將覆蓋運營商和議案 在一點點。 Vim和幾乎所有其他的第一個關鍵的區別 任何種類的文本編輯器Vim是一個模式編輯器, 這是什麼意思是,當你使用Vim的 你可以在許多不同的模式中的一種。 正常模式下,插入模式,可視化模式, 等等等等,這件事是,你的擊鍵採取不同的行動, 採取不同的含義,這取決於你是什麼樣的模式英寸 只是作為一個例子,當你走動的時候,你在正常模式是模式, ,所以我使用的關鍵J為向下移動, 但在插入模式下,您可以使用鍵J以實際輸入在屏幕上的J, 這就是為什麼很多人會感到困惑,因為他們不習慣 在不同的模式下所有的時間,所以他們會打字的事情了, 你已經習慣了有無論你鍵入出現在屏幕上, 但在Vim中,也許你的光標移動所有的地方 ,因為你輸入的字符怪異,突然,你得到 進入插入模式轉變,因為您鍵入的一些關鍵 ,可以讓你進入插入模式,然後文本開始飛了出去, 這樣的人感到困惑,因為這一點。 但你必須保持跟踪你在什麼模式, 如果你看的Vim在底部的工具欄 應該有一個指標,它告訴你你是什麼模式,目前在 這應該是有幫助的。 但在一般情況下,3個主要的模式,你應該知道, 只可能有6或7或8的模式或 但你花大部分的時間在3。 第一件事情是正常的模式。這是你花大部分的時間。 記錄所有的鍵盤輸入某種形式的命令, ,我們會學到很多東西,這些命令在一天。 另一種模式是插入模式,這是實際輸入的東西, 和插入模式基本上是你通常使用的模式。 你輸入一些東西,它只是在屏幕上, 視覺模式是什麼,你可以做突出。 您在前面看到的,有時我會突出顯示文本 和操作方式不同,這是一個例子,使用可視化模式。 我們將從你需要生存在Vim的絕對基礎, 它基本上是這7個命令就在這裡。 HJKL是用來在文件瀏覽, ,它們對應到左,向下,向上,和正確的, 你免費使用箭頭鍵, 但我們真的鼓勵你盡可能地使用HJKL 因為想法是,當你正在編輯中,您可以在文檔中移動 無需轉移之間的箭頭鍵 您在何處輸入,這是真的,真的很不錯。 你只是想將幾個字符。 你不必改變你的整個手,它是一種不錯的。 一些Vim的專家實際上箭頭鍵映射等功能 因為他們已經有了HJKL,和他們可以使用自己的方向鍵以及其他功能。 HJKL移動在你身邊,而你在正常模式下。 如果你想進入插入模式和類型的東西 你可以按我插入模式,讓你在插入模式下, 你可以輸入一些東西,和您鍵入逃脫 從插入模式返回到正常模式。 逃生總是會向您發送回正常模式 無論你在什麼模式,如果你要離開 你可以鍵入:WQ輸入, 你可以記住這種方式是w代表寫, 和q代表退出,所以:WQ, 和結腸癌的運行命令,所以:WQ進入運行命令 保存並退出。 如果你打開的文件上,我們將通過第一個練習。 第1步是在Vim中求生存, 希望你們都打開。 好,我們有一些簡單的練習,你習慣使用這些鍵。 ,HJKL真的不很直觀,第一 這是初始塊之一,人們已經在使用Vim 使用這些鍵來瀏覽。 這不是直觀的,但一旦你習慣了它 真正集成到你的心,許多人常常發現自己 在Word或在Chrome中使用J和K, ,實際上,人們已經創造了這個Chrome插件Vimium 你可以使用谷歌瀏覽器或鉻通過Chrome瀏覽 使用鍵盤使用的Vim的快捷方式, 這樣的人很熱情,但繼續嘗試和使用 HJKL之間進行導航的數字,​​所以您可以熟悉 這些東西是如何工作的。 一旦你完成,你也可以去玩弄我創建這個迷宮 只是為了好玩,你可以按照虛線排序 盡量不要崩潰的牆壁 並嘗試使其到年底的迷宮。 如果您使用Gmail或任何數量的不同應用程序的快捷方式, 你會發現,J和K,例如,經常使用向上和向下移動, ,這主要來自Vim的本質上,所以你有J和K 它真的很好,因為你可以向上和向下移動,而無需 來回箭頭鍵移動你的手。 現在讓我們嘗試進入插入模式和插入模式。 你會發現,現在我的光標是一個大黑盒子, 而當你進入插入模式下,你會發現, 就像你已經習慣了,它變成一個狹窄的光標。 如果你在終端使用Vim,你可能不覺得這是的情況下, 由於終端不支持該種薄光標, 但如果你正在使用的MacVim或gVim的Windows上 然後,你會發現,它變成了一個游標,這是一個非常快的視覺指示器。 這是給你的,告訴你是否在正常模式或插入模式。 讓我們繼續前進,並嘗試編輯這條線。 填充它與你自己的信息,不管它是什麼, 你如何能做到這一點,你可以移動到結束的空白, 鍵入i進入插入模式,你可以回退 輸入您的姓名,當你輸入完成後 您可以按Esc鍵以插入模式, 你可以移到這裡,鍵入插入,刪除, 鍵入逃脫出去的插入模式,你可以輸入:w輸入 保存該文件。 您可以鍵入:W保存該文件。 您可以鍵入:Q退出而不保存, 或者您可以鍵入:wq保存並退出。 當然,我們還不想退出,所以你可以鍵入:W。 也許似乎有點低效率的,在第一 因為移動到這個位置你有一群倍,類型:J, 也許我去,點了一堆的時候, 你必須按下退格鍵一群倍,它似乎真的效率低下 而正常情況下你可能會移動你的鼠標在那裡, 雙擊並開始鍵入,當然, 的事情是,當你第一次開始用Vim,你只知道這些基本的命令, 是的,這將是一個有點慢,但很快你學習一些更強大的命令, 這將讓您更快速地移動整個文件, 你會不會有非常繁瑣的使用 重複JS和重複Ks和LS等等等等。 有任何疑問,這麼遠嗎?固體。 備份到PowerPoint。 現在,我們要引進一些更先進的移動命令。 您不必鍵入經歷也許我有很多或H有很多, 這裡有一些更多的命令,你可以用它來更快速地左右移動。 假設你的光標是在O中的一些人“,這是一些文本” 這裡有5個命令,你可以使用移動跨線更容易。 因此,^和$移動的開始和結束行, 在某些時候,當你學習正則表達式或其他各種事情 你會發現,這些排序的慣例是很常見的。 ^,一般是指該行的開頭。 $通常是指該行的結束。 這些都是很容易記住,同樣,B,E和W, 他們很容易記住,因為B對應的背部或開始, E對應的端部,這是結束的詞語, w對應到下一個單詞,w為字。 如果你鍵入e或按下W 你發現你可以跳字與字之間,它的速度遠遠超過只是打字升。 現在,接下來的事情就是的操作運動模型。 其實,這是為什麼Vim可以如此強大的重要原因之一, 那是因為你基本上可以組成不同的元素 為更強大的功能,所以一般 當你做任何事情,在Vim中你可以把它看作 與運動相結合的運營商。 到目前為止,我們只是處理的運動,如HJKL。 它們使你周圍,B和W,他們也移動你周圍不同的方式, 但我們還沒有能夠刪除或改變事物或諸如此類的東西, 而當你結合運營商與運動,那麼你就可以有 更強大的影響,因此,例如, 如果我想刪除2個字,我的刪除操作,可以使用D 我可以添加一個2來表示,我想刪除2個字, 然後我的議案。 我可以包括w,說刪除2個字。 我可以使用的東西,如J說刪除下調2倍 刪除我下面的2行。 我可以說,D2B刪除向後兩次, 有我這裡比那些更運動 真的,真的讓你的Vim編輯功能更強大。 這些都是一些最流行或最常見的運營商 是很容易記得。 D刪除,c的變化。 C基本上完全相同的東西除了改變 當您使用C,你會自動進入插入模式後。 通常,當你使用從正常模式下刪除你使用它, 和你刪除的東西後,你依然在正常模式。 但是,如果你想改變一些東西,你可以使用C 刪除的東西,然後立即進入插入模式 這樣你就可以開始輸入和修復的東西。 Y是在耍。 它基本上是複製Vim的概念。 例如,如果我想將在未來2個字,我可以做Y2W或類似的東西, v是突出,基本上。 真正酷的是,如果你輸入一個操作符兩次 它會作用於整條生產線,所以如果我想刪除整條生產線 我可以鍵入dd刪除整條生產線, 或者如果我要複製整條生產線,我可以用yy或類似的東西。 讓我們試試這個。 這裡有一個運動以及先進的移動運營商 甚至還有一些其他的事情,我不打算覆蓋在PowerPoint今天, 但你可以隨時來檢查一下,並發揮與他們周圍的 熟悉他們。 操作符與動作。 例如,假設有2個字,你只是想刪除的句子。 你會想要做的是,你要確保您的 光標是在你要刪除的第一個字開始, ,您可以鍵入D2W,它會刪除這2個字。 而且使用這個確切的命令,D2W,似乎有點麻煩 和毫無意義的,但它應該表達的想法 ,你可以組合這些不同的東西,也只是在情況下, 你碰巧的情況下,那麼你可以使用DW或D2W, 我偶爾使用。 DD和CC,我更經常使用的,因為你可以作用於整個行。 例如,讓我們說我有這樣的隨機列表, 我想,也許,只因為,刪掉就行了,說,哈士奇,因為它不適合 我不希望它之後進入插入模式。 我想刪除它,在這種情況下,我能型的DD, 將刪除整條生產線。 但是,讓我們說,現在有這個線,我要刪除, 但我也想修復它,把它改寫,在這種情況下,我會嘗試一些像CC, 並且刪除整條生產線,但讓我在插入模式下,你可以看到, 我從那裡可以修復它。 有很多很多不同的方法可以結合運營商和議案, 和你使用Vim越來越多的您更多地了解不同的方式 您可以使用這些命令,你會越來越好。 真棒,現在這裡有一些其他的各種命令 ,也非常,非常常用,也將幫助你成為更好的在Vim的。 例如,我們談到了小寫字母v為視覺高亮顯示。 我們也可以使用大寫字母V的視覺高亮行。 這樣,您可以突出顯示整個行一次更容易。 您可以使用o當你在正常模式下,從根本上插入一個新行 下面的線你目前並把它插入模式開始輸入。 您可以使用小寫字母x刪除當前光標下的字符。 您還可以使用u撤消,這是一種不錯的, 您可以使用大寫字母A追加到當前行的結束, 所以也許你的光標的地方就行了,您要添加的行結束。 然後,您可以鍵入大寫字母A,立即跳轉到該行的結束 進入插入模式,這樣你就可以添加到該行的結束。 我覺得我有幾個,我們可以嘗試更多的練習。 事實上,我沒有,我不知道。不適合那些。 但是,我們的下一部分,我們將看到有更多的練習。 但這些,你可以嘗試自己為好。 例如,如果你在普通V型,你會經常強調的是你喜歡。 如果你輸入大寫的V,你可以得到這樣的全系列突出, 或者如果我在鄰鍵入它基本上會打開一個新的線對我來說,這是一種不錯的。 X I可以用它來刪除光標上的字符。 我可以按X鍵,一群倍和刪除的東西。 我可以按u撤銷所有。 A,我可以輸入一個馬上去年底該行, 我還包含了許多很好的鍵 你也可以看的介紹後,學習一些其他的命令。 [學生]:什麼替代呢? [布蘭登L.更換也真的很酷 基本上,如果你去的地方 你有沒有人也沒有真正使用它太大了,這些天, 但你們見過在Microsoft Word中,如果你插入 你突然進入這個奇怪的模式,您鍵入的每一個字符 基本上取代了下一個字符? 我不知道,如果你們有見過。 這是類似的。 例如,如果我想覆蓋什麼我目前的一些原因 我可以輸入資本,現在我將在替換模式下,你可以看到在左下角。 如果我輸入的東西,它覆蓋的東西,我也可以回退,這是一種很酷的, 我可以撤消。 我不經常使用,但每一個現在,然後它派上用場了。 讓我們來談談有關文本對象,這是我最喜歡的事情之一對Vim,說實話。 文本對象基本上都是這個概念的定義某種文本塊 您的文本文件裡面,我會去這些鍵第一, 然後我會給你一些演示給你更全面地了解那是什麼意思。 W是指就一個字,一個字如文本對象, 所以你通常知道它的一些字, 如果有標點符號的字旁 那麼將不包括標點符號一般。 例如,如果你想包括標點符號,由於某種原因, 或你正在做的事情,這不是英語,要包括 所有的字符劃定的空白 你也可以使用大寫W到一切的四周空白的。 您也可以使用括號的文本對象 這是一組括號內。 用方括號,尖括號,你可以做同樣的事情, 花括號和引號,以及,最後, 你也可以使用t是指一些標記。 讓我告訴你如何了。 例如,這是我的第一個例子,在我的展示。 有這句話,我想改變一些字, 和我們談到W是作為一個運動, 但你也可以使用它作為文本對象,像這樣。 例如,有辦法,我可能會改變美國總統的名字或基本修改 是我可以去開始這個詞和類型在C的變化和W字, ,將刪除整個單詞,並把它放到插入模式。 我一定要到開頭的單詞的時間,但它是非常惱人的。 這真是煩人。我不希望有這樣做。 在他的名字,其實我可以在任何地方 在CIW和類型,和i代表內, 所以,如果我在CIW中輸入它代表一個字的變化, 或者換句話說,改變目前,我在裡面的字, 它會給你相同的效果。 你可以解決這個問題。 同樣的,也許我有一些這樣的情況下, 如因某種原因,也有一些分隔符或類似的東西, 或者有一些標點符號,我想刪除整個事情。 如果我在CIW中輸入它會刪除這些分隔符裡面有什麼, 但我想整個事情的四周空白的, 所以我可以使用CIW刪除整個事情。 我會輸入5,做同樣的事情,並在六個月的類型。 同樣,如果我想改變的東西,括號內的 我可以輸入CI)刪除括號內的一切 ,然後填寫在任何我想做的事情,像int argc個,不管你想要做的事情, 同樣,同樣的事情報價。 我可以解決這裡面的引號的文本, 我還可以改變的事情,裡面的標籤。 這是否有意義嗎? 另一件你可以做的是,你不必使用c。 您也可以使用d,如果你想刪除這些標籤裡面的內容。 如果我要刪除一個標籤裡面的文字,我可以用DIT刪除該標籤。 我也可以用維生素突出,在標籤內,例如。 其他的事情,而不是我在中間,你也可以使用, 代表,所以記住,如果你使用我的文本對象 或使用文本對象,裡面包含的分隔符, 但是如果你使用它包括文本,以及作為分隔符。 例如,如果我想強調這個文本及周邊標籤 我可以使用增值稅,V視覺亮點,一個為所有的標籤,然後噸。 你可以做類似的東西為好。 也許我想刪除此google.com以及它周圍的引號, 我可以使用的東西像達“的,例如刪除。 有任何疑問,這麼遠嗎? 我知道我傾倒在你很多的Vim命令一次, 這基本上是因為我要揭露你的所有不同的命令 給你介紹了這些命令在Vim。 但發生了什麼事情要發生的是,當你回去 你要慢慢地拿起這些命令一個接一個。 你不希望自己壓倒,因為這是過於龐大。 如果你想拿起Vim你必須要真正做到 開始的第一個基本集,我已經打破它給你的教訓 使你更容易遵循,並嘗試掌握每一個命令​​集 一個接一個,一次一個。 這是太多的事情要做一切事情,所以你回去的時候,你應該做的是 去的第一課,這是HJKL,插入模式,進入正常模式逃脫, 保存並退出,這就是所有你真的需要生存在Vim, 真的,真的很舒服,。 幾天後,一旦你很舒服 你應該移動到更先進的移動運營商, 更先進的運動,以及運營商等,等等。 我知道我經歷了很多,但我想,讓你接觸到了很多不同的東西。 但是,如果你的挑戰,我可以告訴你 你怎麼可以把這一切放在一起使用最多的是我們今天剛剛得知, 你也可以跟隨如果你願意, 但我創造了一些隨機的運動。 假設我們有一些這樣的名冊 人的名字,你有這些塊, 房屋,多年來,濃度和諸如此類的東西, 你想為自己添加一個新的條目。 什麼是最好的方式為你做這? 讓做喜歡這個。 我們為什麼不先高亮顯示該塊。 你會選擇它,我們可以按Y抽出, 所以現在我們基本上可以複製並粘貼此模板 而無需重寫整個事情從頭開始。 現在,我會按j下一堆下去的時候, 我會按P鍵將其粘貼。 也許我會添加一些額外的行的空間, 讓我們說,現在我想改變你的名字的人。 然後,我就可以去像以前一樣在C2W更改該名稱和類型。 鮑勃·瓊斯,誰也不知道。 也許,如果我想改變的房子,我可以在這裡進入中 在CIW,並把卡博特樓。 這裡可能是一個例子,在那裡你可能要考慮使用 更換模式,如果你想改變你的畢業年份, 我們也可以使用CIW。 不要緊 也許你想改變你的專業。 而這就是你要做的。 也許我會給你一個演示,我可以做什麼 如果我是,如果你繼續學習更高級的命令在Vim中 因為我們這裡幾乎沒有刮傷表面, 編輯速度甚至超過了我你在這裡,我可以做這樣的 因為我知道,我還沒有得到一個機會來展示你今天更多的命令。 例如,如果我想強調這一點,我可以做這樣的, 向下移動。 我已經添加了我自己的映射。 基本上自動突出顯示的東西對我來說, 和我的我不知道。 我的意思是,這僅僅是想告訴你,你真的可以,真的 開始編輯更迅速,尤其是當你把所有這些不同的領域, 和通常你可能會做什麼樣的點擊 並突出顯示,然後鍵入。 你可以做一切一下子,複製和粘貼, 文件之間的向上和向下移動, 剛剛劃定的東西,格式化的東西。 這一切都可以做了很多,更快速地在Vim。 只是最後的小東西,我認為這是非常好的, 這是查找和替換。 誰使用Gmail快捷鍵 你也知道,如果你輸入/它發送到搜索框, 在很多不同的應用程序,通常你會發現,斜線 或可能控制斜線或做斜線 把你變成某種搜索模式, 而且也基本上是從Vim基本上 因為斜線運營商或斜杠命令允許你輸入 某種形式的字符串,您可以使用在文檔中進行搜索。 您可以n和資本n轉到下一個和以前發生的, 你也可以用類似的東西,在文檔中搜索和替換。 我給你什麼可以做一個示範。 也許,如果我想在這個文件中找到的所有實例的字符串抽出 我可以輸入/抽出,你可以看到在左下角, 當我輸入輸入它強調所有實例。 我基本上可以用n來跳之間來回所有這些不同的情況下, 讓我們假設我要搜索和替換抽出一些隨機單詞 這也是在文檔中。 我可以按:開始輸入某種形式的命令在Vim, 一些更複雜的動來動去的命令, 或刪除或類似的東西。 我會輸入%符號的參考,我想用這個替換命令 整個文檔。 s的替代類型。這是來自珍珠本質上。 下一個命令是一個非常標準的命令,你會發現在珍珠 而不是和其他編程語言中,你會 可能會開始學習,因為你做更多的計算機科學, 我基本上可以使用/ TYPE A /,鍵入要查找和替換的話,我 然後鍵入另一個的/和類型什麼的話,我想這個詞替換。 誰知道,也許nyancat的。 我這樣做,然後你會看到一切都得到了更換。 但你會發現,這裡有這個字。 出於某種原因,我們的一些實例使勁所取代,但不是所有的, 這是因為這種語言已被寫入 不僅在Vim,但在其他地方是,當你執行替換命令 它只會取代,在每行的字的第一個實例, 所以,如果我想其實每一行的所有實例上的字代替 然後,我必須做同樣的事情,但在最後添加公司標誌, 這代表著全球性的,然後將實際 替換所有的實例。 一旦你學會正則表達式,實際上是一個CS50研討會 正則表達式,所以,如果你好奇的正則表達式 你也可以採取這種研討會,了解更多信息。 例如,讓我們說我有一個這樣的名稱列表, 我想重新安排,所以不是姓,逗號,第一個名字 我要重新排列,所以說名字,空格,姓氏。 實際上,你可以使用此命令在這裡 從根本上為你做的,所以你可以在這裡看到 我們從一個s,這意味著我們想要做的查找和替換, 然後,我添加了一個標誌稱為\ V,這是一種叫這種神奇的標誌 在Vim允許你這樣做正則表達式更容易。 然後從那裡,我們基本上是匹配任何單個的行 的形式是一組單詞,逗號,空間,和詞語的一組或一組字母。 \ w +基本上是指一個或多個字符, 和括號是用來捕獲這些群體 所以我以後可以參考它們。 正如你可以看到,一旦捕捉2個街區的話 一個逗號,空格分開 然後我們想要的東西來取代它的是我使用\ 2 \ 1 參考的話,被抓獲 在實際find命令, 等\ 2是指任何包含在第二組括號, \ 1是指任何包含在第一組括號, 你可以看到,我把2 1日前由空格分隔 嘗試移動前的最後一個名字的第一個名字。 這是否有意義嗎? 我能做些什麼,所以我只能在這些線路上運行此命令,我可以隱藏這些, 然後我會輸入此命令。 你可以看到它完全分裂。 再次,這是幾乎沒有刮傷的表面, 如果你去的正則表達式研討會,那麼我敢肯定你會學習 有很多不同的東西,你可以用正則表達式, 這基本上開始暗示你真的可以做什麼用Vim 如果你真的開始成為它的主人。 也許你想重構的東西,你想找到的所有實例 的一些功能,遵循某種命名模式。 您要更改的名字命名的方式。 為你做的,你可以寫一些這樣的命令, ,這就是這種靈活性,你可以在Vim ,你只是不打算在其他的文本編輯器。 這基本上涵蓋了所有的東西,我想教你們今天在今天的研討會上, 但同樣,我真的想強調的是,如果你想拿起Vim的 這是真的,有一個略高的學習曲線開始。 在一開始,你要稍微少一些生產 你可能會在其他方面,但如果你堅持下去 在數天或數週,取決於你如何快速學習, 你會變得速度更快,我想給您演示 Vim是什麼,但我並沒有真正得到一個機會來展示你 會發生什麼事時,我通常例如,在I類類型到我的筆記用Vim。 那是因為我比我的任何其他程序可以如此之快的Vim。 它是名副其實的2個或3個時間生產率的提高與其他程序相比,在Vim, 不僅與速度的文字編輯,但也的方式,我可以在文檔中移動 和的方式,我可以在我的電腦上訪問其他文件 跳在他們之間等等等等。 這是一個非常,非常巨大的生產力提升。 但是,當你學習,你要確保你學到了一件事,一次, 盡量不要淹沒自己有過許多不同的命令 因為有很多的命令,有很多不同的快捷方式,你可以在Vim學習。 你要拿起一點點的時間和多年來 逐步積累的Vim的一個大的認識。 如果你想繼續了解,這些都是一些更高級的主題 您可以繼續了解,即使這僅僅表面的划痕。 下面是一些流行的插件,您可以隨時檢查和谷歌 玩弄他們,如果你想,只是看到什麼樣的插件都在那裡。 然後在這個PowerPoint結束時,我有一堆鏈接 各種資源,你可以用它來學習。 這裡有一堆不同的鏈接,您可以使用開始使用Vim的。 他們有不同的教程和諸如此類的東西, 最後,這些都是一些更先進的東西,你可以使用 還檢查了為好, 一些屏幕投射和一些更先進的技術在Vim中 也有一些不同的部分源代碼,您可以看一下在GitHub上 只是為了看看其他人的配置文件 或尋找在Vim的插件,等等等等。 這是我對你的所有。 [CS50.TV]