一、跳轉命令正則表達式
- ‘w'單詞前進,'b'單詞後退,'e'單詞前進,‘ge’單詞後退,存在單詞詞首詞尾區別,'W''B''E''gE'將不以單詞區分,以空格區分
- ‘f’/‘F’:行內快速跳轉字符(右/左),如"fa",跳轉到本行光標第一個a字符處,可加前綴表次數,如"3fa",相似命令還有't'/'T'
- "zz"光標行居屏中,"zt"居屏頂,"zb"居屏底,區別"ZZ","ZZ"用於快速到保存退出
- "ma"用來標記光標位置爲a位置,其中a能夠爲a~z,標記不可見,:marks查看全部標記
- CTRL-O與CTRL-I分別爲關標前位置於後位置到跳轉,其中CTRL-I與tab鍵功能一致,:jumps查看全部跳轉標記
二、查找格式(正則表達式)spa
查找字符中,部分字符有其特殊意義命令行
如:ci
- "/^string"或"/string$"用來匹配行首或行尾爲string的行,而"/^string$",則匹配僅有string構成到單行
- '.'用來作查找中任意字符的通配符,若須要做爲純字符,則需使用"\."
- "\>"用來匹配單詞尾,"\<"則用來匹配單詞頭,在字符串上使用‘*’命令等同於/\<string\>,即匹配完整單詞,要部分匹配,字符串上使用'g*'命令
- 查找命令行中,'*'用來匹配任意重複個數字符,如’/a*‘匹配"a","aa","aaa"等,同時還匹配任意字符,由於其a爲0個數,使用/a\+來表示至少存在1個以上'a'
- 使用''和''組成字符項來進行'*'匹配,如/ab*
- '\='用來匹配0或1次的重複字符,如/abb\=,則匹配"ab","abb"
- 以上都可用指定重複次數\{n,m}來表示,如/ab\{3,5},則表示b重複爲3~5的字符串"abbb","abbbb","abbbbb"
模式 |
匹配次數 |
\{,4} |
0~4 |
\{3,} |
3~無窮 |
\{0,1} |
0或1,同\= |
\{0,} |
0或更多,同* |
\{1,} |
1或更多,同\* |
\{3} |
3 |
- /a.*b結合以上釋義,表示以a首b尾到字符串,中間爲任意長
- 查找時可以使用\c選項忽略本次查找case,不受case影響,如:/\cHeLLo將忽略大小寫進行查找,'n'和'N'分別用來正向或逆向查找
- 查找中使用'\|'來進行或運算,如:/endif\|while\|for,匹配"endif","endwhile","endfor",相應的,使用'\&'進行與運算
- []用來匹配單個字符範圍,如/[a-z]表示a~z到全部字符,/[0-9a-z]則表示全部數字和全部小寫字母,[]中可進行求反,如:/"[^"]*"匹配雙引號所引字符串,包括雙引號,其中[^"]表示除了雙引號外到全部字符,*表示重複>=0,存在一些快捷約定,如:/\a即爲/[a-zA-Z],可用命令/\s查找快捷約定
- '\@='與'\@!',前者功能上等同於\&,後者功能上等同於非,即與前項不等
三、光標偏移字符串
查找後可以使光標進行偏移
string
如:/hello/2將在查找到的hello光標下移2行table
/hello後/e+n或/b+n則光標在hello後+n或前+n位置class