標籤:style blog http color 使用 ar strong 檔案 sp
原文轉自:http://blog.163.com/stu_shl/blog/static/599375092011639354090/
一、游標移動
h 或 向左方向鍵(←) 20h或者20(←) |
游標向左移動一個字元 游標向左移動20個字元, |
j 或 向下方向鍵(↓) 20j或者20(↓) |
游標向下移動一行 游標向下移動20行, |
k 或 向上方向鍵(↑) 20k或者20(↑) |
游標向上移動一行 游標向上移動20行, |
l 或 向右方向鍵(→) 20l或者20(→) |
游標向右移動一個字元 游標向右移動20字元, |
在這裡要注意一點的是,不要用小鍵盤輸入數字,不然就會直接輸入模式了.
Ctrl + f |
螢幕『向下』移動一頁,相當於 [Page Down]按鍵 (常用) |
Ctrl + b |
螢幕『向上』移動一頁,相當於 [Page Up] 按鍵 (常用) |
Ctrl + d |
螢幕『向下』移動半頁 |
Ctrl + u |
螢幕『向上』移動半頁 |
Ctrl + e |
螢幕『向下』移動一行 |
Ctrl + y |
螢幕『向上』移動一行 |
+ |
游標移動到非空格符的下一列 |
- |
游標移動到非空格符的上一列 |
n<space> |
那個 n 表示『數字』,按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20<space> 則游標會向後面移動 20 個字元距離。 |
n<Enter> |
n 為數字。游標向下移動 n 行(常用) |
0 或功能鍵[Home] |
移動游標到下一行最前面,並進入到insert狀態 |
$ 或功能鍵[End] |
移動到這一行的最後面字元處(常用),這裡的$在正則裡面表示是結尾的意思,這樣理解一下就能記住 |
H |
游標移動到這個螢幕的最上方那一行的第一個字元,H你就把它記成是header的縮寫,這樣就好記了 |
M |
游標移動到這個螢幕的中夬那一行的第一個字元,M你就把它記成middle的縮寫 |
L |
游標移動到這個螢幕的最下方那一行的第一個字元,L你就把它記成last的縮寫 |
G |
移動到這個檔案的最後一行(常用) |
nG |
n 為數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行 |
gg |
移動到這個檔案的第一行,相當於 1G 啊! (常用) |
二、刪除、複製、粘貼、撤銷
x, X |
在一行字當中,x 為向後刪除一個字元 (相當於 [del] 按鍵), X 為向前刪除一個字元(相當於 [backspace] 亦即是退格鍵) (常用) |
nx nX |
n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除游標後 10 個字元, 『10x』。 n 為數字,連續刪除游標前面的 n 個字元。舉例來說,我要連續刪除游標前的 10 個字元, 『10X』。 |
dd yy |
刪除游標所在的那一整行(常用), 複製游標所在的那一行(常用) |
ndd nyy |
n 為數字。刪除游標所在行向下 n 行,例如 20dd 則是刪除 20 行(常用) n 為數字。複製游標所在行向下 n 行,例如 20yy 則是複製 20 行(常用) |
d1G y1G |
刪除游標所在行到第一行的所有資料 複製游標所在行到第一行的所有資料 |
dG yG |
刪除游標所在行到最後一行的所有資料 複製游標所在行到最後一行的所有資料 |
d$ y$ |
刪除游標所在處,到該行的最後一個字元 複製游標所在的那個字元到該行行尾的所有資料 |
d0 y0 |
那個是數位 0 ,刪除游標所在處,到該行的最前面一個字元 複製游標所在的那個字元到該行行首的所有資料 |
p, P |
p將複製的資料,粘貼在游標的下一行,P將複製的資料,粘貼到游標的上一行 |
J |
將游標所在行不下一行的資料結合成同一行 |
c |
重複刪除多個資料,可以通過上下鍵來決定刪除游標上面的,還是下面的 |
u |
撤銷。(常用) |
Ctrl + r |
撤銷的撤銷。(常用) |
三、區塊選擇,尋找,替換
v |
字元選擇,會將游標經過的地方反白選擇! |
V |
行選擇,會將游標經過的行反白選擇! |
Ctrl + v |
區塊選擇,可以用長方形的方式選擇資料 |
y |
將反白的地方複製起來 |
d |
將反白的地方刪除掉 |
/string ?string |
向游標之下尋找一個名稱為string字串 向游標之上尋找一個名稱為string字串 |
n N |
正向尋找,搜尋出的string,可以理解成next 反向尋找,搜尋出的string,可以理解成Not next |
:n1,n2s/string1/string2/g |
這裡的n1是尋找的開始行數,n2是尋找結束的行數。【:2,7s/ddd/fff/g】在第2行,第7行之間,將ddd替換成fff |
:1,$s/string1/string2/g |
從第一行到最後一行尋找 string1 字串,並將該字串替換為 string2 !(常用) |
:1,$s/string1/string2/gc |
從第一行到最後一行尋找 string1 字串,並將該字串替換為 string2 !且在替換前顯示提示字元給使用者確認 (confirm) 是否需要替換!(常用) |
四、儲存,退出,環境變數
:w :w! |
將編輯的資料寫入硬碟檔案中(常用) 若檔案屬性為『唯讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案許可權有關啊! |
:q :q! |
離開 vi (常用) 若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。 |
:wq :wq! |
儲存後離開 強制儲存後離開 |
ZZ |
這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存後離開! |
:w [filename] |
另存新檔 |
:r [filename] |
在編輯的資料中,讀入另一個檔案的資料。亦即將 『filename』 這個檔案內容加到游標所在行後面 |
:! command |
暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如 『:! cat ./test』即可在 vi 當中察看當前檔案夾中的test檔案中的內容 |
i,I,a,A,o,O,r,R |
進入插入模式,雖然有不同之處,感覺差別不大,就放在一起了 |
Esc |
退出插入模式,進入命令模式 |
:set nu |
顯示行號,設定之後,會在每一行的首碼顯示該行的行號,這一點,非常有用,當我們修改設定檔的時候,能知道多少行,就方便多了。 |
:set nonu |
與 set nu 相反,取消行號 |
Vim常用操作