Jackson
  • 請先讀我
  • 目錄
  • LYNX INDOOR2
    • LYNX INDOOR 2
    • 歡迎
    • 讓我們開始吧
    • 01. 放置攝影機
    • 02. 攝影機供電
    • 03. 下載 TEND SECURE APP
    • 04. 啟動 TEND SECURE APP
    • 攝影機 LED 燈
    • 有限的兩年製造商的保修
  • Vim
    • 序
    • 安裝
    • 普通模式指令
      • 移動
      • 搜尋
      • {motion}
      • 視窗、標籤頁、緩衝區
      • 拼寫檢查器
      • 文件管理器
    • 可視模式
    • 插入模式指令
    • Ex命令模式指令
      • 自動補齊
      • [range] {address}
      • 視窗、標籤頁
      • 緩衝區
      • 暫存器
      • ex-flags
      • Quickfix
      • tags
      • 文件管理器
    • 終端模式
    • 搜尋模式指令
      • {pattern}
      • magic
    • 環境設定
      • 環境變數
      • 映射
      • try catch
      • autocmd
      • 編輯器高亮顏色
    • 設定 help 文件中文版
    • 交換文件
    • 比較檔案
      • 解決 git 衝突
    • 函數庫
    • 插件推薦
      • 代碼
        • vim-snippets
        • coc
          • coc-snippets
          • coc-phpls
          • coc-json
          • ccls
          • VimScript Language Server
          • coc-prettier
        • deoplete
        • ale
          • C
          • HTML
          • Javascript
        • tabnine
        • php-cs-fixer
        • NERD Comment
        • ctags
      • 外觀
        • Dracula
        • NERDTree
        • airline
        • css color
        • coc-explorer
        • purity
        • startify
        • vim-mundo
      • 插件管理器
        • vim-plug
        • 原生插件管理
        • Vundle
      • Git
        • vim-fugitive
        • gv.vim
      • 分析插件
      • surround
      • Auto Pairs
      • visual-star-search
      • vim-tmux-navigator
    • 什麼是 vimrc
      • 設定檔案配置
      • ftplugin
  • 終端
    • 序
    • bash 腳本
      • 基礎
      • 環境變數
      • 正規表示式
      • 參數
      • 常用內建指令
        • 輸出
        • 捕捉中斷
        • shell 選項
      • 條件判斷
      • 迴圈
      • 函式
      • Windows 上使用 bash
      • 更新 bash
    • 指令
      • bash
        • 程序
        • 使用者與群組
        • 分析網路,檢測並與網路介面卡進行互動
        • 查看檔案與目錄
        • 建立與修改檔案或目錄
        • 搜尋
        • 壓縮與打包
        • 備份
        • 重導向
        • 寄信
        • 操作終端機
        • 另外安裝的指令
          • jq JSON 剖析器
          • wget
      • zsh
        • alias
      • Linux
        • 排程
      • 目錄路徑
      • 萬用字元
    • tmux
      • 未進 tmux 的終端指令
      • 進入到 tmux 指令
      • 進入到 tmux 的快捷鍵
      • 命令提示指令
      • 配置 tmux
      • 插件推薦
        • 插件管理器
        • vim-tmux-navigator
    • 插件推薦
      • 外觀
        • Gogh
        • purity
        • Dracula
        • powerline
      • zsh
        • zsh-syntax-highlighting
        • zsh-autosuggestions
  • Git
    • 序
    • 常用指令
    • 切換帳號
  • 作業系統
    • kali
      • 快捷鍵
      • E: unable to locate package
      • 中文亂碼和中文輸入
      • 命令提示字元修改成 Windows 格式
    • mac os
      • 架站 MAMP
        • Apache
        • PHP
        • MySQL
        • phpMyAdmin
        • localhost https
    • Ubuntu
      • 安裝 PHP
      • 安裝 Nginx
  • AWS
    • 序
    • Amazon EC2
  • WordPress
    • localhost ftp 連線問題
    • 強制修改信箱帳號
    • bitnami 登入 Wordpress
  • 影片剪輯
    • 序
    • 自動生成字幕
  • 其它
    • 鍵盤符號中英文
