vim查詢檔案
查詢檔案
假定現在你在編輯乙個 c 程式, 該程式有這樣一行:
#include "inits.h"
你想要檢視檔案 "inits.h" 裡有些什麼. 把游標移到該檔名上, 並鍵入:
gfvim 就會找到並開啟這個檔案.
那麼, 如果該檔案不在當前目錄裡怎麼辦? vim 將利用 'path' 選項來尋找這個檔案.
該選項是一系列目錄名, vim 會在其中為你尋找檔案.
假設你把你的標頭檔案存放在目錄 "c:/prog/include" 裡. 下面這個命令把該目錄加入
'path' 選項:
:set path+=c:/prog/include
這個目錄名是一絕對路徑. 不管你在哪兒, 它都指向同一目錄. 如果你已經知道要編輯的
檔案位於當前檔案所在目錄下某個子目錄裡, 你該怎麼辦呢? 那樣的話, 你可以指定乙個
相對路徑. 相對路徑以 "." 開始:
:set path+=./proto
這個命令告訴 vim 到目錄 "proto" 裡找檔案, 而 "proto" 則位於你在其中用了 "gf"
命令的檔案所在的目錄下面. 如此一來, 對 "inits.h" 用 "gf" 命令, 就讓 vim 以當前
檔案所在目錄為起點, 尋找 "proto/inits.h".
如果不加 "./", 只用 "proto", vim 就會進入當前目錄下的 "proto" 目錄尋找. 然而
當前目錄可能不是你在編輯的這個當前檔案所在的目錄.
'path' 選項還允許你用其它許多方法來指定在其中尋找檔案的目錄. 參見關於 'path'
選項的幫助.
'isfname' 選項用來決定哪些字元可用於檔名, 以及哪些不可以 (如上例中的雙引號
" 字元).
當你要找的檔名沒出現在你編輯的檔案裡時, 你可以鍵入這個檔名:
:find inits.h
然後 vim 就利用 'path' 選項來確定該檔案的位置. 這就跟 ":edit" 命令一樣, 只不
過 ":edit" 命令不用 'path' 選項.
要在新視窗內開啟那個已經找到的檔案, 用 ctrl-w f, 而不是 "gf", 或用 ":sfind"
而不是 ":find".
有個好辦法可以直接啟動 vim 來編輯 'path' 中的某個檔案:
vim "+find stdio.h"
這會在你的 'path' 中查詢 "stdio.h"。雙引號是必需的,用來把括起來的當做乙個引數
set hlsearch "開啟高亮搜尋
set nohlsearch "關閉高亮搜尋
nohl "只取消掉當前的搜尋高亮
map :nohl只需要按ctrl-n取消查詢後的高亮顯示
VIM 多檔案查詢替換
1 多檔案查詢 1.1 grep 直接在vim中輸入 grep abc 這是直接呼叫unix下的grep命令 1.2 vimgrep 基本用法就是 vimgrep 匹配模式 g j 要搜尋的檔案 範圍 vim grep g j g 和 j 是兩個可選的標誌位,g表示是否把每一行的多個匹配結果都加入。...
vim 查詢多個檔案, 替換
1 多檔案查詢 1.1 grep 直接在vim中輸入 grep abc 這是直接呼叫unix下的grep命令 1.2 vimgrep 基本用法就是 vimgrep 匹配模式 g j 要搜尋的檔案 範圍 vim grep g j g 和 j 是兩個可選的標誌位,g表示是否把每一行的多個匹配結果都加入。...
Vim多檔案查詢與替換
vim中也可以像普通ide那樣的在多個檔案中查詢的功能,用的是 vimgrep這條命令,格式如 vimgrep aaa 執行這條命令後,可以通過 cw命令開啟匹配的視窗進行查詢結果的檢視。在我們的日常工作中,經常需要將多個檔案中的某個字段替換為其他的字段,但多數的編輯器只提供了在開啟檔案中的查詢和替...