首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vim学习六之搜索命令「建议收藏」

搜索 n/N 正反向下一个 光标处单词搜索 Vim高亮搜索 搜索大小写敏感 搜索进阶 Vim正则表达式搜索 查找在行首的特定串 查找在行尾的特定串 匹配特定行 Vim基本搜索命令 / 或者?...n/N 正反向下一个 在搜索模式下可以对Vim打开的整个文本内容进行搜索,当按下 n 时可以继续正向查找下一个相匹配的目前单词。N 的作用与 n 相反,是往上反向搜索目标单词。...可以在搜索命令中使用 \c 来强制使得当前搜索模式不区分大小写, 而命令 \C 则会强制当前搜索模式大小写敏感。...表示任意一个字符 * 匹配0次或n次 查找在行首的特定串 查找在行尾的特定串 匹配特定行 上图中使用了/^test.*$ 其中^表示匹配行首、 ....本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

10.6K51

扫盲:”正则表达式”是什么?

现在我们想要搜索 “位于行首的hello字符串” 。也就是说,字符串不仅要是”hello”,而且还要位于行首,需要同时满足这两个条件的字符串才算满足条件。...当grep与正则结合在一起时,grep就会根据”正则的含义”在文本中查找符合条件的字符串。什么是正则?什么是grep?...没错,”^$”表示行首与行尾相连,换句话说,就是”空行”,我们在regex中添加一行”空行”,看看能不能匹配到,示例如下:我们直接在第二行后按回车键,于是第三行变成了”空行”,注意,”空行”表示当前行不包含任何字符...为了测试,我们在REG文件中又添加了一行,内容如下上图中,”\”表示当hello既是词首又是词尾时则会被匹配到,换句话说,就是当hello作为一个独立的单词时,则会被匹配到,如上图所示,...REG文本中第4行被匹配到了,因为只有第4行中才包含了一个独立的hello单词。

