VI常用命令和按鍵

來源:互聯網
上載者:User
1. 儲存及退出檔案
:wq或者:x  存檔案,並且退出vi
ZZ  儲存並退出(:x 表示僅在需要時儲存,ZZ不需要輸入冒號並斷行符號) ZZ = wq
ZQ  無條件退出
:e filename 開啟檔案filename進行編輯[相當於退出當前的並開啟另一個檔案]
:e! 放棄修改檔案內容,重新載入該檔案編輯
:e 重新載入【類似重新整理】
ctrl+z/fg 暫時掛到後台/跳回編輯頁面
:f 或 Ctrl-g   顯示檔案名稱及一些其他資訊
:!command 暫時退出vi並執行shell指令,執行完畢後再回到vi
:r!command 將命令command的輸出結果放到當前行【強大】
vim -x exam.txt 新編輯的檔案加密,會提示輸入密碼
:X  檔案加密,會提示輸入密碼
:map 列出當前已定義的映射(如何定義映射?)
:jumps 列出關於你曾經跳轉過的位置的列表,你最後一個跳轉的位置被特別以一個”>”號標記
:marks 列出自訂的標記,包含VIM內部自訂的標識
:%!nl  要對包含空行的所有行進行編號(所有行之前插入行號^I)
:version 顯示VIM版本資訊,包含特性、編譯方式及設定檔目錄
:options 開啟一個新視窗, 在該視窗的最開頭的注釋下面是一個選項列表(do what?)
:r filename 在游標所在處插入一個檔案的內容(read)可加入數字 :nr filename
:f filename 改變編輯中的檔案名稱(file)相當於複製了一個檔案,執行這個命令後,新編輯不會應用於原檔案
gf vim特殊開啟檔案的方法,開啟游標所在處的 word 為名的檔案,當然,這個檔案要在目前的目錄內,否則會建立新檔案

2.移動
(1)單詞
w 游標跳到下個word的第一個字母 [常用]
W 移到下一個字的開頭,忽略標點符號
b 游標回到上個word的第一個字母
B 移到前一個字的開頭,忽略標點符號 BACK
e 游標跳到下個word的最後一個字母
E 移到下一個字的結尾,忽略標點符號 END
ge 前一個word的詞尾
gE
(2)行
n+ 游標下移n行【按上檔鍵 數字shift +】
n- 游標上移n行
[[ 檔案開始位置——開始行
]] 檔案結束位置——末尾行
H  游標移至螢幕頂行    HEAD
M  移到螢幕的中間行開頭 Middle
L  移到螢幕的最後一行 LAST
(  游標移至句首
)  游標移至句尾
(3)段落
* 和 #  匹配游標當前所在的單詞,移動游標到下(或上)一個匹配單詞(*是下一個,#是上一個)
zf 摺疊(需加方向鍵)
zo 展開(空格也可以展開)
(4)螢幕
Ctrl+u 向檔案首翻半屏up
Ctrl+d 向檔案尾翻半屏down
Ctrl+f 向檔案尾翻一屏 forward (fact整屏去兩行)
Ctrl+b 向檔案首翻一屏back (fact整屏去兩行)
CTRL-] 跳轉到當前游標所在單詞對應的主題
CTRL-O 回到前一個位置
zz 命令會把當前行置為螢幕正中央(z字取其象形意義類比一張紙的摺疊及變形位置重設)
zt 命令會把當前行置於螢幕頂端(top)
zb 命令會把當前行置於螢幕底端(bottom)
50% 游標定位在檔案的中間
` 跳轉到最近游標定位的位置(只能記憶最近兩個位置) 反引號

3.插入
I 在當前行首開始插入字元
A 在游標所在行的最後面開始加字
s 預設刪除游標所在字元,輸入內容插入之 = xi
S 預設刪除當前行內容,輸入內容作為當前行新內容= dd+o

4.刪除
(1)字元
nx 刪除由游標位置起始後的n個字元(含游標位置) x =dl(刪除當前游標下的字元)
nX 刪除由游標位置起始前的n個字元(含游標位置) X =dh(刪除當前游標左邊的字元)
d0 刪至行首
d$ 刪至行尾
dfa 表示刪除從當前游標到游標後面的第一個a字元之間的內容
D 代表d$(刪除到行尾的內容)
C 代表c$(修改到行尾的內容)
(2)單詞
ndw 刪除游標處開始及其後的n-1個字
ndb 刪除游標處開始及其前的n-1個字
diw 刪除當前游標所在的word(不包括空白字元),意為Delete Inner Word 兩個符號之間的單詞
daw 刪除當前游標所在的word(包括空白字元),意為Delete A Word
(3) 行
dG 刪除當前行至檔案尾的內容
dgg 刪除當前行至檔案頭的內容
cw 刪除當前字,並進入輸入模式 【很好用,快速更改一個單詞】 相當於dw+i
ncw 刪除當前字及其後的n-1個字,並進入輸入模式\ 修改指定數目的字
cc 刪除當前行,並進入輸入模式
ncc 刪除當前行及其後的n-1行,並進入輸入模式
guw 游標下的單詞變為小寫
gUw 游標下的單詞變為大寫
xp 左右交換游標處兩字元的位置
ga 顯示光線標下的字元在當前使用的encoding下的內碼

5.複製和黏貼
(1)複製
y0 表示拷貝從當前游標到游標所在行首的內容
y$ 複製從當前位置到行尾
yfa 表示拷貝從當前游標到游標後面的第一個a字元之間的內容
yG 複製從所在行到最後一行
P 複製暫存資料在游標的上一行
:n1,n2 co n3 將n1行到n2行之間的內容拷貝到第n3+1行【n3行的下一行】
:n1,n2 m n3 將n1行到n2行之間的內容移至到第n3行下
~ 改變當前游標下字元的大小寫
 
6.尋找
/pattern 從游標開始處向檔案尾搜尋pattern
?pattern 從游標開始處向檔案首搜尋pattern
# 向上完整匹配游標下的單詞 相當於?word
* 向下完整匹配游標下的單詞 相當於/word
 
7.替換
:%s!\s*//.*!!  去掉所有的“//”注釋
:%s!\s*/\*\_.\{-}\*/\s*!!g 去掉所有的“/* */”注釋
:%s= *$== 將所有行尾多餘的空格刪除(沒看懂)
:g/^\s*$/d 將所有不包含字元(空格也不包含)的空行刪除

參考:http://blog.csdn.net/wklken/article/details/7533272

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.