linux程式設計師必備的vi操作

2021-10-08 02:01:11 字數 2931 閱讀 1265

​ vi是最強大的文字編輯器,沒有之一,vi作為上古神器,歷史悠久,現在還應用如此的廣泛,正印證了存在即合理的道理,只要你經常接觸linux,必然少不了接觸vi。vi的初次使用可能體驗感很不好,就和上古神器一樣,強大的**和工具都是難以駕馭的。當你vi操作熟練後,你會覺得真香,並且你的90%操作都可以擺脫滑鼠

vi 檔名

開啟乙個檔案,如果檔案不存在,就建立它

示例:vi helloword.c

vi 有三種模式,命令列模式、插入模式和替換模式,在命令列模式下,任何鍵盤輸入都是命令,在插入模式和替換模式下,鍵盤輸入的才是字元,插入模式和替換模式也合稱為編輯模式。

esc 從編輯模式切換到命令列模式

i 在游標所在位置前面開始插入

a 在游標所在的位置後面開始插入

o 在游標所在位置行的下面插入空白行

o 在游標所在位置行的上面插入空白行

i 在游標所在位置行的行首開始插入

a 在游標所在位置行的行末開始插入

:w回車 存檔

:w!回車 強制存檔

:wq回車 存檔退出

:x回車 存檔退出

:q回車 不存檔退出

:q!回車 不存檔強制退出

k 類似方向鍵上

j 類似方向鍵下

h 類似方向鍵左

l 類是方向鍵右

ctrl+u 向上翻半頁

ctrl+d 向下翻頁

ctrl+g 顯示游標所在位置的行號和檔案的總行數

ng 游標跳到檔案的第n行行首

g 游標跳到檔案最後一行

:n回車 游標跳到第n行

0 游標跳到當前行的行首

$ 游標跳到當前行的行尾

w 游標跳到下個單詞的開頭

b 游標跳到上個單詞的開頭

e 游標跳到本單詞的尾部

x 每按一次,刪除游標所在位置的乙個字元

nx 如"3x"表示刪除游標所在位置開始的3個字元

dw 刪除游標所在位置到本單詞結尾的字元

d 刪除本行游標所在位置後面全部的內容

dd 刪除游標所在位置的一行

ndd 如"3dd"表示刪除游標所在位置開始的3行

yy 將游標所在位置的一行複製到緩衝區

yw 複製游標位置到單詞的結束到緩衝區

y$ 複製游標位置到行末到緩衝區

yg 複製游標所在行到檔案末尾到緩衝區

nyy 將游標所在位置的n行複製到緩衝區

p 將緩衝區裡的內容貼上到游標所在位置

ctl+insert 複製滑鼠選中的文字,相當於ctl+c

shift+insert 輸出滑鼠選中的文字,相當於ctl+v

備註:以上兩個命令在windows和unix中是通用的。

r 替換游標所在位置的乙個字元 replace

r 從游標所在位置開始替換,直到按下"esc"

cw 從游標所在位置開始替換單詞,直到按下"esc"

查詢操作:/

示例:/abcd 在當前開啟的檔案中查詢「abcd」文字內容

n 查詢下乙個

n 查詢上一下

單個替換:

:s/***/ccc 把游標所在行第乙個***字段替換為ccc

單行替換:

:s/***/ccc/g 把游標所在行所有***字段替換為ccc

全域性替換:

:g/***/s//ccc/g回車 把檔案中全部的***替換成ccc

ctrl+r 反撤銷命令,可多次反撤銷

u 撤銷命令,可多次撤銷

. 重複執行上一次執行的vi命令(與查詢替換命令結合起來非常好用)

~ 對游標當前所在的位置的字元進行大小寫轉換

列操作 :ctrl+v

示例:ctrl+v 游標上或下 大寫的i 輸入需要插入的內容內容 esc

j 把當前行的下一行接到當前行的尾部

vi在編輯某乙個檔案時,會生成乙個臨時檔案,這個檔案以 . 開頭並以 .swp結尾。正常退出該檔案自動刪除,如果意外退出例如忽然斷電,該檔案不會刪除,我們在下次編輯時可以選擇一下命令處理:

o 唯讀開啟,不改變檔案內容

e 繼續編輯檔案,不恢復.swp檔案儲存的內容

r 將恢復上次編輯以後未儲存檔案內容

q 退出vi

d 刪除.swp檔案

或者使用vi -r 檔名來恢復未儲存的內容

Linux系統 程式設計師跳槽必備

相信在看這篇文章的你,曾經或者現在是否跳槽呢,在北上廣一線城市,你是否還在掙著那可憐巴巴的工資,過著拮据生活呢?但是自己想跳槽,卻沒有一技之長或者是自己的技術找工作太難了,那麼我建議你學習下linux,如果你這個學好了,找工作應該會簡單的多,如果linux 你已經玩的很好了,相信你的程式設計思維與技...

Linux系統 程式設計師跳槽必備

linux系統 程式設計師跳槽必備 相信在看這篇文章的你,曾經或者現在是否跳槽呢,在北上廣一線城市,你是否還在掙著那可憐巴巴的工資,過著拮据生活呢?但是自己想跳槽,卻沒有一技之長或者是自己的技術找工作太難了,那麼我建議你學習下linux,如果你這個學好了,找工作應該會簡單的多,如果linux你已經玩...

Linux系統 程式設計師跳槽必備

相信在看這篇文章的你,曾經或者現在是否跳槽呢,在北上廣一線城市,你是否還在掙著那可憐巴巴的工資,過著拮据生活呢?但是自己想跳槽,卻沒有一技之長或者是自己的技術找工作太難了,那麼我建議你學習下linux,如果你這個學好了,找工作應該會簡單的多,如果linux 你已經玩的很好了,相信你的程式設計思維與技...