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 你已經玩的很好了,相信你的程式設計思維與技...