vi實用命令

2021-04-14 00:50:27 字數 4075 閱讀 8646

vi命令太多,外掛程式無數,不過對於日常基本的文字操作,掌握基本命令足以,這裡列出一些我平時用的比較多的命令:

1.游標移動相關命令:l0

:移到行首; l

$:移到行尾; l

n:跳到相對當前行的後n行;

l:n:跳到第

n行,注意是在命令模式輸入「:

n」,前面的是只輸入n

lng:

跳到第n

行,注意:g大寫

lgg:檔案開頭 l

shift+g:

檔案結尾 l

%跳到匹配的括號; l

ctrl+o

後退;

lctrl+i

前進;

lctrl+t

,taglist

中用於標籤跳轉 l

gd:跳轉到變數定義的地方 l

m+乙個字母可以設定乙個標籤,然後`+設定標籤的字母就跳到相應的標籤處 l

f+乙個字元,跳轉到當前行當前游標後面第一次出現這個字元的位置; l

ctrl+b

向後翻頁; l

ctrl+f

向前翻頁; l

ctrl+]

跳轉到當前符號的定義處(需要有tag檔案)

2.編輯相關命令:

插入:l

i(i):i

,游標前插入;

i:行首插入; l

a(a):a

游標後插入;

a:行尾插入; l

o(o):o

:行上插入新行;

o:行下插入新行;

刪除:d l

dd:刪除當前行; l

dnd:刪除包含當前行在內的之後n行;

ld+g:刪除當前行至最後行所有內容;

複製:y l

yy:複製當前行; l

yny:複製包含當前行在內的之後n行;

貼上:lp

撤銷:l

u(u):u

,撤銷上乙個操作;

u,撤銷當前行所有操作

重複:

lctr + r

重複上乙個命令:l.(

句點號)

3.儲存退出:l

w:隨時儲存 l

x:如果改變了檔案那麼保持並且退出;如果檔案沒有被改變則直接退出; l

ctrl+z:

如果改變了檔案那麼放棄修改直接退出;如果檔案沒有被改變則直接退出;

4.搜尋相關:

l向前搜尋:? l

向後搜尋:/

l下乙個匹配:

n,對於向前搜尋,游標向前移動;對於向後搜尋,游標向後移動; l

上乙個匹配:

n 查詢上乙個出現的

string

小技巧

hlsearch

和nohlsearch

開關會設定是否允許高亮搜到的字串;預設輸入搜尋字串回車後

vi會將搜尋到的所有字串高亮,如果要取消高亮,乙個比較簡單的方法是隨便重新搜尋乙個不存在的字串即可。 l

shift+8

,向後搜尋當前游標指向的單詞 l

shift+3

,向前搜尋當前游標指向的單詞

5.替換:(執行後進入編輯模式)l:

%s/old string/new string/g     

這個指令是於在整個檔案中替換特定字串 l

c:相當於刪除命令

d加插入命令

i的結合;如果要刪除並且修改,那麼可以直接用

c命令比較方便,而不用

d命令先刪除後插入;和命令

d類似,

cc刪除當前行並插入,

cnc刪除包含當前行在內的之後

n行並插入;還可以和

0,$,w,e

等結合操作; l

r(r):

r,替換乙個字元後自動轉換命令模式;

r進入替換編輯模式,一直到按

esc才能重新返回命令模式;

6.選擇:

lctrl-v

:列選擇模式,或者叫做可視塊選擇。

選擇後可以用

x刪除,或者按

i進入插入模式,插入後按

esc所有列都插入了相同的內容;

可以用這個功能進行多行縮排,選擇多行首字母,然後一起插入空格進行縮排;

lshift-v

:行選擇模式,進入行選擇模式後可以用k,

j鍵上下移動進行選擇,

選擇後可以用

d進行刪除,或者用

y進行複製;

<

左縮排,>右縮排;

7.綜上:

編輯和替換命令都會從命令模式進入編輯模式;

刪除命令

d,複製命令

y,替換命令

c可以搭配0,

$,w,

e進行操作。 0

代表行首, $

代表行尾, w

代表當前游標至後面的空白部分

(包括空白),

e代表當前游標到第乙個非空白部分之間的內容;

例如:d$表示刪除游標至行首部分,

y0表示複製游標至行首部分,

cw會刪除當前游標之後直到第乙個空格,並且進入編輯模式;

刪除命令

d,複製命令

y,替換命令

c可以搭配w,

e以及行或者字數進行操作,格式:

*n?(*代表

d,y或者

c操作,

n代表包含當前行在內的後

n行,?代表e或者

w)例如:

d2w,刪除當前游標至後面的兩個單詞;

y2e,複製當前游標至後面兩個單詞包括空格在內;

dnd,yny

,刪除或者複製當前行在內的n行;

8.雜項命令

l大小寫轉換鍵:~

lctrl+g

:顯示當前編輯的檔案相關資訊; l

ctrl+p,ctrl+n:

根據上下文自動完成; l

顯示行號

:set nu(set nonu) l

自動換行

:set wrap(set nowrap) l

zo:開啟當前行摺疊 l

zc或者空格

:關閉當前行摺疊

l開啟多個檔案後的切換:

:b filename或者

:b 檔案編號

進行檔案切換

(後不一定加檔案全名,只要能保證唯一性,如:

:b te*)

l:ls

檢視快取中的檔案 l

有時候為了方便可以把

vi分為兩個視窗:

:sp

或者:split l

分開視窗後如何切換視窗呢:

ctrl+w,

然後j,k

上下切換視窗;

l:e

編輯新檔案,如:

:e test.rst

vi實用命令集

整理自lamp。vi工作模式 插入命令 定位命令 刪除命令 複製和剪下命令 替換和取消命令 搜尋和替換命令 s 全文替換 替換時可以把g換成c,區別是 g不詢問,直接替換 c會逐個詢問 儲存退出 wq zz wq 強制儲存退出,用於無寫許可權時,使用者必須是root或者檔案所有者 w 相當於word...

MySQL實用命令

一 連線mysql 1 例1 連線到本機上的mysql 首先在開啟dos視窗,然後進入mysql安裝目錄下的bin目錄下,例如 d mysql bin,再鍵入命令mysql uroot p,回車後提示你輸密碼,如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可進入到mysql中了...

MySQL實用命令

一 連線mysql 1 例1 連線到本機上的mysql 首先在開啟dos視窗,然後進入mysql安裝目錄下的bin目錄下,例如 d mysql bin,再鍵入命令mysql uroot p,回車後提示你輸密碼,如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可進入到mysql中了...