一伙窃、vim的三種命令格式
基本上 vim共分為三種模式澄耍,分別是“一般指令模式”抛丽、“編輯模式”與“命令行命令模式”谤职。 這三種模式的作用分別是:
(1)一般指令模式 (command mode)
以 vim后加上文件路徑名字就可以打開一個文件就直接進入一般指令模式了(這是默認的模式,也簡稱為一般模式)铺纽。在這個模式中柬帕, 你可以使用“上下左右”按鍵來移動光標,你可以使用“刪除”“粘貼”等方式來編輯文件內(nèi)容狡门, 也可以使用“復制陷寝、貼上”來處理你的文件數(shù)據(jù)。
(2)編輯模式 (insert mode)
在一般指令模式中可以進行刪除其馏、復制凤跑、貼上等等的動作,但是卻無法編輯文件內(nèi)容的叛复! 要等到你按下“i”字母鍵之后才會進入編輯模式仔引。注意了!通常在Linux 中褐奥,按下“i”按鍵后咖耘,在畫面的左下方會出現(xiàn)“ INSERT ”的字樣,此時才可以進行編輯撬码。而如果要回到一般指令模式時儿倒, 則必須要按下“Esc”這個按鍵即可退出編輯模式。
(2)命令行命令模式 (command-line mode)
在一般模式當中呜笑,輸入“shift+ : / ? ”三個中的任何一個按鈕夫否,就可以將光標移動到最下面那一列。在命令模式中可以執(zhí)行一些輸入并執(zhí)行一些vim或插件提供的指令叫胁,就像在shell里一樣凰慈。這些指令包括設置環(huán)境、文件操作驼鹅、調(diào)用某個功能等等微谓。
二森篷、簡易的執(zhí)行范例
1、直接輸入file的名字就能進入文件的一般指令模式
vim filename
2堰酿、按下 i 進入編輯模式疾宏,開始編輯文字
在編輯模式當中张足,當你發(fā)現(xiàn)在左下角狀態(tài)列中出現(xiàn) –INSERT-時触创,你就可以編輯了。這個時候你可以輸入除了 [ESC]之外的任何字符为牍。
3哼绑、按下 [ESC] 按鈕回到一般指令模式
當你按下 [ESC]按鍵之后,你會發(fā)現(xiàn)左下角的–INSERT-消失了碉咆,這個時候你就是進入了一般命令模式抖韩,當讓當你不確定的時候,可以多按兩下疫铜。
4茂浮、進入命令行界面,文件保存并離開 vim環(huán)境
當你想要退出編輯并保存的時候你需要長按[shift]按鍵的同時按下“:”按鍵壳咕,然后輸入“wq”就可以了席揽。但是你學要注意的權限問題當文件沒有“w”權限的時候作為除“root”用戶外沒有任何用戶可以編輯的。
三谓厘、vim編輯下的按鍵說明
一般按鍵模式
按鍵 | 效果 |
---|---|
h 或 向左方向鍵(↑) | 光標向上移動一個字符 |
j 或 向下方向鍵(↓) | 光標向下移動一個字符 |
k 或 向上方向鍵(←) | 光標向左移動一個字符 |
l 或 向右方向鍵(→) | 光標向右移動一個字符 |
[Ctrl] + [f] | 屏幕“向下”移動一頁幌羞,相當于 [Page Down]按鍵 |
[Ctrl] + [b] | 屏幕“向上”移動一頁,相當于 [Page Up] 按鍵 |
[Ctrl] + [d] | 屏幕“向下”移動半頁 |
[Ctrl] + [u] | 屏幕“向上”移動半頁 |
+ | 光標移動到非空白字符的下一行 |
- | 光標移動到非空白字符的上一行 |
H | 光標移動到這個屏幕的最上方那一列的第一個字符 |
M | 光標移動到這個屏幕的中央那一列的第一個字符 |
L | 光標移動到這個屏幕的最下方那一列的第一個字符 |
G | 移動到這個文件的最后一行 |
gg | 移動到這個文件的第一行 |
/word | 以光標所在位置向下尋找word的字符串 |
?word | 以光標所在位置向上尋找word的字符串 |
x, X | 在一列字當中竟稳,x 為向后刪除一個字符 (相當于 [del] 按鍵)属桦, X 為向前刪除一個字符(相當于 [backspace] 亦即是倒退鍵) |
nx | n 為數(shù)字,連續(xù)向后刪除 n 個字符他爸。舉例來說聂宾,我要連續(xù)刪除 3個字符, “3x”诊笤。dd刪除光標所在的那一整行 |
ndd | n 為數(shù)字系谐。刪除光標所在的向下 n 行,例如3dd 則是刪除 3行 |
dnG | n 為數(shù)字盏混。刪除光標所在到第n行的所有數(shù)據(jù) |
yy | 復制光標所在的那一行 |
p, P | p 為將已復制的數(shù)據(jù)在光標下一行貼上蔚鸥,P 則為貼在光標上一行! |
c | 重復刪除多個數(shù)據(jù)许赃,例如向下刪除 3列止喷,[3cj ] |
. | 重復前一個動作 |
一般指令模式切換到編輯模式的可用的按鈕
按鍵 | 效果 |
---|---|
i, I | 進入插入模式(Insert mode):i為“從目前光標所在處插入”, I為“在目前所在行的第一個非空白字符處開始插入”混聊。 |
a, A | 進入插入模式(Insert mode):a為“從目前光標所在的下一個字符處開始插入”弹谁, A 為“從光標所在行的最后一個字符處開始插入”。 |
o, O | 進入插入模式(Insert mode):這是英文字母 o 的大小寫。o為“在目前光標所在的下一列處插入新的一行”预愤; O 為在目前光標所在處的上一行插入新的一行沟于! |
r, R | 進入取代模式(Replacemode):r 只會取代光標所在的那一個字符一次;R會一直取代光標所在的文字植康,直到按下 ESC 為止 |
[Esc] | 退出編輯模式旷太,回到一般指令模式中 |
一般指令模式切換到命令行界面的按鈕
按鍵 | 效果 |
---|---|
:w | 將編輯的數(shù)據(jù)寫入硬盤文件中 |
:w! | 若文件屬性為“只讀”時,強制寫入該文件销睁。不過供璧,到底能不能寫入, 還是跟你對該文件的文件權限有關冻记。 |
:q | 離開 vim |
:q! | 若曾修改過文件睡毒,又不想儲存,使用 ! 為強制離開不保存冗栗。 |
:wq | 保存后離開演顾,若為 :wq! 則為強制保存后離開。 |
ZZ | 大寫的 Z隅居!若文件沒有更動钠至,則不保存離開,若文件已經(jīng)被更動過军浆,則保存后退出棕洋。 |
:w [filename] | 將編輯的文件保存成另一個文件(新文件) |
:r [filename] | 在編輯的數(shù)據(jù)中,讀入另一個文件的數(shù)據(jù)乒融。把“filename” 這個文件內(nèi)容加到光標所在行后面掰盘。 |
:! command | 暫時離開 vim到命令行界面下執(zhí)行 command 的顯示結(jié)果!例如 “:! ls /home/”即可在 vim 當中察看 /home/ 下面以ls 輸出的文件信息赞季。 |
:set nu | 顯示行號愧捕,設置之后,會在每一列的字首顯示該列的行號申钩。 |
:set nonu | 與 set nu 相反次绘,為取消行號。 |
四撒遣、對于vim警告信息的介紹
[O]pen Read-Only:
打開此文件成為只讀文件邮偎, 可以用在你只是想要查閱該文件內(nèi)容并不想要進行編輯行為時。一般來說义黎, 當你發(fā)現(xiàn)其他人也在編輯的時候禾进,你可以使用這個模式;
(E)dit anyway:
用正常的方式打開你要編輯的那個文件廉涕, 并不會載入緩存的內(nèi)容泻云。不過很容易出現(xiàn)兩個使用者互相改變對方的文件等問題艇拍!不建議使用。
(R)ecover:
就是載入緩存的內(nèi)容宠纯,用在你要救回之前未儲存的工作卸夕。 不過當你救回來并且儲存離開 vim 后,還是要手動自行刪除那個緩存婆瓜。
(D)elete it:
確定那個緩存是無用的快集!那么打開文件前會先將這個暫存盤刪除!這個動作其實是比較常做的勃救!因為你可能不確定這個暫存盤是怎么來的碍讨,所以就刪除掉治力。
(Q)uit:
按下 q 就離開 vim 蒙秒,不會進行任何動作回到命令提示字符。
(A)bort:
忽略這個編輯行為宵统,與 quit 非常類似晕讲!