VIM操作

来源:互联网 发布:淘宝电器以旧换新 编辑:程序博客网 时间:2024/05/16 16:59

搜索和替换

1 行内搜索
 f命令可以进行行内搜索。输入fx可以找到下一个x字符
 F命令可以反方向搜索
2 全文搜索
 1) /和?命令可以分别进行全文范围的正向和反向搜索
 2) n继续上一次搜索,3n会找到第三个符合的字符串,N反向
 3) 对大小写的匹配
  在命令行输入“:set ignorecase”可以忽略大小写,“:set noignorecase”匹配大小写。默认为匹配大小写,可以在.vimrc中修改
 4) 查找当前词。输入/currentword,或者直接按“*”查找下一个currentword,“#”查找上一个
 5) 特殊字符。 在搜索命令中,.*[]^%/?~$ 这10个字符有特殊意义,在使用这些字符的时候要加上反斜杠。而\e表示<esc>;\t表示<tab>;\r表示<cr>;\b表示<bs>
 6) 匹配换行或空格。 匹配换行或空格。使用\n可以表示一个换行;而\s表示匹配空白,注意是空白不是空格。\_s表示匹配换行或者空格;\_a表示匹配换行或者一个字母。比如:/the\nword查找以the结束并且下一行以word开始的行的位置。/the_sword查找the和word之间以空白或者换行分割的位置。/the_s+word表示the和word之间可以有多个空白。
 7) 限定词首或者词尾。\<可以限定找到是以指定字符串开始的单词。比如/\<the可以找到以the开始在字符串,但是会忽略在单词中间包含the的字符串。而\>则是限定必须是以指定字符串结尾的单词。
 8) 行首和行尾。输入/^string查找以string开始的行,并且光标停留在这个string的第一个字符。输入/string$则查找以string结束的行,并将光标停留在这个string的第一个字符。
 9) 匹配任何一个字符。句号.可以匹配任何一个字符。例如/t.e可以找到the或者tae或者tue。
3 复杂的匹配模式
 1) 可重复的字符
  A 使用*表示它前面的字符可以重复多次或者0次。比如/be*可以匹配b,be,bee,beee等等。但是这也会包含b,因为e重复0后是空。如果要匹配诸如be,bebe,bebebe的字符串可以使用\(\)把他们包括起来,形如:/\(be\)*
  B 使用\+来限定为重复至少一次到无数次。如:/be\+可以匹配be,bee,bee等等。
  C 重复0次或者一次。\=可以指定重复0次或者一次。/strings\=表示匹配string或者strings。这在查找单词的复数形式特别有用.
  D 指定重复的次数。\{n,m}可以指定重复n到m次。比如:/be\{2,4}将会匹配bee,beee,beeee。同样可以使用\{,4}表示匹配0到4次;\{4,}表示4次到无数次;\{4}表示重复4次。
 2) 匹配列表中的一个。使用一个以\|(反斜杠加竖杠)分割的列表,可以表示匹配列表中任何一项。比如/one\|two表示查找one或者two;/one\|two\|three表示查找one或者two或者three。
 3) 特殊的字符集合。使用\d也可以表示0到9的数字,这个选项可以代替[0-9]\D表示非数字代替[^0-9];\x表示十六进制数代替[0-9a-fA-F]\X表示非十六进制数代替[^0-9a-fA-F]\s表示空白字符代替[ ] (<Tab><Space>);\S表示非空白字符代替[^ ] (除<Tab><Space>之外);\l表示小写字母代替[a-z]\L表示非小写字母代替[^a-z]\u表示大写字母代替[A-Z]\U表示非大写字母代替[^A-Z]

0 0
原创粉丝点击