標籤:

Linux裡面的vim做什麼用的?我在terminal裡面輸入vi進入vi編輯器,可是不知道這個編輯器能實現什麼功能?


嘗試在terminal里輸入vimtutor或vim tutor。這是一個vim自帶的互動教程,大約會花費半個小時的時間。他可以讓你對vim有一個初步的印象。

vim是一款非常強大的文本編輯器,程序員一般使用它來編輯源碼,當然也有人使用它對純文本進行處理(比如你要對一份有上千行數據且格式固定的日誌文件進行同意修改卻又不願意寫程序時)。由於vim本身豐富的快捷鍵和其獨特的「多模式」功能可以讓你在工作時完全擺脫滑鼠,雙手幾乎不需要做長距離移動。從而成倍提高你的工作效率。

當然還有一款與之齊名的編輯器叫emacs(雖然我覺得他是一個操作系統^_^)。

如果想深入學習vim的強大功能推薦一本叫做vim-book的書。


如果實在不熟悉vim 可以用nano


能寫字。。。


Vim 是一個隨機字元串發生器。

How do you generate a random character sequence?

Put a beginner in front of Vim and tell them to exit it.


儘管現在安裝一個linux
distribution大都會帶有圖形界面,開啟linux後看到了就跟看到windows那樣親切,就像見到了親媽。作為處處要講逼格的程序屌,看到
別的程序員在圖形界面下用可視化工具查看、編輯文件,心裡難免會產生一絲憤怒。立刻就想打開命令行然後行雲流水般地敲出命令,意欲分分鐘教它怎麼做猿。

當然這都是愛裝逼的表現,程序員不裝逼還怎麼在社會立足。話說回來,理性地說,能夠熟練地使用命令行實現自己的想法,比打開圖形界面點來點去,確實要高效得多。並且,敲命令行,也潛移默化地增強了對一些命令背後的原理和機制的理解。

vi是幾乎所有的類unix系統的標配,文本編輯器當然不止vi一種,還有許多其它的比如cat,nano,emacs等等。這就像不同的手機其實都自帶輸入法,但是使用手機的人還是會去自行安裝它喜歡的輸入法。vi之於linux就像系統自帶輸入法之於手機。

為什麼要學vi編輯器,如果一個人自己的手機是QQ輸入法,拿到另外一個人的手機,卻發現自己不會用搜狗輸入法是不是很心酸,當然可能性不大,只是打比方而已。

vi有三種模式, 分別是

  • 一般模式

  • 編輯模式

  • 命令模式

vi要設置這樣三種模式的動機一時無法猜測得清楚,一般模式下,可以查看文件,並做一些修改,這些修改僅限於刪除,複製拷貝,但是跟插入無關。要插入,就要進到另外一種模式:編輯模式。

在編輯模式中,可以錄入新的字元,不過編輯模式的存在似乎只是為了錄入字元。除了錄入字元外,其它操作都需要退回到一般模式或者命令模式。而其實,在一般模式下已經可以做一些編輯操作了。編輯模式的存在意義顯得很純粹。

命令行模式主要與保存和離開編輯器的方式有關。在windows下打開一個文本文件,修改後,點右上角的叉關閉編輯器,這時就會跳出一個提醒:是否
保存。命令行模式主要是做這樣的事情。另外,還可以設置編輯器的一些屬性,這又跟圖形界面編輯器的工具欄一樣。這麼說,其實vi就像是一個圖形界面編輯器
的樸素表現形式,就像iphone4和iPhone4之後的蘋果手機,呵呵。

一般模式主要涉及以下這些東西:

  • 游標的移動

  • 刪除,複製,黏貼

  • 搜索

還有其他一些比如塊複製黏貼,窗口分割,同時打開多個文件等,是vim中的高級功能。(vi與vim是不一樣的)

游標的移動除了用鍵盤的上下左右方向鍵,還可以用KJHL分別表示上下左右,KJHL有什麼卵用,KJHL有什麼卵用,KJHL有什麼卵用(沒有卵用的事情說三遍),儘管HJKL在物理鍵盤上是連續的四個鍵,但是有什麼卵用。除非外接鍵盤發展到沒有上下左右四個按鍵,否則真覺得HJKL真的沒有什麼卵用。

一行和多行的刪除、複製與粘貼,這個是比較常用的,基本上,在vi中,如果需要操作多行,都是這樣的命令格式:nCommand。n代表command影響到的行數。刪除10行:10dd。複製10行:10yy。

輸入行數這個數字的時候,屏幕是沒有任何反饋的,所以輸錯了也不知道,好在vi還有撤銷這一個命令,在一般模式下按u就可以了。

搜索可以分為向下搜索和向上搜索。

/word表示向下搜索word

?word表示向上搜索word

搜索後按n或N分別為繼續同向搜索和繼續反向搜索。重點是繼續。就像在windows的office或notepad的ctrl + f功能一樣,「查找下一個」和它就是干同樣的事。

vi的編輯模式,總結起來就是:插入。能看出來這是vi中最淫蕩的一個模式。

命令模式多跟保存和退出有關

保存修改後退出,不保存修改直接退出,跟平時在windows上用的場景差不多。

最後一個,vi的應對數據恢復方面也做得很好。每次編輯一個文件時,都會在相同目錄下自動生成一個filename.swap文件,編輯的操作實際
上都反映在swap中,當發出保存命令時,swap文件才會與原文件合併。如果出現意外,例如斷電死機等,之後可以通過swap文件來恢複數據。哦,棒棒
噠。


vi是文本編輯器。

如何使用vi文本編輯器


推薦閱讀:

有沒有vim學習,經典,權威,完整的書?
怎麼向新手解釋 Emacs?
為什麼說gvim是最強大的編輯器?

TAG:Linux | Vim |