在命令狀態下,所鍵入的字元系統均作命令來處理
在編輯狀態下,進行編輯文字**
當剛進入vim時,會先進入命令狀態。在命令狀態下,按 i 或者a 可以進入編輯狀態,在編輯狀態,按esc鍵進入命令狀態。
在命令狀態下:
//新增
a 從游標後面開始新增文字
a 從游標所在行的末尾開始新增文字
//插入
i 從游標前面開始插入文字
i 從游標所在行的開始處插入文字
//刪除與修改
x 刪除游標處的字元
dd 刪除游標所在的整行
[n]dd 刪除游標所在行以及下面的n行
d或d$ 刪除游標到行尾的文字,常用於刪除注釋語句
yy 複製游標所在的整行
[n]yy 從游標開始往下複製n行
p 將複製後的文字貼上到游標處
u 撤銷上次操作
//游標移動
^ 游標移動到行首
$ 游標移動到行尾
ctrl+f 向下翻一頁
ctrl+b 向上翻一頁
gg 游標定位到檔案頭
g 游標定位到檔案尾
h 游標定義到當前頁首
l 游標定位到當前頁的最後一行行首
w 游標向後移動乙個字
b 游標往前移動乙個字
[n]+ 游標向後移動n行
[n]- 游標向前移動n行
[n]g 游標定位到第n行行首
//查詢與替換
/[str]
:s/[src]
/[dst]
//部分替換,只能替換游標所在行,i/忽略大小寫 g/全部匹配 eg:s/hello/word/ig:3
,6 s/
[src]
/[dst]
/ig
//(3-6)行查詢替換
:%s/
[src]
/[dst]
/g 將文件中所有src的字串替換為dst字串
:%s/
^//g 將文件每一行的行首空格去掉
//塊操作
v 視覺化選擇狀態,選中塊之後,可以對塊進行刪除(d)
,複製(y)
,剪下(x)
ctrl+v 豎向選擇模式,主要用於批量注釋**:
1、首先按ctrl+v,豎選選中要注釋的行
2、輸入i,然後輸入//
3、再輸入esc,就會看到選中的行被注釋了
//文件的儲存以及退出
:q 在未修改文件的情況下退出
:q! 放棄文件的修改,強行退出
:w 文件存檔
:wq 文件存檔退出 :%
!xxd 以十六進製制模式檢視:%
!xxd -r 返回文字模式
在編輯過程中按ctrl+s,vim處於停止執行狀態,可以按ctrl+q恢復
:new test.c //表示再開啟乙個vim,橫向的
:vnew test.c 表示縱向,也可以通過sp和vsp命令實現
:ctrl+w+w 兩個視窗之間切換
命令模式輸入gg=g,自動對齊操作
sed 管道查詢替換程式,批量替換命令
cat a.txt|sed 's/aa/bb/'
> b.txt
//將a.txt中的aa替換成bb並重定向輸出到b.txt中
sed "s/printf/puts/g" main.c //在main.c中不會生效,必須加-i引數
sed -i "s/printf/puts/g" main.c
若在不同資料夾中進行批量替換
find .
-name "*.c"
| xargs sed -i "s/printf/puts/g"
對比兩個檔案是否相同
vimdiff main1.c /usr/main2.c
VIM編輯器常用命令
1 vi的基本概念 基本上vi可以分為三種狀態,分別是 命令模式 command mode 插入模式 insert mode 底行模式 last line mode 1 命令列模式command mode 控制螢幕游標的移動,字元 字或行的刪除,移動複製某區段及進入insert mode下,或者到 ...
vim編輯器常用命令
1.退出vi儲存 wq 強制儲存退出 wq 儲存退出 x 儲存退出 作用和 wq一樣 zz zz大寫,並且不是在命令列模式 作用跟 wq一樣 q 退出 q 強制退出 file filename 儲存未命名檔案 w 寫入 儲存 2.移動 h 在當前行向左移動乙個字元 j 移動到下一行 k 移動到上一行...
vim 編輯器常用命令
1 vim可以分為三種狀態 命令模式 command mode 插入模式 insert mode 底行模式 last line mode 命令列模式command mode 控制螢幕游標的移動,字元 字或行的刪除,移動複製某區段及進入insert mode下,或者到 last line mode。插...