vim和vi有什麼區別,簡單的理解vim是vi的升級版,所以直接用vim。 vim的所有操作是區分中英文大小寫的,並且區分數字鍵盤(數字不能用小鍵盤)。 vim有三種工作模式:命令模式、文本編輯模式和最後行模式。 一、命令模式下的操作 1.1游標定位 鍵盤的上下左右可以移動,同時 k 上移 j 下移 ...
vim和vi有什麼區別,簡單的理解vim是vi的升級版,所以直接用vim。
vim的所有操作是區分中英文大小寫的,並且區分數字鍵盤(數字不能用小鍵盤)。
vim有三種工作模式:命令模式、文本編輯模式和最後行模式。
一、命令模式下的操作
1.1游標定位
鍵盤的上下左右可以移動,同時
k 上移
j 下移
h 左移
l 右移
ctrl+f 下一頁(相當於page down)
ctrl+b 上一頁(相當於page up)
H 將游標移到屏幕上的起始行(或最上行)
M 將游標移到屏幕中間
L 將游標移到屏幕最後一行
H和L命令還可以加數字。如2H表示將游標移到屏幕的第2行,3L表示將游標移到屏幕的倒數第3行。
w 右移游標到下一個字的開頭
e 右移游標到一個字的末尾
b 左移游標到前一個字的開頭
0 數字0,左移游標到本行的開始
$ 右移游標,到本行的末尾
^ 移動游標,到本行的第一個非空字元
1.2搜索(查日誌時經常使用)
.搜索(命令行模式下)
/正向搜索字元串 如/str1 正向搜索字元串 str1
?反向搜索字元串 如?str1 反向搜索字元串 str1
n 繼續搜索,找出搜索字元串下次出現的位置
shift + n 反向繼續搜索
1.3替換和刪除
rc 用 c 替換游標所指向的當前字元
5rA 用 A 替換游標所指向的後 5 個字元(nrc,n=5,c=A)
x 刪除游標所指向的當前字元
3x 刪除游標所指向的後 3 個字元(nx,n=3)
dw 刪除游標右側的字(可以包括下一行)
3dw 刪除游標右側的 3 個字(ndw,n=3)
db 刪除游標左側的字(可以包括上一行)
5db 刪除游標左側的 5 個字(ndb,n=5)
dd 刪除游標所在行,並去除空隙
3dd 刪除 3 行內容,並去除空隙(ndd,n=3)
1.4剪切和粘貼
從正文中刪除的內容(如字元、字或行)並沒有真正丟失,而是被剪切並複製到了一個記憶體緩衝區中。用戶可將其粘貼到正文中的指定位置。完成這一操作的命令是:
p 小寫字母 p,將緩衝區的內容粘貼到游標的後面
P 大寫字母 P,將緩衝區的內容粘貼到游標的前面
複製內容倒緩存區
yy 複製當前行到記憶體緩衝區
5yy 複製 5 行內容到記憶體緩衝區(nyy,n=5)
1.5撤銷和重覆
u 撤消前一條命令的結果
. 重覆最後一條修改正文的命令
二、文本編輯模式下的操作
命令模式下按i進入編輯模式
編輯模式按esc回到命令模式
三、最後行模式下的操作
在命令模式下按冒號進入最後行模式(末行模式)
:q 如果有未修改緩衝區數據,退出
:q! 取消所有對緩衝區數據的修改並退出【不保存直接退出】
:w filename 將文件保存到另一個文件中
:wq 將緩衝區數據保存到文件中並退出
:a,bw filename 將第 a 行至第 b 行的內容寫入 filename 文件
:set nu 顯示行號
:333 將游標移到第 333 行
:set fileformat=unix 修改文件格式(複製Windows下麵的一些文本進來時,對有些應用來說需要修改格式才能讀取)
:set fileencoding