Powered by GitBook
On this page
  • 轉義
  • 編輯
  • 搜尋偏移
  • 暫時關閉高亮
  • 暫存器
  • 替代
  • flags
  • 舉例
  • vimgrep
  • 檔案路徑萬用字元
  • grep
  • 參數
  • 舉例
  • 尋找檔案

Was this helpful?

  1. Vim

搜尋模式指令

Previous終端模式Next{pattern}

Last updated 4 years ago

Was this helpful?

/<keyword> 正向搜尋

?<keyword> 反向搜尋

轉義

加 \ 就是轉義 正向查找時,/ 開頭的查找,要查找 / 時需要轉義變成 \/ 反向查找時,? 開頭的查找,要查找 ? 時需要轉義變成 \? 要查找轉義 \ 也需要轉義,變成 \\

編輯

<Ctrl-r><Ctrl-w> 搜尋到第一個匹配時,自動補全剩餘的單字 但如果搜尋裡面有用前綴,就會補全整個單字

搜尋偏移

在搜尋的結尾補上命令,例如 /search/e

匹配游標從結尾算起 [+num] 結尾開始右移,[-num] 結尾開始左移 /e[+num] /e[-num]

暫時關閉高亮

:noh[lsearch] 如果打開 'hlsearch',最後一次查找命令的所有匹配點都會被高亮。 用 :nohlsearch 命令來暫停。

暫存器

<Ctrl-r>{register} 貼上暫存器的內容

替代

:[range]s[ubstitute]/{pattern}/{string}/[flags] 搜尋一段文字,再用另一段文字將其替換

:[range]&[&][flags] [count] 使用最後一次 :substitute 相同的模式和替代字串 第二個 & 為使用最後一次的旗標

{pattern} 和 {string} 都適用正規表達式

執行 {Vim Script} 表達式,並將返回的結果作為替換 {string} \={Vim Script}

~ 使用上一個調用 :substitute 時的 {string}

flags

& 重用上一次 substitute 命令所用過的旗標

I 區分大小寫

c 確認或拒絕每一處的修改

提示

說明

y

替換此匹配

n

忽略此匹配

q

退出替換過程

l

"last" - 替換此匹配後退出

a

"all" - 替換此處與之後所有的匹配

^E <Ctrl-e>

向上滾動視窗

^Y <Ctrl-y>

向下滾動視窗

e 屏蔽沒有匹配到該模式的錯誤提示訊息 "E486: 找不到模式"

g 對行內所有的匹配進行替代

i 忽略大小寫

n 報告匹配的次數,並不實際進行替代

舉例

:%s/jack/vick/g 將當前文件中所有的 jack 改成 vick

vimgrep

:vimgrep /{pattern}/[g][j] {path/to/file} 把找到的匹配放到 quickfix 列表

[g] 全域搜尋

[j] 只更新 quickfix 列表

檔案路徑萬用字元

** 對目錄遞迴搜尋

* 通用檔名

舉例

**/*.txt 遞迴搜尋副檔名為 txt 的所有檔案

grep

外部的 grep,就像系統的 grep 指令

:lgr[ep][!] [arguments] 搜尋結果會存放在當前視窗的位置列表

參數

-i 不區分大小寫

舉例

:grep -r --include="*.txt" keyword path 遞迴搜尋 path 的所有 txt 檔,包含 keyword 的內容

尋找檔案

:fin[d][!] [++opt] [+cmd] {file} 在 path 裡找到 {file} ,然後編輯 :edit 它 :set path+=path/** 增加 path

vim 內部的 grep 可以打開 查看查詢結果

:gr[ep][!] [arguments] 搜尋結果會存放在 列表

quickfix
quickfix
非常魔法