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