60930
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于eslint使用规则,和各种报错对应规则。

    "], // 控制逗号前后的空格 "comma-spacing": [2, { "before": false, "after": true }], // 控制逗号在行尾出现还是在行首出现...{ }包围 // multi-line 只有块中有多行语句时才需要{ }包围, 但是块中的执行语句只有一行时, // 块中的语句只能跟和...false}] // allowPattern: 当属性名匹配提供的正则表达式时,允许使用[]方式取值,否则只能用.号取值 e.g [2, {"allowPattern...all"],//必须使用 if(){} 中的{} "default-case": 2,//switch语句最后必须有default "dot-location": 0,//对象访问符的位置,换行的时候在行首还是行尾...连续声明 "operator-assignment": [0, "always"],//赋值运算符 += -=什么的 "operator-linebreak": [2, "after"],//换行时运算符在行尾还是行首

    8.8K70

    学校早这么教正则表达式,少走多少弯路!那个分组用法震到我了

    grep的正则表达式 正则表达式(regex)是与一组字符串匹配的模式。模式由操作符、构造文字字符和元字符组成,它们具有特殊的含义。...在其最简单的形式中,当没有给定正则表达式类型时,grep将搜索模式解释为基本正则表达式。 要将模式解释为扩展正则表达式,请使用-E(或--tended-regexp)选项。...^(脱字符)与行首的空字符串匹配。 在下面的示例中,字符串“linux”只有在行首出现时才会匹配。 grep '^linux' file.txt $(dollar)符号与行首的空字符串匹配。...例如,要查找仅包含“linux”的行,请运行: grep '^linux$' file.txt 如果用来匹配空白行,可以使用“^$”模式。 匹配单个字符 那个....如果嵌入到较大的单词中,它将与单词不匹配: grep '\b[ao]bject\b' file.txt 写在最后 正则表达式用于文本编辑器、编程语言和命令行工具,如grep、sed和awk。

    2.4K30

    关于eslint使用规则,和各种报错对应规则

    "], // 控制逗号前后的空格 "comma-spacing": [2, { "before": false, "after": true }], // 控制逗号在行尾出现还是在行首出现...{ }包围 // multi-line 只有块中有多行语句时才需要{ }包围, 但是块中的执行语句只有一行时, // 块中的语句只能跟和...false}] // allowPattern: 当属性名匹配提供的正则表达式时,允许使用[]方式取值,否则只能用.号取值 e.g [2, {"allowPattern...all"],//必须使用 if(){} 中的{} "default-case": 2,//switch语句最后必须有default "dot-location": 0,//对象访问符的位置,换行的时候在行首还是行尾...连续声明 "operator-assignment": [0, "always"],//赋值运算符 += -=什么的 "operator-linebreak": [2, "after"],//换行时运算符在行尾还是行首

    3.8K50

    Linux Vi编辑器和find命令的使用

    vi的模式: 编辑模式:键盘操作通常被解析为编辑命令: 输入模式: 末行模式:vim的内置的命令行接口,执行vim内置命令 编辑模式–>输入模式 i:当前光标处输入内容 I:在当前光标所在行的行首...a:在当前光标所在处的后面 A:在当前光标所在行的行尾输入 o:在光标所在行的下方新增一行空白行 O:在光标所在行的上方新增一行空白行 输入模式-->编辑模式 ESC 编辑模式-->末行模式...:set noic 查找时考虑大小写 显示对应的括号 :set sm (show match) :set nosm 语法高亮: :syntax on :syntax off 搜索高亮: :set...:地址定界s@查找模式@替换为的内容@gi &:用于在替换为的内容部分中引用前面匹配到的所有内容 find: 实时查找工具,通过遍历指定路径下的文件系统完成文件查找。...,[],[^]) 例如 find /etc -name "passwd*" -iname "文件名称" (不区分大小写) -regex "PATTEN": 以PATTEN

    3.9K20

    算法工程师的效率神器——vim篇

    我相信,有很多小伙伴在看到这篇文章时就有了很多问号: 用vim?疯了吧?sublime不香吗?pycharm不香吗?jupyter notebook不香吗?...词级别的移动就快多啦~ 另外,如果你的目标恰好是在这一行的末尾附近,那么你完全可以用$(shift+4)来直接跳转到行末。想再次跳回行首,则可以通过^(shift+6)完成。...按照小鹿的使用频次排序如下: i在光标原有位置进入编辑模式; o在光标所在处另起一行进入编辑模式; A在光标所在行行末处进入编辑模式; I在光标所在行行首处进入编辑模式; a在光标右边开始插入(这个一般与光标移动命令搭配使用...对于作用范围,常用的表达有: %s #全文范围 s #光标所在行 n, ms #从第n行到第m行 ., $s #光标所在行到文末,还没忘记$表示最末叭 同search一样,旧模式的匹配也同样支持正则表达式...,最后的g表示作用到范围中的所有匹配,没有g表示仅作用到所属范围每一行的首个匹配。

    1.3K20

    ESLint配置信息完整版

    ##ESLint配置信息完整版 #####说明: "no-undef": 0,和"no-undef": 'off',一样,表示关闭该功能 "no-undef": 1, 表示仅提示 "no-undef"...comma-dangle”: [2, “never”],//对象字面量项尾不能有逗号 “comma-spacing”: 0,//逗号前后的空格 “comma-style”: [2, “last”],//逗号风格,换行时在行首还是行尾...all”],//必须使用 if(){} 中的{} “default-case”: 2,//switch语句最后必须有default “dot-location”: 0,//对象访问符的位置,换行的时候在行首还是行尾...new方式调用,首行小写必须用不带new方式调用 “new-parens”: 2,//new时必须加小括号 “newline-after-var”: 2,//变量声明后是否需要空一行 “object-curly-spacing...连续声明 “operator-assignment”: [0, “always”],//赋值运算符 += -=什么的 “operator-linebreak”: [2, “after”],//换行时运算符在行尾还是行首

    2.3K10

    刷题小问题合计——持续更新

    三、数字逻辑 对于大数据问题,如果暴力求解必定超时,不妨先写出一些(不)符合的数,尝试寻找规律。...= i) { // 去重, 当开方后的数相等时,只收集一个 bigTosmall.add(n / i); } } } 四、字符串逻辑及处理 4.1 大小写转换...匹配正则 boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。...next() 一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next() 方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键...; 非常量字段名称采用首写字母小写的驼峰法命名法; 减少不必要的空行,保持代码紧凑(大括号内行首之前和行尾之后不要加空行)

    73010

    re:Python中正则表达式的处理与应用

    前言 re库就是我们常说的正则表达式库,它是用一种形式化语法来描述的文本匹配模式。通过该库,我们可以匹配特定字符串中的一些内容,比如爬取网页内容时,我们可以通过re库获取网页内容中的所有标签内容。...仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,/w+(?=/d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。 (?!pattern ) 后向否定断言。...仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,例如,/w+(?!/d) 与后不跟数字的单词匹配,而不与该数字匹配 。 (?仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。例如,(?匹配。此构造不会回溯。 (?仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。例如,(?<!

    21520

    Linux 之 Vim 编辑器从基础到大成使用

    filename #用当前文本覆盖filename文件中的内容 :wq #保存退出或者 安装shift+两次Z(推荐) #ZZ :退出vi,仅当文件在最后一次保存后进行了修改,才保存缓冲区内容 #ZQ...清除的意思就是保留行,把内容清空,然后在行首进入插入模式。..., 输入N 反方向查找(不区分大小写) gd #查找与光标所在单词相匹配的单词, 并将 `光标停留的单词`在文档的非注释段中第一次出现这个单词的地方. *(#) #当光标停留在某个单词上时,...]\ [hex=%02.2B]\ [pos=%04l,%04v][%p%%]\ [len=%L] " 设置 laststatus = 0 ,不显式状态行 " 设置 laststatus = 1 ,仅当窗口多于一个时...#在打开java 文件时才应用后面提到的两个配置文件. autocmd FileType java source ~/.vim/files/java.vim #引用加载配置 autocmd FileType

    2K10

    刨根究底正则表达式之二——正则表达式基础

    、*、{0,}、{0,m}、{,m}(逗号“,”前面为空的这种写法仅部分正则引擎支持,不推荐这种写法); (2)  下面这些元转义序列: 引用:\num、\g{num}、\gnum、\k{name}、\...(condition)true_sub-regex|false_sub-regex)等,当这些分组中的sub-regex为空时,匹配的是位置;不为空时,若sub-regex匹配字符,则这些分组匹配的是字符...4)既不匹配字符,也不匹配位置的语法元素 除上述语法元素之外的其他语法元素,这包括:\K、内联修饰选项与取消内联修饰选项分组(?modifier-modifier)、注释分组(?...当正则引擎在字符串中查找匹配时,可以认为在字符串中有一个匹配定位指针,该指针可以在字符串中的各个位置之间移动(一般是从左到右依次移动,但回溯时也会从右向左移动;另外,.Net中还支持从右向左匹配)。...,将返回最先获得匹配的结果,或前后两个由贪婪量词或懒惰量词所限定的子表达式发生匹配冲突时,后者仅获得其下限次数的匹配,而前者将获得超过其上限次数的尽可能多的匹配; 4)  逐位置依次尝试匹配原则:匹配总是从字符串的起始位置

    1.2K50

    正则表达式【Pattern 】

    Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 在仅使用一次正则表达式时...例如,当解释为正则表达式时,字符串字面值 "\b" 与单个退格字符匹配,而 "\\b" 与单词边界匹配。...可以与任何字符(行结束符除外)匹配。 默认情况下,正则表达式 ^ 和 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配。...如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配。处于 MULTILINE 模式中时, 仅在行结束符之前或输入序列的结尾处匹配。...如果输入具有属性 prop,则与 \p{prop} 匹配,而输入具有该属性时与 \P{prop} 不匹配。块使用前缀 In 指定,与在 InMongolian 中一样。

    50740

    Vim编辑器基础入门

    filename #用当前文本覆盖filename文件中的内容 :wq #保存退出或者 安装shift+两次Z(推荐) #ZZ :退出vi,仅当文件在最后一次保存后进行了修改,才保存缓冲区内容 #ZQ...清除的意思就是保留行,把内容清空,然后在行首进入插入模式。..., 输入N 反方向查找(不区分大小写) gd #查找与光标所在单词相匹配的单词, 并将 `光标停留的单词`在文档的非注释段中第一次出现这个单词的地方. *(#) #当光标停留在某个单词上时,...]\ [hex=%02.2B]\ [pos=%04l,%04v][%p%%]\ [len=%L] " 设置 laststatus = 0 ,不显式状态行 " 设置 laststatus = 1 ,仅当窗口多于一个时...#在打开java 文件时才应用后面提到的两个配置文件. autocmd FileType java source ~/.vim/files/java.vim #引用加载配置 autocmd FileType

    1.8K20

    linux中grep如何排除过滤输出总结

    排除单词和模式 要仅显示与搜索模式不匹配的行,请使用-v( 或--invert-match) 选项。...在以下示例中,字符串games出现在行首的行被排除在外: > grep -v "^games" file.txt 命令的输出可以grep通过管道过滤,只有匹配给定模式的行才会打印在终端上。...例如,要打印出系统上所有正在运行的进程,除了以用户root身份运行的进程,你可以过滤ps 命令的输出: > ps -ef | grep -wv root 排除目录和文件 有时,当使用-r或-R选项执行递归搜索时...-r或-R选项之间的主要区别在于,当使用大写字母R调用 grep时,它将遵循所有符号链接 要从搜索中排除目录,请使用--exclude-dir选项。排除目录的路径是相对于搜索目录的。...,要查找包含字符串GNU在你的Linux系统排除的文件proc,boot和sys你要运行的目录: > grep -r --exclude-dir={proc,boot,sys} gnu / 使用通配符匹配时

    2.9K00

    linux中grep如何排除过滤输出总结

    排除单词和模式 要仅显示与搜索模式不匹配的行,请使用-v( 或--invert-match) 选项。...在以下示例中,字符串games出现在行首的行被排除在外: > grep -v "^games" file.txt 命令的输出可以grep通过管道过滤,只有匹配给定模式的行才会打印在终端上。...例如,要打印出系统上所有正在运行的进程,除了以用户root身份运行的进程,你可以过滤ps 命令的输出: > ps -ef | grep -wv root 排除目录和文件 有时,当使用-r或-R选项执行递归搜索时...-r或-R选项之间的主要区别在于,当使用大写字母R调用 grep时,它将遵循所有符号链接 要从搜索中排除目录,请使用--exclude-dir选项。排除目录的路径是相对于搜索目录的。...要查找包含字符串GNU在你的Linux系统排除的文件proc,boot和sys你要运行的目录: > grep -r --exclude-dir={proc,boot,sys} gnu / 使用通配符匹配时

    2.2K20

    正则表达式(四):Java regex

    () 返回匹配内容的首下标 start(int group) 返回指定序号分组匹配内容的首下标 start(String name) 返回指定名称分组匹配内容的首下标 end() 返回匹配内容的尾下标...当指定 find 函数的起始位置后,会重新从指定的位置开始进行查询。 group 函数 group 函数有三种形式: 1. 当无参数时返回整个正则表达式匹配内容 2....当指定分组序号时,返回指定序号分组匹配的内容 3....当指定分组的名称时,返回指定名称分组匹配的内容 示例: import java.util.regex.Matcher; import java.util.regex.Pattern; public...无参时面向的是整个正则表达式匹配结果;参数为分组序号时,面向的是指定序号分组匹配的部分;参数为分组名称时,面向的是指定名称分组匹配的部分。

    1K20

    使用正则表达式尽可能准确匹配域名网址

    域名的结尾有时候还有一点,这是保留给根节点的,书写时通常省略,在查询时由软件内部补上。 域名里的英文字母不区分大小写。 完整域名的所有字符加起来不得超过253个ASCII字符的总长度。...因此,当每一级都使用单个字符时,限制为127个级别:127个字符加上126个点的总长度为253。但实际上,某些域名可能具有其他限制;也没有只有一个字符的域名后缀。...比如你要做一些比较精准的检查时需要进行严格的检查,那么选择严格匹配;这时,稍微出现一些不符合要求的字符都将认定为不是 URL。...,所以只有宽松匹配才可以匹配此 IPv6 地址下的 URL URL(严格) 匹配 URL 跟匹配域名不一样,URL 复杂得多。...:\/\/) 然而既然可选,而且是行首,那么加一个 ? 和什么都不加的效果是一样的 随后是域名,于是 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.

    6.7K30
    领券