vi vim 刪除以及其它命令

2021-06-26 04:41:50 字數 4551 閱讀 5178

刪除一行:dd

刪除乙個單詞/游標之後的單詞剩餘部分:dw

刪除當前字元:x

游標之後的該行部分:d$

文字刪除

dd 刪除一行

d$ 刪除以當前字元開始的一行字元

ndd 刪除以當前行開始的n行

dw 刪除以當前字元開始的乙個字

ndw 刪除以當前字元開始的n個字

d 與d$同義

d) 刪除到下一句的開始

d} 刪除到下一段的開始

d回車 刪除2行

ndw 或 ndw 刪除游標處開始及其後的 n-1 個字元。

d0 刪至行首。

d$ 刪至行尾。

ndd 刪除當前行及其後 n-1 行。

x 或 x 刪除乙個字元。

ctrl+u 刪除輸入方式下所輸入的文字。

^r 恢復u的操作

j 把下一行合併到當前行尾

v 選擇一行

^v 按下^v後即可進行矩形的選擇了

aw 選擇單詞

iw 內部單詞(無空格)

as 選擇句子

is 選擇句子(無空格)

ap 選擇段落

ip 選擇段落(無空格)

d 刪除到行尾

x,y 刪除與複製包含高亮區

dl 刪除當前字元(與x命令功能相同)

d0 刪除到某一行的開始位置

d^ 刪除到某一行的第乙個字元位置(不包括空格或tab字元)

dw 刪除到某個單詞的結尾位置

d3w 刪除到第三個單詞的結尾位置

db 刪除到某個單詞的開始位置

dw 刪除到某個以空格作為分隔符的單詞的結尾位置

db 刪除到某個以空格作為分隔符的單詞的開始位置

d7b 刪除到前面7個以空格作為分隔符的單詞的開始位置

d) 刪除到某個語句的結尾位置

d4) 刪除到第四個語句的結尾位置

d( 刪除到某個語句的開始位置

d) 刪除到某個段落的結尾位置

d 游標移至段落結尾

h 游標移至螢幕頂行

m 游標移至螢幕中間行

l 游標移至螢幕最後行

0 到行首

$ 到行尾

gg 到頁首

g 到頁末

行號+g 跳轉到指定行

n+ 游標下移n行

n- 游標上移n行

ctrl+g 查詢當前行資訊和當前檔案資訊

fx 向右跳到本行字元x處(x可以是任何字元)

fx 向左跳到本行字元x處(x可以是任何字元)

tx 和fx相同,區別是跳到字元x前

tx 和fx相同,區別是跳到字元x後

c-b 向上滾動一屏

c-f 向下滾動一屏

c-u 向上滾動半屏

c-d 向下滾動半屏

c-y 向上滾動一行

c-e 向下滾動一行

nz 將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。

vi filename               開啟或新建檔案,並將游標置於第一行首

vi +n filename 開啟檔案,並將游標置於第n行首

vi + filename 開啟檔案,並將游標置於最後一行首

vi +/pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處

vi -r filename 在上次正用vi編輯時發生系統崩潰,恢復filename

vi filename ... filename 開啟多個檔案,依次進行編輯

zz 退出vi並儲存

:q! 退出vi,不儲存

:wq 退出vi並儲存

.        重複上一次操作
c-n      匹配下乙個關鍵字

c-p 匹配上乙個關鍵字

o        在游標下方新開一行並將游標置於新行行首,進入插入模式。

o 同上,在游標上方。

a 在游標之後進入插入模式。

a 同上,在游標之前。

r 進入替換模式,直到按下esc

set *** 設定***選項。

j        把下面一行合併到本行後面
/pattern         從游標開始處向檔案尾搜尋pattern

?pattern 從游標開始處向檔案首搜尋pattern

n 在同一方向重複上一次搜尋命令

n 在反方向上重複上一次搜尋命令

% 查詢配對的括號

:s/p1/p2/g 將當前行中所有p1均用p2替代,若要每個替換都向使用者詢問則應該用gc選項

:n1,n2s/p1/p2/g 將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g 將檔案中所有p1均用p2替換

.*^%~$ 在vi中具有特殊含義,若需要查詢則應該加上轉義字元"\"

設定高亮
:set hlsearch    設定高亮

:set nohlsearch 關閉高亮

