說明:文章所有內容截選自實驗樓教程 "【Vim編輯器】" ~ Vim 快速入門 一、實驗介紹 1.1 實驗內容 本次實驗將學習vim中的不同模式和一些基本操作。 1.2 實驗知識點 + Vim中的六種基本模式 + Vim中的基本操作 1.3 課程來源 "VIM 線上手冊" 二、實驗步驟 2.1 vi ...
說明:文章所有內容截選自實驗樓教程【Vim編輯器】~
Vim 快速入門
一、實驗介紹
1.1 實驗內容
本次實驗將學習vim中的不同模式和一些基本操作。
1.2 實驗知識點
- Vim中的六種基本模式
- Vim中的基本操作
1.3 課程來源
二、實驗步驟
2.1 vim模式介紹
以下介紹內容來自維基百科Vim
從vi演生出來的Vim具有多種模式,這種獨特的設計容易使初學者產生混淆。幾乎所有的編輯器都會有插入和執行命令兩種模式,並且大多數的編輯器使用了與Vim截然不同的方式:命令目錄(滑鼠或者鍵盤驅動),組合鍵(通常通過control鍵(CTRL)和alt鍵(ALT)組成)或者滑鼠輸入。Vim和vi一樣,僅僅通過鍵盤來在這些模式之中切換。這就使得Vim可以不用進行菜單或者滑鼠操作,並且最小化組合鍵的操作。對文字錄入員或者程式員可以大大增強速度和效率。
Vim具有6種基本模式和5種派生模式,我們這裡只簡單介紹下6種基本模式:
- 普通模式(Normal mode)
在普通模式中,用的編輯器命令,比如移動游標,刪除文本等等。這也是Vim啟動後的預設模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器預設模式為插入模式)。
Vim強大的編輯能來自於其普通模式命令。普通模式命令往往需要一個操作符結尾。例如普通模式命令
dd
刪除當前行,但是第一個"d"的後面可以跟另外的移動命令來代替第二個d
,比如用移動到下一行的"j"鍵就可以刪除當前行和下一行。另外還可以指定命令重覆次數,2dd
(重覆dd
兩次),和dj
的效果是一樣的。用戶學習了各種各樣的文本間移動/跳轉的命令和其他的普通模式的編輯命令,並且能夠靈活組合使用的話,能夠比那些沒有模式的編輯器更加高效的進行文本編輯。
在普通模式中,有很多方法可以進入插入模式。比較普通的方式是按
a
(append/追加)鍵或者i
(insert/插入)鍵。
- 插入模式(Insert mode)
在這個模式中,大多數按鍵都會向文本緩衝中插入文本。大多數新用戶希望文本編輯器編輯過程中一直保持這個模式。
在插入模式中,可以按
ESC
鍵回到普通模式。
- 可視模式(Visual mode)
這個模式與普通模式比較相似。但是移動命令會擴大高亮的文本區域。高亮區域可以是字元、行或者是一塊文本。當執行一個非移動命令時,命令會被執行到這塊高亮的區域上。Vim的"文本對象"也能和移動命令一樣用在這個模式中。
- 選擇模式(Select mode)
這個模式和無模式編輯器的行為比較相似(Windows標準文本控制項的方式)。這個模式中,可以用滑鼠或者游標鍵高亮選擇文本,不過輸入任何字元的話,Vim會用這個字元替換選擇的高亮文本塊,並且自動進入插入模式。
- 命令行模式(Command line mode)
在命令行模式中可以輸入會被解釋成並執行的文本。例如執行命令(
:
鍵),搜索(/
和?
鍵)或者過濾命令(!
鍵)。在命令執行之後,Vim返回到命令行模式之前的模式,通常是普通模式。
- Ex模式(Ex mode)
這和命令行模式比較相似,在使用
:visual
命令離開Ex模式前,可以一次執行多條命令。
這其中我們常用到就是普通模式、插入模式和命令行模式,本課程也只涉及這三個常用模式的內容
2.2 三種常用模式的切換
vim啟動進入普通模式,處於插入模式或命令行模式時只需要按Esc
或者Ctrl+[
(這在vim課程環境中不管用)即可進入普通模式。普通模式中按i
(插入)或a
(附加)鍵都可以進入插入模式,普通模式中按:
進入命令行模式。命令行模式中輸入wq
回車後保存並退出vim。
2.3 進入vim
2.3.1 使用vim命令進入vim界面
vim後面加上你要打開的已存在的文件名或者不存在(則作為新建文件)的文件名。
打開Xfce終端,輸入以下命令
$ vim practice_1.txt
直接使用vim也可以打開vim編輯器,但是不會打開任何文件。
$ vim
進入命令行模式後輸入:e 文件路徑
同樣可以打開相應文件。
2.3.2 游標移動
在進入vim後,按下i
鍵進入插入模式。在該模式下您可以輸入文本信息,下麵請輸入如下三行信息:
12345678
abcdefghijk
shiyanlou.com
按Esc
進入普通模式,在該模式下使用方向鍵或者h
,j
,k
,l
鍵可以移動游標。
按鍵 | 說明 |
---|---|
h |
左 |
l |
右(小寫L) |
j |
下 |
k |
上 |
w |
移動到下一個單詞 |
b |
移動到上一個單詞 |
請嘗試在普通模式下使用方向鍵移動游標到shiyanlou
這幾個字母上面。
2.4 進入插入模式
2.4.1進入插入模式
在普通模式下使用下麵的鍵將進入插入模式,並可以從相應的位置開始輸入
命令 | 說明 |
---|---|
i |
在當前游標處進行編輯 |
I |
在行首插入 |
A |
在行末插入 |
a |
在游標後插入編輯 |
o |
在當前行後插入一個新行 |
O |
在當前行前插入一個新行 |
cw |
替換從游標所在位置後到一個單詞結尾的字元 |
請嘗試不同的從普通模式進入插入模式的方法,在最後一行shiyanlou前面加上www.
,註意每次要先回到普通模式才能切換成以不同的方式進入插入模式
2.5 保存文檔
2.5.1 命令行模式下保存文檔
從普通模式輸入:
進入命令行模式,輸入w
回車,保存文檔。輸入:w 文件名
可以將文檔另存為其他文件名或存到其它路徑下
2.6 退出vim
2.6.1 命令行模式下退出vim
從普通模式輸入:
進入命令行模式,輸入wq
回車,保存並退出編輯
以下為其它幾種退出方式:
命令 | 說明 |
---|---|
:q! |
強制退出,不保存 |
:q |
退出 |
:wq! |
強制保存並退出 |
:w <文件路徑> |
另存為 |
:saveas 文件路徑 |
另存為 |
:x |
保存並退出 |
:wq |
保存並退出 |
2.6.2 普通模式下退出vim
普通模式下輸入Shift+zz
即可保存退出vim
2.7 刪除文本
2.7.1 普通模式下刪除vim文本信息
進入普通模式,使用下列命令可以進行文本快速刪除:
命令 | 說明 |
---|---|
x |
刪除游標所在的字元 |
X |
刪除游標所在前一個字元 |
Delete |
同x |
dd |
刪除整行 |
dw |
刪除一個單詞(不適用中文) |
d$ 或D |
刪除至行尾 |
d^ |
刪除至行首 |
dG |
刪除到文檔結尾處 |
d1G |
刪至文檔首部 |
除此之外,你還可以在命令之前加上數字,表示一次刪除多行,如:
2dd
表示一次刪除2行
我們來做如下練習:
$ cp /etc/protocols .
$ vim protocols
三、實驗總結
vim初體驗你是不是覺得很奇妙呢,或許目前你還沒有vim產生任何好感,不覺得它是一款優秀的編輯器,那隻能是因為你還沒能掌握vim的精髓,或者是**你打字太慢,回去在小霸王學習機上再練練吧-_-||**。
這裡也可以先透露下,vim的精髓就在於命令鍵的組合,全鍵盤的操作,可以使你手不離開鍵盤輸入區域即可完成所有的操作,那可真是即高效又炫酷的體驗啊,當你掌握這項技能絕對可以秒掉其它不會用vim的程式員幾條街(起碼在氣勢上吧,當然還要除掉哪些只會Emacs的程式員,因為Emacs與Vim之間有場戰爭,感興趣的可以看這裡Emacs和Vim:神的編輯器和編輯器之神)
最後:
實驗樓教程【Vim編輯器】總共4節,文章屬於第一節內容,剩下3節內容為:
- Vim文檔編輯
- Vim文檔編輯
- 高級功能入門
如果你想深入掌握並應用Vim,可以進入實驗樓哦,因為實驗樓的線上開發環境里有Vim編輯器,可以在學習中就實戰應用Vim~