【轉】http://rainbird.blog.51cto.com/211214/109308
vi功能太強大了,只列出筆者常用的,並陸續增加中.
:redo 在Linux系統中,取消撤銷操作恢複文本修改。在標準的UNIX系統中,第2個u命令取消第1個u命令,結果就是一個“redo”
12| 將游標定位到當前行的第12列
cw 僅僅修改游標處的單詞(刪除單詞,然後進入追加模式中,以在被刪除單詞的位置添加文本)
s(小寫) 替換單個字元
S(大寫) 替換整行文本
cc 替換整行文本(同S)
:12,35 move 58命令將第12~35行之間的所有文本移到第58行的後面。縮寫為mo
:1,26 co 82 將第1~26行之間的所有文本複製到第82行的後面(可以選擇行號)
:7,37 s/march/walk/將尋找第7~37行之間的所有文本行,並用字串walk替換每行中的第1個目標字串march。所有指定行上的第1個目標字串修改
,:1,6 w newtext命令建立一個名為newtext的檔案,並將當前檔案的第1~6行文本複製到檔案newtext中
:1,6 w >> oldfile 將當前檔案的第1~6行文本的一個副本追加到已有檔案oldfile的末尾
:1,6 w! oldfile 用當前檔案的第1~6行文本覆蓋檔案oldfile,:1,6 w newtext命令建立一個名為newtext的檔案,並將當前檔案的第1~6行文本複製到檔案newtext中
:1,6 w >> oldfile 將當前檔案的第1~6行文本的一個副本追加到已有檔案oldfile的末尾
:1,6 w! oldfile 用當前檔案的第1~6行文本覆蓋檔案oldfile
:!ls 啟動一個shell,並讓shell運行ls程式。在運行完指定的程式後,必須按斷行符號鍵以返回到編輯器中
:!ksh 啟動一個shell,它允許運行多個命令。退出shell可以回到編譯器中
:Or!speel% 對當前檔案(%)進行拼字檢查,並將spell的輸出詩篇到當前檔案中,從第1行(0行後面)開始放置這些輸出
:31r!command% 運行UNIX命令(如cal或date)並將它的輸出讀入到當前檔案,從第31行開始放置這些輸出
本文出自 “rainbird” 部落格,請務必保留此出處http://rainbird.blog.51cto.com/211214/109308