__開始__
------------------------------------------------------------------------------
" 搜索
/joe/e : 設置光標到匹配"joe"的末尾
/joe/e+1 : 設置光標到匹配"joe"的末尾再後移一位
/joe/s-2 : 設置光標到匹配"joe「的開頭再前移兩位
/^joe.*fred.*bill/ : 匹配以'j'開頭且"joe"到"fred"到"bill"之間至少有一個字符
/^[A-J]\+/ : 搜索'A'到』J『重複兩次以上的開頭行
/begin\_.*end : 多行匹配
/fred\_s*joe/i : 可以是任何空白字符包括\n,\t等等
/fred\|joe : 搜索fred或者joe
/.*fred\&.*joe : 搜索同時包括fred跟joe的行
/\<fred\>/i : 搜索獨立的單詞fred
/\<\d\d\d\d\> : 搜索獨立的4位數字
/\D\d\d\d\d\D : 搜索6位字符串中間4位數字前後兩位不能為數字
/\<\d\{4}\> : 同/\<\d\d\d\d\>
" 查找空行
/^\n\{3} : 匹配三連續的空行
" 使用正則表達式組查找
/\(fred\).*\(joe\).*\2.*\1
" 正則表達式重複
/^\([^,]*,\)\{8}
" visual searching
:vmap // y/<C-R>"<CR> : visually模式下的鍵盤映射,把//映射成匹配當前選中的文本
:vmap <silent> // y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR> : 包括空白字符
" \zs 和 \ze 匹配原 :h /\zs
/<\zs[^>]*\ze> : 匹配尖括號中的內容
" 零寬度匹配 :h /\@=
/<\@<=[^>]*>\@= : search for tag contents, ignoring chevrons
/<\@<=\_[^>]*>\@= : search for tags across possible multiple lines
" 多行查找 \_ 的意思是包括換行符
/ : 匹配結尾的所有內容
/fred\_s*joe/i : 匹配fred開始到joe,之間一定得是空白字符
/bugs\(\_.\)*bunny : 匹配所有bugs到bunny的字符串
:h \_ : help
" 查找函數聲明,nmap為normal模式下的鍵盤映射
:nmap gx yiw/^\(sub\<bar>function\)\s\+<C-R>"<CR>
" 查找多個文件
:bufdo /searchstr/ : 在多個文件緩衝區裡執行查找
" 更好的多文件查找定位方法
:bufdo %s/searchstr/&/gic : 在多個文件緩衝區裡查找,按下n停止
下一页