vi常用用法總結

2021-09-20 19:44:08 字數 2892 閱讀 9634

0(零) 

將游標移到當前行的行首

$ 將游標移到當前行的行末

##g 

將游標移到

g前面的數字指定的行。例如,

42g將游標移到檔案的第42行

g 將游標移到檔案的最後一行

w 將游標向前移到下乙個單詞的首字母

e 將游標向前移到下乙個單詞的最後乙個字母

b 將游標向後移到上乙個單詞首字母

- 將游標定位到上一行的行首

+ 將游標定位到下一行的行首

12| 

將游標定位到當前行的第12列

l 將游標定位到螢幕的最下面一行

m 將游標定位到螢幕中間的一行

h 將游標定位到螢幕的最上面一行

」 兩個單引號將游標移到它的先前的位置

設定顯示選項

:set number 

將行號作為螢幕顯示的一部分,但是行號並不是檔案的一部分。它的縮寫形式為

:set nu

:set nonumber 

清除螢幕上的行號。

文字刪除命令

dd 刪除當前游標所有的文字行

#dd 

刪除#行文字

x 刪除游標所在的乙個字元

#x 從文字中(游標位置開始向行末)刪除#個字元

d 刪除當前行上游標後面的部分

:#,#d 

例如,:12,37d 

將刪除第12~

37行之間的所有文字,包括第12和

37行撤銷命令

u撤銷。恢復最近一次的文字修改操作,即使已經移動了游標。

a(小寫) 

從游標的右側開始插入文字

a(大寫

) 從當前行的行末開始新增文字

i(小寫

) 從游標的左側開始插入文字

i(大寫

) 從當前行的行首插入文字

o(小寫

) 在游標的下面開啟(或插入)乙個新行

o(大寫

) 在游標的上面開啟乙個新行

:#r filename 

例如,:8rreport.old

讀取檔案

report.old

,並將它的內容放到當前檔案的第

8行之後

s(小寫

) 替換單個字元

s(大寫

) 替換整行文字

r 用輸入的下乙個字元替代當前游標處的字元,並自動返回到命令模式

c(大寫

) 修改行上從游標到行末之間的文字

yy將當前行複製或接出到內在緩衝區。

20yy

將當前行和它後面的

19行(共

20行)文字複製到記憶體。目標行仍然保留在檔案中,可以使用

p命令將這些記憶體中的文字貼上到檔案中

dd刪除當前行,並將它放到與

yy命令使用的相同的記憶體緩衝區。目標行從檔案中刪除,但是可以使用

p命令將它貼上到檔案中的其他地方

yw 將當前游標所在的單詞接出或複製到內在緩衝區。

6yw命令將把當前單詞和它後面的

5個(共

6個)單詞複製到記憶體

dw 刪除當前的單詞,並將它放到與

yw命令使用的相同的記憶體緩衝區。可以使用

p命令將單詞貼上到檔案的其他地方

yt#接出從游標到向前乙個字元(不包括該字元)之間的文字。例如,

ytb命令將從游標到字元

b的下一例項(不包括字元

b)之間的文字接出或複製到記憶體

p 將記憶體中的文字行貼上到檔案中游標所在行的下面,或將記憶體中的單詞貼上到檔案中游標的右側

p(大寫

) 將接出或刪除的文字行貼上到檔案中游標所在行的上面。或將接出或刪除的單詞貼上到檔案中游標的左側

檔案移動命令

j 將下行文字同當前行合併成一行

:#,# move # 

將指定的行移到目標位置。

:12,35 move58

命令將第12~

35行之間的所有文字移到第

58行的後面。縮寫為

mo:1,26 co 82 將第1

~26行之間的所有文字複製到第

82行的後面(可以選擇行號)

使用視覺化編輯器進行全域性編輯

:s /target/replacement/

查詢當前行上目標字串的第

1個例項並刪除,然後用字串

replacement

替換。只修改當前行上的第

1個目標例項

:g /target/s//replacement/

查詢所有行上目標字串的第

1個例項並刪除,然後用字串

replacement

替換。修改所有行上目標的第

1個例項

:#,# s/target/replacement/ 

在指定的行上進行替換。例如,

:7,37s/march/walk/

將查詢第7~

37行之間的所有文字行,並用字串

walk

替換每行中的第

1個目標字串

march

。所有指定行上的第

1個目標字串修改

:#,# s/target/replacement/g 

在指定的行上進行全域性替換。例如,

:1,$ s/fun/joyful/g

將在第1

行到檔案最後一行之間查詢目標字串

fun的所有例項並刪除,然後用字串

joyful

替換。指定行上的目標字串

的所有例項都被修改

:g /target/s/replacement

查詢所有行上目標字串的第

1個例項並刪除,然後用字串

replacement

替換。所有行上的第

1個目標都被修改

vi常用用法總結

0 零 將游標移到當前行的行首 將游標移到當前行的行末 g 將游標移到 g前面的數字指定的行。例如,42g將游標移到檔案的第42行 g 將游標移到檔案的最後一行 w 將游標向前移到下乙個單詞的首字母 e 將游標向前移到下乙個單詞的最後乙個字母 b 將游標向後移到上乙個單詞首字母 將游標定位到上一行的...

C 常用用法總結

華電北風吹 2016 04 04 好久不刷題了,基礎都忘了還是總結一下常用的stl函式用法吧。無創新,純粹為了效率。一 vector用法 vector map n,vector n 二維初始化 struct edge bool compare edge e1,edge e2 vector v sor...

Linux VIM常用用法總結

vim是linux當下最常用的文字處理器,全程為vi improved。它所處理的都是asc 碼字元資料,熟練使用vim對每一位學習linux的人來說都是不可或缺的。首先,vim自帶的幫助文件就可以直接用於搜尋命令及命令的用法,在初次接觸vim的時候肯定會或多或少的用到這一功能。其次,vim分為三種...