Bash最基本的文法
循環和條件判斷—Bash
Vim快捷鍵
運算符----Bash
數組----Bash
字元串—Bash
變量----Bash
行操作—Bash
Bash
内置了
Readline
庫,具有這個庫提供的很多“行操作”功能,比如指令的自動補全,可以大大加快操作速度。
這個庫預設采用
Emacs
快捷鍵,也可以改成
Vi
快捷鍵。
Bash腳本教程裡有關于
Emacs
的快捷鍵,本文主要介紹的是
Vi
的快捷鍵
光标移動
上下左右的移動一個字元
上下左右的移動一個字元,
↑、↓、←、→
;或者是
kjhl
,
h
在左邊表示左移,
l
在右邊表示右移。
↑ | k | 光标向上移動一個字元 |
---|---|---|
↓ | j | 光标向下移動一個字元 |
← | h | 光标向左移動一個字元 |
→ | l | 光标向右移動一個字元 |
- 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進行的次數(數字)後,按下動作即可!
在某一行内移動
- 數字+空格鍵 按下數字後再按空格鍵,光标會向右移動這一行的 n 個字元。例如
則光标會向後面移動 20 個字元距離。20<space>
- Home鍵 移動到這一行的最前面,就是回老家的意思
- End鍵 移動到這一行最後面字元處
常用
- G 移動到最後一行
- gg 移動到第一行
搜尋替換
搜尋替換 | |
---|---|
/word | 向光标之下尋找一個名稱為 word 的字元串。例如要在檔案内搜尋 vbird 這個字元串,就輸入 /vbird 即可! (常用) |
?word | 向光标之上尋找一個字元串名稱為 word 的字元串。 |
:n1,n2s/word1/word2/g | n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字元串,并将該字元串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(常用) |
:1,$s/word1/word2/g 或 :%s/word1/word2/g | 從第一行到最後一行尋找 word1 字元串,并将該字元串取代為 word2 !(常用) |
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc | 從第一行到最後一行尋找 word1 字元串,并将該字元串取代為 word2 !且在取代前顯示提示字元給使用者确認 (confirm) 是否需要取代!(常用) |
撤銷重複操作
操作 | |
---|---|
N | 這個 N 是英文按鍵。取反操作,為『反向』進行前一個搜尋動作。 例如 /vbird 後,按下 N 則表示『向上』搜尋 vbird 。 |
u | 複原前一個動作。(常用) |
[Ctrl]+r | 重做上一個動作。(常用) |
删除複制
操作 | |
---|---|
dd | 删除遊标所在的那一整行(常用) |
dd | n 為數字。删除光标所在的向下 n 行,例如 20dd 則是删除 20 行 (常用) |
yy | 複制遊标所在的那一行(常用) |
p, P | p 為将已複制的資料在光标下一行貼上,P 則為貼在遊标上一行! 舉例來說,我目前光标在第 20 行,且已經複制了 10 行資料。則按下 p 後, 那 10 行資料會貼在原本的 20 行之後,亦即由 21 行開始貼。但如果是按下 P 呢? 那麼原本的第 20 行會被推到變成 30 行。 (常用) |
c | 重複删除多個資料,例如向下删除 10 行,[ 10cj ] |