Vim基本使用方法

為什么要學習Vim,Vim和Vi的區(qū)別,Vim的基本使用方法(部分)

為什么很多大型網站都采用Linux作為服務器?


1. 為什么要學習Vim,是為了裝B嗎?

在Windows操作系統(tǒng)橫行的今天,為什么要學習使用Vim這樣需要各種快捷鍵的文本編輯器呢?

大型網站的服務器一般是無圖形化界面的Linux系統(tǒng),當需要進行調試、遠程處理問題的時候,只能調出terminal(終端窗口),然后用命令"vim index.html"這樣的方式,調出vim編輯器,再進行更改。


引申:

為什么大型網站選擇使用Linux作為服務器系統(tǒng),知乎上的yegle大神給出了個人感覺很中肯的回答,Linux 作為服務器操作系統(tǒng)的優(yōu)勢是什么?


2. Vim和Vi的區(qū)別

Vim是Vi的升級版本,Vim不僅兼容所有的Vi語法,還加入一些新的特性在里面,如:語法高亮、可視化操作、多平臺支持(終端、Windows、MacOS等)??傊?,學習好Vi,就學會了Vim。

vim編輯器是所有Unix及Linux系統(tǒng)下標準的編輯器,它的強大不遜色于任何最新的文本編輯器,這里只是簡單地介紹一下它的用法和一小部分指令。由于對Unix及 Linux系統(tǒng)的任何版本,vim編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步了解它。Vim也是Linux中最基本的文本編輯器,學會它后,您將在Linux的世界里暢行無阻。


3. Vim快捷鍵練習利器----VimTutor

Vimtutor是新手可以快速入門Vim的一個Vim內置應用,直接在Vim命令行下,敲Vimtutor,回車即可進入練習。


4. Vim的三種模式

Vim可以分為三種模式,分別為:

命令行模式(Command mode)

插入模式(Insert mode)

底行模式(Lastline mode)

命令行模式

控制屏幕光標的移動,字符、字或行的刪除,移動復制某區(qū)段及進入Insert mode下,或者到 last line mode。

插入模式

只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。

底行模式

將文件保存或退出vim,也可以設置編輯環(huán)境,如尋找字符串、列出行號……等。

不過,一般我們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。


5. Vim的基本操作

a) 進入Vim

在系統(tǒng)光標提示符后,輸入vim及文件名后,回車,進入Vim編輯畫面。


特別注意,進入vim之后,是處于「命令行模式(command mode)」,要切換到「插入模式(Insert mode)」才能夠輸入文字。

b) 切換至插入模式(Insert mode)編輯文件

「命令行模式(command mode)」按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。

c) 插入模式(Insert mode)切換到命令行模式(Command mode)

在插入模式下,按一下「ESC」鍵即可。

d) 退出vim及保存文件?

在命令行模式(Command mode)下,按冒號「:」鍵,進入底行模式(Last Line mode)

常見底行模式下的命令行:

:w filename 文件以filename為文件名保存

:wq 文件存盤并退出vim

:q 文件不存盤并退出vim

:q! 文件不存盤強制退出vim


6. 命令行模式下的功能鍵(部分)

a) 從命令行模式切換為插入模式的三種方式

「 i 」:從當前光標位置進入插入模式

「 a 」:從當前光標位置的下一個字符進入插入模式

「 o 」:從當前光標位置的下一行進入插入模式

b) 從插入模式切換為命令行模式

按「ESC」鍵?

c) 移動光標

vi可以直接用鍵盤上的光標來上下左右移動,但正規(guī)的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格。

d) 行尾追加

不管光標在該行的什么位置,直接按大寫字母「A」即可

e) 刪除單詞

dw:把光標停留在需要刪除的單詞前面,依次按下「d」「w」,即可

de:把光標停留在需要刪除的單詞前面(無視單詞前面的空格),依次按下「d」「e」,即可

f) 從當前光標處刪除到行末

把光標停留在需要刪除的句子前面,依次按下「d」「$」,即可

