重復執行命令 數字N+命令 重復執行命令N次,如刪除15行,就在命令狀態下輸入15dd . 重復執行上一條命令 vi命令使用的一些選項及含義 -c sub-command 在對指定的文件編輯前,先執行指定的命令 sub-command . -r filename 恢復指定的文件filename . -R 將指定的文件以只讀的方式放入編輯器中,這樣不會保存對文件的任何修改。 -y number 將編輯窗口的大小設為number行。 光標移動 命令模式下,在同一行上移動的子命令: h 將光標左移一格 l 將光標右移一格 j 將光標下移一格 k 將光標上移一格 w 將光標移到下一個小字的前面 W 將光標移到下一個大字的前面 b 將光標移到前一個小字的前面 B 將光標移到前一個大字的前面 e 將光標移到下一個小字的後面 E 將光標移到前一個大字的後面 fc 把光標移到同一行的下一個c字符處 Fc 把光標移到同一行的前一個c字符處 tc 把光標移到同一行的下一個字符c的前一格 Tc 把光標移到同一行的前一個字符c的後一格 number|把光標移到遞number列上 命令模式下在行間移動的子命令: +或Enter 把光標移至下一行第一個非空白字符 - 把光標移至上一行第一個非空白字符 0 把光標移到當前行的第一個字符處 $ 把光標移到當前行的最後一個字符處 H 把光標移到屏幕最頂端一行 L 把光標移到屏幕最底端一行 M 把光標移到屏幕中間 :number 光標移動到第number行 :$ 光標移動到最後以行 屏幕翻滾類命令 Ctrl+u 向文件首翻半屏 Ctrl+d 向文件尾翻半屏 Ctrl+f 向文件尾翻一屏 Ctrl+b 向文件首翻一屏 nz 將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部 插入文本 I 在光標前 I 在當前行首 a 光標後 A 在當前行尾 o 在當前行之下新開一行 O 在當前行之上新開一行 r 替換當前字符 R 替換當前字符及其後的字符,直至按ESC鍵 s 從當前光標位置處開始,以輸入的文本替代指定數目的字符
S 刪除指定數目的行,並以所輸入文本代替之 ncw或nCW 修改n個單詞 nCC修改指定數目的行 刪除 x 刪除光標所指的一個字母 X 刪除光標左邊的一個字母 dd 刪除光標所在的一行文字,同時本行文字會放到緩存中 d0 刪至行首 d$ 刪至行尾 D 刪除本行光標右邊的所有文字,包括光標位置的字母 d$ 刪除本行光標右邊的所有文字,包括光標位置的字母 dw 刪除光標右邊的一個單詞 ndw 刪除n個單詞 d1G 刪除光標所在行以上的所有行 dG 刪除光標所在行及光標以下所有行 復制 yy 復制本行文字到緩存中 number yy 復制number行到緩存中 粘貼 p 把緩存中的行粘貼到光標所在的下一行, P 把緩存中的行粘貼到光標所在的上一行 替換 :s/pattern1/pattern2/g 把光標當前行的pattern1替換為pattern2 :%s/pattern1/pattern2/g 把所有行的pattern1替換為pattern2 :g/parttern1/s//parttern2 把所有行的pattern1替換為pattern2 :num1,num2 s/pattern1/pattern2/g 把num1到num2的partten1替換為partten2 被替換的文字用^表示行首,$表示行尾,如:%s/^/111/g就表示在每一行的行首插入111 文件 :r filename 把文件filename的內容粘貼在光標以下行 :w 保存當前編輯的文件名 :w filename 當filename不存在時,把修改後的文件存為文件filename ,當文件filename 存在時,報錯。 !w filename 如果文件filename存在時,把修改後的文件保存為文件filename :q 退出vi ,若文件被修改,系統不會讓用戶使用q命令退出 q! 不保存退出 x 保存退出 wq 保存退出 在多個文件之間切換 :n開始編輯vi激活的文件列表中的下一個文件 :n filenames 指定將被編輯的新的文件列表 在當前文件和另外一個文件間切換: :e filename 使用filename激活vi(在vi中裝入另一個文件filename) e! 重新裝入當前文件,若當前文件有改動,則丟棄以前的改動
:e+filename 使用filename激活vi ,並從文件尾部開始編輯 :e+number filename 使用filename激活vi ,並在第number行開始編輯 :e# 開始編輯另外一個文件 查找 /pattern 向後尋找指定的pattern?,若遇到文件尾,則從頭再開始。 ?pattern 向前尋找指定的pattern?,若遇到文件頭,則從尾再開始。 n 在上次指定的方向上,再次執行上次定義的查找。 N 在上次指定的方向的相反方向上,再次執行上次定義的查找。 /pattern/+number 將光標停在包含pattern的行後面第number行上。 /pattern/-number 將光標停在包含pattern的行前面第number行上。 % 移到匹配的"()"或"{}"上。 選項設置 all 列出所有選項設置情況 term 設置終端類型 ignorance 在搜索中忽略大小寫
list 顯示制表位(Ctrl+I)和行尾標志($) number 顯示行號 report 顯示由面向行的命令修改過的數目 terse 顯示簡短的警告信息 warn 在轉到別的文件時若沒保存當前文件則顯示NO write信息 nomagic 允許在搜索模式中,使用前面不帶“\”的特殊字符 nowrapscan 禁止vi在搜索到達文件兩端時,又從另一端開始 mesg 允許vi顯示其他用戶用write寫到自己終端上的信息