學習vi和vim編輯器(7):ex編輯器概述(2),vimex
接著上一篇文章,學習ex編輯器。
更改緩衝區名稱:
可以使用" :w new_file_name"的方式將當前編輯緩衝區儲存為新的檔案。這樣就可以使得當前的編輯結果得以儲存,同時又不修改原來的檔案(前提是沒有對當前檔案進行過儲存)。
儲存一部分檔案:
通過使用ex的行定址命令和寫入命令w,可以將檔案中的一部分儲存為新的檔案。例如通過" :20 ,$ w new_file_name "命令將當前檔案的第20行到檔案的結尾儲存為新的檔案,檔案名稱為new_file_name。
附加內容到已儲存的檔案:
通過Linux的重新導向操作符(>>)加上寫入命令(w),可以將緩衝區的一部分或全部內容添加到某個檔案中。例如" :340, $w >> newfile "命令會將當前檔案第340行到檔案結尾的內容附加到newfile中。
將一個檔案複製到另一個檔案:
通過 " :read file_name "命令將某個已存在的檔案複製到當前正在編輯的檔案中,該命令也可以簡寫為 " :r file_name "。該命令會將檔案內容插入到當前游標所在位置的下一行,可以通過在read或r命令之前輸入行號來指定插入的位置。
編輯多個檔案:
ex命令可以讓我們在多個檔案之間切換。
用vi同時開啟多個檔案:使用vi時,可以同時給出多個檔案名稱,接著用ex命令在檔案間切換。例如" vi file1 file2 "可以先編輯file1,編輯完成之後,輸入 " :n "命令即可編輯下一個檔案,即file2。
使用參數列表:除了使用" :n "命令來切換到下一個檔案," :args "(簡寫為" :ar ")可以列出命令列上的檔案清單。當前正在編輯的檔案名稱會用方括弧括起,如所示:
" :rewind"(簡寫為" :rew ")命令會將當前檔案切換為檔案名稱列表中的第一個。vim中提供了" :last "命令,用於將當前檔案切換為檔案名稱列表中的最後一個。
調用新檔案:
除了在編輯回話開始時開啟多個檔案,還可以在任何時候通過" :e命令 "來開啟新的檔案。但是在開啟新檔案之前,必須使用" :w "命令將當前檔案進行儲存,否則vi不會讓你用" :e "或" :n "命令來切換檔案,除非在這些命令之後加上驚嘆號,從而強行忽略vi的限制。如果單純的使用 " :e! "命令可以放棄當前檔案的編輯結果,直接回到當前檔案上一次儲存時的狀態。
vi會同時記住兩個檔案名稱,作為當前檔案名稱和候補檔案名稱。當前檔案名稱可以用%表示,候補檔案名稱用#表示。所以" :e # "命令即可切換到候補檔案。
除了用ex命令進行檔案切換,vi編輯器也提供" ctrl + ^ "命令進行檔案切換。這個命令的功能與" :e # "一樣,都是切換到候選檔案。
在檔案之間做編輯:
之前已經講過命名緩衝區的概念,通過命名緩衝區可以更為簡單的把文本從一個檔案移到另外一個檔案。使用 " :e "命令進行檔案切換時,並不會清除命名緩衝區中的內容。因此可以將需要移動的文本儲存到某個命名緩衝區中,再使用" :e "命令進行檔案切換後,將相應的命名緩衝區的內容放置到新檔案中,即可完成檔案之間的文本移動。
實現文本在檔案之間移動的另一種方法是通過ex命令 " :ya "(拖動)與 " :pu "(放置)。通過這兩個命令,再結合行定址功能和命名緩衝區,也能夠實現檔案之間的文本移動。
本章vi命令總結:
:w,:read,:r,:n,:args,:ar,:rewind,:rew,:last,:e,%,#,ctrl+^,:ya,:pu。