vim進階編輯(一) 本文內容學習自《使用vi編輯器, Lamb & Robbins編著》 本文內容概要:set設定.vimrc配置vim下執行linux命令利用linux命令來編輯當前檔案短語縮寫 本文約定:$ + 命令 表示在普通的bash的命令列下: + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 進入 ------------------------------------------------------------------------------------------------ set命令 有兩種類型的選項可以使用:set命令進行修改:不是開就是關的觸發選項和帶數字或字串值的選項(如頁面邊界的位置和檔案名稱) 一般觸發選項的命令為:set cmd關閉選項的命令為:set nocmd上面cmd代表某種命令選項 例如,:set ic 在搜尋時忽略大小寫 (ic=ignore case):set noic 在搜尋時不忽略大小寫 可以用:set all 命令查看所有的選項,可以看到你設定的值或者預設值 :set option? 查看option這個選項的當前設定值:set 顯示在.vimrc檔案或當前會話期間修改或設定過的選項 .vimrc檔案 在Linux中,.vimrc在使用者home目錄下(初始時沒有,要自己建立一個),可以修改這個檔案。 可以把set, ab和map命令寫入該檔案中,那麼開啟vim編輯,會使用這個檔案裡的配置 替換環境 除了讀取home目錄下的.vimrc設定檔外,還可以讓vim讀取目前的目錄下的.vimrc檔案,這樣可以對那些適用於特殊項目的選項進行設定。 注意,可以在home目錄下的.vimrc設定某些選項,然後在本地目錄中取消這些設定。 執行linux命令 在vim進行編輯時,可以顯示或讀取任何Linux命令執行的結果。用驚嘆號(!)可以制定vim建立一個shell並把它後面的內容看成Linux命令::!command 例如,:!date 顯示目前時間 上面的命令,只能執行一次命令,然後就返回vim編輯環境了,如果想要執行多次命令而不會返回vim編輯環境,可以用命令,:sh這個命令其實是建立了一個shell,可以像正常的命令列一樣操作。如果要退出shell並返回vim編輯,按 Ctrl + D 利用read(r)命令可以把Linux命令執行的結果讀入到當前編輯的檔案中::r !date將會把目前時間讀入到編輯檔案中 使用命令過濾文本 利用驚嘆號執行linux命令,可以讓vim利用linux命令所提供的功能來編輯。例如檔案內容:4523要把這幾行從小到大排序,可以利用系統的sort命令::1, 4 !sort將會對這四行排序 短語縮寫 縮寫很有用,我們經常在檔案中反覆輸入同樣長的短語,無論是在插入模式還是在命令模式下,vim和ex都有許多不同的用來儲存長命令序列的方法 :ab hw hello world!這個命令表示hw是hello world!的縮寫,那麼在插入模式或者命令模式下,只要輸入hw作為一個完整的單詞(不能是其他單詞的一部分),就會自動拓展成hello world! 如果要取消這個縮寫,可以輸入:unab hw 列出當前的所有縮寫:ab