:nohlsearch 關閉當前已經設定的高亮

增量查詢
:set incsearch   設定增量查詢

:set noincsearch 關閉增量查詢

x        刪除當前游標下的字元

dw 刪除游標之後的單詞剩餘部分。

d$ 刪除游標之後的該行剩餘部分。

dd 刪除當前行。

c 功能和d相同,區別在於完成刪除操作後進入insert mode

cc 也是刪除當前行,然後進入insert mode

rx       將當前游標下的字元更改為x(x為任意字元) 

~ 更改當前游標下的字元的大小寫

qcharacter  開始錄製巨集,character為a到z的任意字元

q 終止錄製巨集

@character 呼叫先前錄製的巨集

u        撤銷最後執行的命令

u 修正之前對該行的操作

ctrl+r redo

c-w c-n  增加frame

c-w c-c 減少frame

c-w c-w 切換frame

c-w c-r 交換兩個frame

vim支援多達26個剪貼簿

選塊   先用v,c-v,v選擇一塊,然後用y複製,再用p貼上。

yy 複製當前整行

nyy 複製當前行開始的n行內容

?nyy 將游標當前行及其下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字

?nyw 將游標當前行及其下n個詞儲存到暫存器?中,其中?為乙個字母,n為乙個數字

?nyl 將游標當前行及其下n個字元儲存到暫存器?中,其中?為乙個字母,n為乙個數字

?p 將暫存器?中的內容貼上到游標位置之後。如果?是用yy複製的完整行,

則貼上在游標所在行下面。這裡?可以是乙個字母,也可以是乙個數字

?p 將暫存器a中的內容貼上到游標位置之前。如果?是用yy複製的完整行,

則貼上在游標所在行上面。這裡?可以是乙個字母,也可以是乙個數字

ay[motion]

ay$ 複製游標位置到行末並儲存在暫存器a中

ayft 複製游標位置到當前行第乙個字母t並儲存在暫存器a中

以上指令皆可去掉a工作,則y,p對未命名暫存器工作(所有d,c,x,y的物件都被儲存在這裡)。

所有刪除的內容自動被儲存,可以用p鍵貼上

all         列出所有選項設定情況

term 設定終端型別

ignorance 在搜尋中忽略大小寫

list 顯示製表位(ctrl+i)和行尾標誌($)

number 顯示行號

report 顯示由面向行的命令修改過的數目

terse 顯示簡短的警告資訊

warn 在轉到別的檔案時若沒儲存當前檔案則顯示no write資訊

nomagic 允許在搜尋模式中,使用前面不帶「\」的特殊字元

nowrapscan 禁止vi在搜尋到達檔案兩端時,又從另一端開始

mesg 允許vi顯示其他使用者用write寫到自己終端上的資訊

對**自動格式化 gg=g

在vi/vim中,跳到檔案首尾快捷鍵:

檔案開始:shift + g

檔案結束:g g

vi vim 刪除以及其它命令

from 刪除一行 dd 刪除乙個單詞 游標之後的單詞剩餘部分 dw 刪除當前字元 x 游標之後的該行部分 d 文字刪除 dd 刪除一行 d 刪除以當前字元開始的一行字元 ndd 刪除以當前行開始的n行 dw 刪除以當前字元開始的乙個字 ndw 刪除以當前字元開始的n個字 d 與d 同義 d 刪除到...

vi vim 刪除以及其它命令

刪除一行 dd 刪除乙個單詞 游標之後的單詞剩餘部分 dw 刪除當前字元 x 游標之後的該行部分 d 文字刪除 dd 刪除一行 d 刪除以當前字元開始的一行字元 ndd 刪除以當前行開始的n行 dw 刪除以當前字元開始的乙個字 ndw 刪除以當前字元開始的n個字 d 與d 同義 d 刪除到下一句的開...

vi vim 刪除以及其它命令

刪除一行 dd 刪除乙個單詞 游標之後的單詞剩餘部分 dw 刪除當前字元 x 游標之後的該行部分 d 文字刪除 dd 刪除一行 d 刪除以當前字元開始的一行字元 ndd 刪除以當前行開始的n行 dw 刪除以當前字元開始的乙個字 ndw 刪除以當前字元開始的n個字 d 與d 同義 d 刪除到下一句的開...