編輯器之神 vim的使用技巧

2021-08-28 08:24:18 字數 2354 閱讀 6297

總之我對這兩句話的簡單理解是:vim是編輯器裡面最優秀的;而emacs則常常是大神所鍾愛的編輯器。貌似這個解釋有些牽強,反著說意思就是大神們不太喜歡最優秀的編輯器。暈,自己把自己的結論推翻了。

這裡我要說的是vim is not only vi。雖然vi是vim的祖先,但是他們兩個真的不是同乙個編輯器,證據就是在輸入「vim」命令以後,vim的歡迎介面第一行寫著「vim - vi improved」。

至於這兩個編輯器的區別,這裡我也不獻醜了,詳情請看這裡

如果想學習vim,但是又不知道從**學起,這裡有乙個很好的vim學習教程。

不管你是macos系統、windows系統或者其他linux發行版系統,只要你在機器上安裝了vim,那麼就會自帶安裝vimtutor。劃重點:不管你在這個教程裡面怎麼操作,都不用擔心損壞這個教程,因為他有乙個很神奇的功能就是每次開啟都是一樣的。vim開發人員早就考慮到一些小白使用者可能會把vimtutor修改的面目全非,導致下次啟動,不能再繼續學習的困擾。

廢話不多說,現在就可以開始你的vimtutor之旅了,希望你花30分鐘看完(最好操作一遍)vimtutor以後再回來,我相信你對於vim的基本操作已經有了乙個簡單的認識。後面的內容將介紹一些比較高階的、可能會經常用的、並且在vimtutor中沒有提及的內容。

我覺得help算是vim裡面最重要的命令,相當於linux的man命令。他會告訴我們一些設定的相關說明和語法,可以讓我們通過他提供的公式舉一反三,而不僅僅侷限在乙個命令的使用上。

help命令的而使用方法是在命令模式下輸入help。這裡我並不打算講解vim的三種模式,有興趣可以上網搜尋,最簡單的識別命令模式的方法是你輸入的內容都會顯示在視窗的最下面一行,並且輸入內容以「:」開頭,當然「:」是你自己輸進去的。

這裡列舉乙個通過「:help :s」查到的使用說明

巨集不得不說是vim裡面一大神器,他可以解放重複的勞動。

那麼怎麼錄製巨集呢?紅的錄製是在normal模式下按下q,然後在按一任意26個字母(如:x)就可以將錄製到指定的暫存器(x)中了。接著可以進行一兩個簡單的操作,比如dd。然後再按下q結束巨集的錄製。

如果我上面巴拉巴拉一堆文字沒有讓你看明白,那麼請移步這裡有**並茂:相信好奇的你一定想迫不及待的試一下。

相信我們經常在檢視日誌的時候需要翻屏,我曾經就看到有人不會翻屏使用方向鍵在幾十兆的日誌中一行一行一行一行的移動,那時候我還是個小白,如果是在現在我一定會說:放開vim,讓我來!

其實一般我們查詢日誌都是先find,然後在在定位到具體範圍以後在向前翻頁,向後翻頁。

那麼問題來了,怎麼翻頁呢?

你以為這就完了嗎?然並卵。

有時候我們還要定位游標呀,定位游標和翻頁略有不同

前面再講巨集的時候已經提到過一次暫存器了,這裡不要嫌煩,再提一次,因為他真的很重要。

我們經常需要一時間複製很多東西,然後在乙個個貼上,這件事在其他編輯器上只能乙個乙個複製貼上,但是在vim裡面可以將內容先複製到暫存器裡面,然後在從暫存器裡面貼上出來。我不清楚我描述清楚沒有[笑臉]

暫存器的吊起是「加任意乙個字母,就可以調起任意指定的暫存器。如果後面連線的是複製操作,那麼複製的內容會被儲存到該暫存器中;如果 後面鏈結的是貼上操作,那麼該暫存器的內容會被貼上到游標後面。

很多人都不知道vim中有查詢歷史和命令模式歷史,甚至是很多部落格中都沒有提及這樣的概念,這真是太可惜了。

檢視查詢歷史我們只需要在normal模式下輸入q/然後就可以檢視之前的搜尋歷史,通過移動游標選中需要執行的歷史搜尋,然後按回車鍵執行搜尋,這個功能對於喜歡搜尋,又不喜歡複製來複製的人來說簡直以一種福音。

雖然命令模式不經常用,但是命令模式也有檢視歷史的命令q:。這樣就可以檢視到自己之前輸入過得歷史命令模式的命令,同樣移動游標到指定行,按回車執行選定的行命令。

有時候我們需要在編輯的時候急性的執行一些系統命令,比如:pwd。因為是在控制台,所以只能關閉vim,然後在執行pwd,然後在進入vim。這個技巧可以在vim裡面執行系統的pwd命令,那就是在normal模式下輸入:!pwd,然後就會看到pwd被神奇的執行了,按回車鍵可以回到vim中繼續編輯。

標記的意思就是在文件裡面做乙個標記,方便以後回來檢視他,在vim中的快捷鍵就是在normal模式下使用m,然後在跟26個字母中的任意鍵(比如:j),然後就把當前游標所在的位置標記到了指定的字母上(如果剛才你按下了mj那麼意思就是將當前游標位置記錄了到j字母上)。

這裡的跳轉不是指gg,g這類跳轉,是指跳轉到使用m標記過得地方,比如剛才我們將當前位置記錄到了j字母中,現在我們任意跳轉到vim其他地方,想要快速跳轉回來,只需要按下`j就可以跳轉到剛才標記的地方了(`鍵就是tab鍵上面那個最不起眼的,最不經常按的鍵,現在可以派上用場了),是不是很智慧型,這個功能一遍編輯器是不支援的,可以說有是vim一大神器。想想有26個按鍵可以記錄跳轉,反正我是用不過來,用的最多的時候也不超過5個,如果你的記憶力超好,我相信26個記錄的位置也夠你用了吧。

待續……

Vim 編輯器之神

最近在編寫linux伺服器 瀏覽了許多適用於linux的編輯器。作為系統自帶vi的加強版,vim以其高 酷 效 炫 的編碼深深的吸引了我,既然決定在程式設計師的道路上一頭走到黑,於情於理,也該掌握一門跨平台且被無數前輩大牛誇讚的編輯器的使用。掌握以下基本操作,應付常見問題也就ok了 命令模式下 指令...

編輯器之神 VIM

大概從大學二年級的時候,聽說了vim的存在 這個編輯器之神。但是那時嘗試了許多次來使用他,都還是失敗了。還是說vim起點太高的。當時學個游標移動都感覺很難。真正使用他也是在去年的實習的時候,當時時間還算多,就又試著使用他。到現在為止,一年多點吧。不能真正的算是會使用了vim,還有太多的東西不了解。但...

編輯器之神 vim

vi是 visual inte ce 的簡稱,它在linux上的地位就彷彿edit程式在dos上一樣。它可以執行輸出 刪除 查詢 替換 塊操作等眾多文字操作,而且使用者可以根據自己的需要對其進行定製。vi不是乙個排版程式,它不象word或wps那樣可以對字型 格式 段落等其他屬性進行編排,它只是乙個...