g) 快速跳轉到行首

按下數字「0」,即可

h) 使用計數以刪除單詞

示例:this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.

依次將鼠標定位到ABC前,按「d」「2」「w」,可以刪除:ABC DE

將鼠標定位到FGHI前,按「d」「4」「w」,可以刪除:FGHI JK LMN OP

將鼠標定位到Q前,按「d」「3」「w」,可以刪除:Q RS TUV

得到句子:

this line of words is cleaned up.

i) 刪除當前行

鑒于刪除當前行這一操作的高頻性,vim設計者簡化了快捷鍵,按「d」「d」即可。

連續(xù)刪除兩行,從當前行開始,則為:「2」「d」「d」

j) 撤銷更改

a. 按小寫字母「u」,撤銷上一步的更改操作;

b. 按大寫字母「U」,撤銷整行的更改操作;

c. 「Ctrl+R」撤銷上一步「撤銷操作」。

k) 將剛刪除的內容置入其他行

之前剛剛刪除的內容,會放入Vim編輯器的寄存器中?;谌绱嗽?,可以將之認為成Windows操作系統(tǒng)的「剪切」操作。

先在想刪除的行,按「d」「d」,進行刪除操作;

再在想插入那行的前一行按「p」鍵即可。

l) 替換

將光標放到需要改的字符前,先按「r」鍵,再輸入想更改的字符即可。

m) 跳轉

頂部跳轉命令:先按「Control」+「g」鍵,在終端底部調出一欄,然后輸入「g」「g」即可;

底部跳轉命令:先按「Control」+「g」鍵,在終端底部調出一欄,然后輸入大寫字母「g」即可;

特定行跳轉命令:直接輸入行號,然后輸入大寫字母「g」即可。

n) 查找命令

字符串查找:

輸入英文斜杠「/」,后面緊接需要搜索的字符串即可。

查找下一個相同字符串,就緊接著按小寫字母「n」;

查找上一個相同字符串,就緊接著按大寫字母「N」。

配對括號查找:

在編程語言里,配對括號「 ( 」「 ) 」「 { 」「 } 」很常見,當定位到一個配對括號的一半時(注意光標要定位在該括號之前),按「%」,即可自動跳轉到與之匹配的第一個配對括號處。

o) 替換字符串

當前行替換命令

在標準命令行模式下,光標定位到當前行,按英文冒號「 :」,再輸入s/oldstring/newstring/g 回車,即可。

完整語句為:

:s/dogg/dog/g

特定幾行替換命令

在標準命令行模式下,按英文冒號「 :」,再輸入#,#s/oldstring/newstring/g 回車,即可(其中#代表特定的首尾兩行的行號)。

完整語句為:

:5,8s/dogg/dog/g

全文替換命令

在標準命令行模式下,按英文冒號「 :」,再輸入%s/oldstring/newstring/g 回車,即可(其中#代表特定的首尾兩行的行號)。

完整語句為:

:%s/dogg/dog/g

全文替換命令(每個匹配項替換前需確認)

在標準命令行模式下,按英文冒號「 :」,再輸入%s/oldstring/newstring/gc?回車,即可(其中#代表特定的首尾兩行的行號)。

完整語句為:

:%s/dogg/dog/gc

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧!),在windows上也...
    何必遠方閱讀 3,323評論 0 3
  • 命令歷史 以:和/開頭的命令都有歷史紀錄,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令。 啟動vim 在命令...
    im螞蟻閱讀 31,055評論 3 48
  • dpkg 學習 安裝mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji閱讀 539評論 0 0
  • 支持text文本根據內容顯示,顯示不了的進行滾動顯示http://www.cnblogs.com/Cocomo/p...
    好怕怕閱讀 2,267評論 1 2
  • 轉眼間,大學的第一個學期就要結束,時間總是在不經意間就這樣偷偷的溜走。大學和我無數次憧憬的不太一樣,開學前定...
    亦十二閱讀 2,828評論 7 6

友情鏈接更多精彩內容