vi vim 計算搜尋關鍵字數量

2022-05-03 16:24:12 字數 850 閱讀 5347

在看過 vim 的全域指令和 search 指令之後,你會不會也會想自己還有什麼需求可以叫 vim 做的呢?

今天我和布丁長輩還有dk長輩聊天的時候就講到乙個問題:我可不可以知道到底這份檔案有多少個我想要搜尋的字串?

當然啦,你如果會 vim 的全域指令你可能可以用 :g/pattern/p 之後,用 copy 的方式或是其他指令的組合把比對出來的東西存到另外乙個檔案去,然後再用其他的工具(像是wc)計算行數。不過,這個方法,不夠方便。

比較辛苦一點的方式也可以用 /pattern 然後自己按 n 乙個個算,不過… 我想可能會先算到瘋掉。

難道 vim 就只能這樣了嗎?

忘了是dk長輩還是布丁長輩說可以寫程式來算。不過 vim 的 script 寫法,我打算到後面再寫。我心裡想的是,應該有一行就可以解決的方法啊!

在 vim 裡面遇到問題的時候有兩個方式,第乙個就是 :h 然後後面跟上你猜可能會有答案的關鍵字。不過這個方式我今天用了好幾次,感覺除了寫程式別無他途。可是,我就是不想寫程式。第二個方法就是到 www.vim.org 上找 tips 看,結果沒兩下就找到了這篇,後面的 comment 中有個人只用一行解決,看了就覺得「哎唷,怎麼就是沒想到呢?」其實用 vim 編輯檔案想這些怎麼樣可以讓自己少打點或是只用一行指令解決的過程是很有趣的。這個人用的方法很簡單也很漂亮,但卻要用到我們之前提過的取代指令 :s :

:%s/pattern/&/g

& 代表的意思就是用來表示前面比對的字串,所以做這個指令其實對檔案本身並不會有什麼改變。但是由於做的是全域的取代置換, vim 會告訴你有從多少行中多少個字串被取代。輕輕鬆鬆很漂亮地用一行命令解決這個問題。

輸入只有一行的命令:

結果就會出現在最後一行上,而且不會改變到檔案本身:

Excel VBA多關鍵字資料排序

每天更新excel vba經典 祝你工作和學習更輕鬆!使用range物件的sort方法對區域進行排序時,同時最多只能指定3個關鍵字,當需要按照超過3個關鍵字對區域進行排序時,可以通過多次執行sort方法實現。需要注意的是,在排序時應按照各關鍵字的倒敘順序。例如,如果按照a b c d的關鍵字順序進行...

關鍵字搜尋

關鍵字搜尋 function sercah waitmsg 已找到對應的 g keys count 處關鍵字!1 相同關鍵字查詢時返回 reading children reading box m p css span keys removeattr style removeattr id g ke...

ntext搜尋關鍵字

選擇自 zjcxc 的 blog ntext搜尋 按 tb 表中的 keyword 在 ta 中查詢 content 列出每個 keyword 在 content 中的具體位置 鄒建 2004.07 測試資料 create table ta id int identity 1,1 content n...