Login

Navigation

Linux 的命令基本用法 - vim 編輯器

Vimlogo.png

前言:

nano是簡單好用的文件編輯器,但熟練vim後會讓你在編輯處理上更得心應手。

大部份內容取自鳥哥的vim 程式編輯器教學


vim編輯器三種模式:

centos7_vi-mode.gif

如圖示(來自鳥哥) ESC 是退回到一般模式編輯模式命令模式切換都要經一般模式才可以。


一般模式 (Normal mode)
  • 按鍵說明
移動游標的方法

2020-06-23_112920.png

h 或 向左方向鍵(←)游標向左移動一個字元
j 或 向下方向鍵(↓)游標向下移動一個字元
k 或 向上方向鍵(↑)游標向上移動一個字元
l 或 向右方向鍵(→)游標向右移動一個字元
如向下移動 20 列,可以使用 "20j" 或 "20↓" 的組合按鍵即可!

2020-06-23_150634.png

Ctrl + f螢幕『向下』移動一頁,相當於 [Page Down]按鍵
Ctrl + b螢幕『向上』移動一頁,相當於 [Page Up] 按鍵
0 或功能鍵Home這是數字『 0 』:移動到這一行的最前面字元處
$ 或功能鍵End移動到這一行的最後面字元處
gg移動到這個檔案的第一行,相當於 1G 啊!
G移動到這個檔案的最後一行
n+Entern 為數字。游標向下移動 n 行
搜尋和取代
/word向游標之下尋找一個名稱為 word 的字串。
使用 /word 配合 n(向下搜尋下一個) 及 N (向前搜尋上一個),可以讓你重複的找到一些你搜尋的關鍵字!
:1,20s/word1/word2/g在第 1 與 20 列之間尋找 word1 這個字串,並將該字串取代為 word2
:1,$s/word1/word2/g從第一列到最後一列尋找 word1 字串,並將該字串取代為 word2
:1,$s/word1/word2/gc同上,但在取代前顯示確認 (confirm) 是否需要取代!
刪除、複製與貼上
x,Xx 為向後刪除一個字元 (相當於 [del] 按鍵),X 為向前刪除一個字元(相當於 [Backspace]鍵)
dd刪除游標所在的那一整行
nddn 為數字。刪除游標所在的向下 n 列,例如 20dd 則是刪除 20 行
yy複製游標所在的那一行
nyyn 為數字。複製游標所在的向下 n 列,例如 20yy 則是複製 20 行
p,Pp 為將已複製的資料在游標下一列貼上,P 則為貼在游標上一行
u復原前一個動作
Ctrl+r重做上一個動作
.是小數點!意思是重複前一個動作的意思

返回

編輯模式 (insert mode)
左下角處會出現INSERTREPLACE的字眼
i,I進入插入模式(Insert mode): i 為『從目前游標所在處插入』, I 為『在目前所在行的第一個非空白字元處開始插入』。
a,A進入插入模式(Insert mode): a 為『從目前游標所在的下一個字元處開始插入』, A 為『從游標所在行的最後一個字元處開始插入』
o,O進入插入模式(Insert mode): 這是英文字母 o 的大小寫。o 為『在目前游標所在的下一行處插入新的一行』; O 為在目前游標所在處的上一行插入新的一行
r,R進入取代模式(Replace mode): r 只會取代游標所在的那一個字元一次;R會一直取代游標所在的文字,直到按下 ESC 為止;
Esc退出編輯模式(回到一般模式)

返回

命令模式 (command-line mode)
:w將編輯的資料寫入硬碟檔案中
:q離開 vi
:wq儲存後離開,若為 :wq! 則為強制儲存後離開
:set nu顯示行號,設定之後,會在每一列的字首顯示該列的行號
:set nonu與 set nu 相反,為取消行號!

返回


額外 - The Ultimate vimrc 美化vim

vim更賞心悅目!
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh

2021-07-08_091111.png

來自大佬: amix / vimrc


參考資料:

vim 程式編輯器

Vim Cheat Sheet