1、vim 單檔案中查詢方法正常模式下使用 / 或 ? 命令執行向後搜尋或向前搜尋
:set ic 忽略大小寫命令,ic 為 ignore case 縮寫
:set is 邊輸入邊顯示匹配結果,is 是 incsearch 命令的縮寫
:set hls 高亮顯示匹配結果,hls 為 highlight search 縮寫
可將上述設定放入.vimrc 檔案中,設為預設搜尋設定
:set noic nois nohls 將取消上述設定
:noh 暫時取消高亮顯示,不會影響下次高亮顯示匹配結果
2、vim 多檔案查詢方法
正常模式下使用 :vim 或 :vimgrep 命令執行多檔案搜尋
搜尋的時候涉及到選取檔案問題,這裡主要用到 * 作為萬用字元
** 表示資料夾及子資料夾下的所有檔案
:vim/love/* 當前資料夾下的所有檔案
:vim/love/** 當前資料夾及子目錄下的所有檔案
:vim/love/**/*.php 當前資料夾及子目錄下的所有 php 檔案
:vim/love/*.php aa/**/*.php 當前資料夾下的 php 檔案和 aa 目錄及子目錄下的 php 檔案
使用 ** 和 * 可任意組合出想要搜尋的檔案
:cw 檢視搜尋結果
:ccl 關閉搜尋結果
:cn 查詢下乙個
:cp 查詢上乙個
3、vim 單檔案替換方法
單檔案中使用 :s 命令進行替換操作
替換操作會涉及幾個常用的標記
% 所有行 g 單行內所有匹配項 i 忽略大小寫 c 確認是否替換
:s/old/new 將游標所在行第乙個 old 替換為 new
:s/old/new/g 將游標所在行所有 old 替換為 new
:%s/old/new/gc 全文執行替換,詢問是否替換
:3,10s/old/new/gic 將第3行到第10行內容替換,忽略大小寫,且每個詢問是否替換
g i c 可自由組合
4、vim 多問件替換
多檔案替換使用 :args 和 :argdo 命令,這兩個命令結合可以對多檔案執行相同操作,不僅是替換
:args *.php 將當前資料夾下的 php 檔案加入引數列表。加入檔案操作也可使用 ** 選擇資料夾和子資料夾,和上述2 多檔案查詢用法一樣
:argdo %s/old/new/gc | update 執行替換操作,除使用:argdo 和 | update 外,其它替換操作和 3 中單檔案替換用法是一樣的
args 命令為選取檔案到列表,argdo 命令為對列表中的檔案執行批處理操作
:args 檢視引數列表
:argd * 清空引數列表
:arga xx 新增 xx 檔案到引數列表,和 args 新增一樣,可用 ** 選擇多資料夾和檔案,參見上述 2 方法
注意:在執行 argdo 操作的時候,要先儲存當前檔案,因為批處理操作會跳到其它檔案。
替換前要備份原先檔案,update 必須加上,系統會自動儲存替換後的檔案,否則替換會被中斷。
其它:執行 args 新增檔案操作會將遍歷的檔案同樣新增到緩衝區列表。
:ls 列出當前緩衝區列表檔案
:bd 3 將緩衝區3號文件刪除到非緩衝區列表
:ls! 列出非緩衝區列表檔案
:bw 3 可將緩衝區或非緩衝區列表檔案徹底清除
:argdo bw 可對引數列表中的所有檔案執行清除緩衝區操作
vim查詢和替換詳解
1 vim 單檔案中查詢方法 正常模式下使用 或 命令執行向後搜尋或向前搜尋 set ic 忽略大小寫命令,ic 為 ignore case 縮寫 set is 邊輸入邊顯示匹配結果,is 是 incsearch 命令的縮寫 set hls 高亮顯示匹配結果,hls 為 highlight sear...
VIM的查詢和替換
vi vim 中可以使用 s 命令來替換字串。該命令有很多種不同細節使用方法,可以實現複雜的功能。s vivian sky 替換當前行第乙個 vivian 為 sky s vivian sky g 替換當前行所有 vivian 為 sky n,s vivian sky 替換第 n 行開始到最後一行中...
vim 替換詳解
range s pattern string c,e,g,i 5 1 range指的是範圍,1,7 指從第一行至第七行,1,指從第一行至最後一行,也就是整篇文章,也可以 代表。還記得嗎?是目前編輯的文章,是前一次編輯的文章。pattern就是要被替換掉的字串,可以用 regexp 來表示。strin...