[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]