標籤:ar sp 檔案 資料 on bs linux 學習 使用者
1、一般模式
移動
h或方向左 ------------------- 左移動
j或方向下-------------------- 下移動
k或方向上------------------ 上移動
l或方向右 ------------------- 右移動
crtl+f 向下移動一頁(常用)
ctrl+b 向上移動一頁(常用)
crtl+d 向下移動半頁
crtl+u 向上移動半頁
+ 游標移動到非空格符的下一行
- 游標移動到非空格符的上一行
n<space> 移動到這一行的第n個字元
0 移動到這一行的頭端(常用)
$ 移動到這一行的末端(常用)
G移動到這個檔案的最後一行(常用)
nG 移動到這個檔案的第n行,常與:set nu一起用
gg 移動到這個檔案的第一行,同1G(常用)
n<Enter> 游標向下移動n行(常用)
搜尋
/word 從游標位置開始,向下搜尋一個名為word的字串(常用)
?word 從游標位置開始,向上搜尋一個名為word的字串(常用)
n 表示重複前一個搜尋動作(常用)
N 表示反向重複前一個搜尋動作(常用)
搜尋替換
:n1,n2s/word1/word2/g 表示在n1和n2行之間搜尋到word1並用word2替換(常用)
:1,$s/word1/word2/g 表示在第一行和最後一行之間搜尋到word1並用word2替換(常用)
:1,$s/word1/word2/gc 表示在第一行和最後一行之間搜尋到word1並用word2替換,但是在替換的時候給使用者提示(常用)
刪除,複製,粘貼
x 在一行中,向後刪除一個字元,相當與[Del](常用)
X 在一行中,向前刪除一個字元,相當與[Backspace](常用)
nx 連續向後刪除n個字元
dd 刪除游標所在的那一行(常用)
ndd 刪除游標所在的向下n行(常用)
d1G 刪除游標所在位置到第一行的所有資料
dG 刪除游標所在位置到最後一行到所有資料
d$ 刪除游標所在位置到該行最後一個字元的資料
d0 刪除游標所在位置到該行第一個字元的資料
yy 複製游標所在的那一行(常用)
nyy 複製游標所在行的向下n行(常用)
y1G 複製游標所在行到第一行的所有資料
yG 複製游標所在行到最後一行的所有資料
y$ 複製游標所在行到該行最後一個字元的資料
y0 複製游標所在位置到該行第一個字元到資料
p 將複製的資料粘貼到游標的下一行(常用)
P 將複製的資料粘貼到游標的上一行(常用)
J 將游標所在行與下一行的資料結合成同一行
u 複原前一個操作,相當與撤銷(常用)
crtl+r 重做上一個操作(常用)
. 小數點 ,重複前一個操作,例如重複粘貼,重複刪除等(常用)
2、編輯模式
i 在游標所在前方處插入字元(常用)
I 在游標所在行的頭部插入字元(常用)
a 在游標所在後方插入字元(常用)
A 在游標所在行的尾部插入字元(常用)
o 字母o,在游標所在的下一行處插入新的一行(常用)
O 字元O,在游標所在的上一行處插入新的一行(常用)
r 替換游標所在的那一個字元(常用)
R 一直替換游標所在的文字,直到按下Esc(常用)
3、命令模式
:w 將編輯的資料儲存(常用)
:w! 如果檔案屬性為唯讀,則強行寫入,具體能不你寫入與檔案許可權有關。
:q 離開vi (常用)
:q! 強制離開不隱藏檔
:wq 儲存後離開(常用)
:e! 將檔案還原到最初狀態
ZZ 若檔案沒有更改,則不儲存離開,若檔案以更改,則儲存後離開。
:w filename 相當與另存新檔檔案。
:r filename 在編輯資料中,讀入另外一個檔案的資料,即內容載入在游標所在行後面
:n1,n2 w filename 將此檔案的第n1到n2行另存新檔filename檔案
:!command 暫時離開vi 執行command的顯示結果,例如 :! ls /home 即可在vi中查看檔案資訊
:set nu 顯示行號
:set nonu 取消行號
Vim的Visual Block功能 (用鍵盤的上下左右可見效果,滑鼠看不出來)
v 字元選擇,游標經過的地方反白選擇
V 行選擇,游標經過的行反白
crtl+v 塊選擇,一塊一塊的地方
y 複製反白地方
d 刪除反白地方
多檔案編輯
開啟多個檔案
vim filename1 filename2 filename3 ......
:n 編輯下一個檔案
:N 編輯上一個檔案
:files 列出當前vim開啟的所有檔案
多視窗編輯
:sp filename 開啟一個新視窗,如果加了filename,表示在新視窗開啟一個新檔案,否則表示兩個視窗為同一檔案內容。
crtl+w+j 按下crtl+w 後,放掉再按j,則移動到下方視窗。
crtl+w+k 同上,移動到上方視窗。
crtl+w+q 結束離開
一些常用的Vim環境設定
:set nu 設定行號
:set hlsearch 設定搜尋的字串反白,如果不想就設定為:set nohlsearch
:set autoindent 設定自動縮排,不自動縮排:set noautoindent
:set backup 是否自動備份,一般用nobackup,否則會產生一個備份檔案filename~
:set ruler 設定右下角是否顯示狀態
:set showmode 設定左下角顯示狀態如--INSERT--
:set backspace=(012) 一般來說,用i進入編輯模式後可以用退格鍵來刪除字元,但某些版本不允許,此時可以用backspace來設定,當backspace=2時,可以刪除任何字元。0或1時,只能刪除剛輸入的字元。
:set all 顯示所有的環境設定
:syntax (off / on) 是否開啟文法顯色。
經驗:
不必每次都要設定,可以自己建立一個設定檔:如下
vim ~/.vimrc
:set hlsearch
:set backspace=2
:set autoindent
:set ruler
:set showmode
:syntax on
linux學習5 vi,vim的學習