vim技巧總結-查找 1.查找命令 1.1 執行一次查找 普通模式下,/會調用查找提示符,若是vim掃描到文檔尾部仍沒有找到目標,會提示"search hit BOTTOM, continuing at TOP"。這意味着文檔會迴繞至開頭繼續查找。 若是想關閉文檔迴繞查找,能夠關閉'wrapscan'選項: :set nowrapscan 1.2 指定查找方向 /鍵查找時,執行正向掃描,?鍵查找時,執行反向掃描。 1.3 重複上一次查找 n用於跳轉到下一次匹配,N用於跳轉到上一次匹配。 1.4 回溯以前的查找 /或?查找提示符出現後,能夠經過<Up>鍵,瀏覽以前的查找命令。 2. 高亮匹配到的查找 默認下,vim不會把全部匹配顯示的展現出來,經過啓用'hlsearch'選項,能夠把全部匹配高亮顯示。 禁用此模式: set nohlsearch(se nohls,se hls!) 3. 預覽第一次匹配 'incsearch'選項會使vim根據查找字符,預覽到第一次匹配。每次輸入字符,都會即時更新預覽內容。 :set incsearch 3.1 檢查是否存在匹配 若是隻是想確認單詞存在,能夠精確匹配,而後<Esc>,立刻結束查找並返回原處。 3.2 根據預覽結果對查找域自動補全 <C-r><C-w>能夠對當前匹配結果自動補全。 4. 統計當前模式匹配的次數 :%s/<pattern>//gn 實際上調用了substitute命令,標誌位n會抑制正常的替換操做,替換域不管爲何都是不生效的。 5. 將光標偏移到查找匹配的結尾 每次執行查找命令時,光標老是被定爲到匹配的首字母上,能夠經過偏移功能將光標定位於查找匹配的結尾。 search-offset選項控制這一操做。 能夠在查找時鍵入/<pattern>/e<CR>,便可以將光標置於查找匹配的結尾。 6. 對完整的查找匹配進行操做 Vim查找命令能夠容許咱們在全部的匹配之間快速調整,可是在完整的匹配上進行操做也是必要的。 若是想把文檔裏的rb和ruby字符所有轉變爲大寫, /\vr(u)?by(y)? \C<CR> => 元字符\C會強制區分大小寫 這樣能夠將全部的匹配字符高亮起來,而後 gU//e<CR> => //<CR> => . => //<CR>. 7. 利用查找歷史,迭代完成複雜模式 示例文件1.txt: My name is 'CaoQing'. My dog is 'PiPi'. I love 'PiPi'. 匹配全部單引號裏的內容。 7.1 粗略匹配 /\v'.+'\C/