功能強大的編輯器 Vi

2021-06-18 01:29:28 字數 2061 閱讀 8728

相信vi是什麼就不用我多介紹了,這個工具從unix誕生以來一直是終端下的標準編輯器。幾乎每個unix或類unix作業系統都提供了vi。vim是vi improved的縮寫,功能比起vi來說有了很大的擴充套件。我用的是vi improved 6.3。

說實話,vi我用得不太好,遠遠不及emacs熟練,不過它也是我工作中不可缺少的利器之一,在終端裡逛蕩的時候看哪個檔案不順眼就拿vi去改改:) 我的另乙個習慣是在有x的系統上往往用emacs,而沒有x的系統上往往用vi。寫下這份筆記是為了防止我忘記掉一些快捷鍵。

k          上

h l 左 右

j 下

^ 移動到該行第乙個非空格的字元處

w 向前移動乙個單詞,將符號或標點當作單詞處理

w 向前移動乙個單詞,不把符號或標點當作單詞處理

b 向後移動乙個單詞,把符號或標點當作單詞處理

b 向後移動乙個單詞,不把符號或標點當作單詞處理

0 到行首

$ 到行尾

gg 到頁首

g 到頁末

行號+g 跳轉到指定行

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

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

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

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

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

ctrl+u 向上滾動半屏

ctrl+d 向下滾動半屏

zz:退出vi並儲存

:q! :退出vi,不儲存

:wq :退出vi並儲存

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

c-p 匹配上乙個關鍵字

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

o:同上,在游標上方。

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

a:同上,在游標之前。

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

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

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

/ + 字串:即可在當前檔案查詢相應的字串。

繼續查詢同乙個字串,按n或/(enter),若要反向繼續查詢,按shift+n。

若要逆向查詢,用?代替 /

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

% :查詢配對的括號。

s/old/new/g:替換old為new,若沒有g則表示只替換乙個。

若要每個替換都向使用者詢問則應該用gc選項

設定高亮
:set hlsearch    設定高亮

:set nohlsearch 關閉高亮

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

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

:set noincsearch 關閉增量查詢

vim支援多達26個剪貼簿

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

對**自動格式化 gg=g

功能強大的編輯器 Vi

k 上 h l 左 右 j 下 移動到該行第乙個非空格的字元處 w 向前移動乙個單詞,將符號或標點當作單詞處理 w 向前移動乙個單詞,不把符號或標點當作單詞處理 b 向後移動乙個單詞,把符號或標點當作單詞處理 b 向後移動乙個單詞,不把符號或標點當作單詞處理 0 到行首 到行尾 gg 到頁首 g 到...

功能強大的編輯器 Vi

功能強大的編輯器 vi 相信vi是什麼就不用我多介紹了,這個工具從unix誕生以來一直是終端下的標準編輯器。幾乎每個unix或類unix作業系統都提供了vi。vim是vi improved的縮寫,功能比起vi來說有了很大的擴充套件。這裡用的是vi improved 6.3。k 上 h l 左 右 j...

功能最強大的編輯器 vi

vi是所有unix系統都會提供的螢幕編輯器,它提供了乙個視窗裝置,通過它可以編輯檔案。當然,對unix系統略有所知的人,或多或少都覺得vi超級難用,但vi是最基本的編輯器,所以希望讀者能好好把它學起來,以後在unix世界裡必將暢行無阻 游刃有餘,因為其他幾種文字處理器並非unix標準配備。說不定別人...