首页
学习
活动
专区
圈层
工具
发布

在VimVi中删除行、多行、范围、所有行及包含模式的行

$-最后一行。 %-所有行。 这里有一些例子: :.,$d-从当前行到文件末尾。 :.,1d-从当前行到文件开头。 10,$d-从第十行到文件末尾。...删除所有行 要删除所有行,您可以使用代表所有行的%符号或1,$范围: 1、按Esc键进入正常模式。 2、键入%d,然后按Enter键以删除所有行。...删除包含模式的行 基于特定模式删除多行的语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含的行。 要匹配与模式不匹配的行,请在模式之前添加感叹号(!): :g!.../foo/d-删除所有不包含字符串“foo”的行。 :g/^#/d-从Bash脚本中删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白行,模式^$匹配所有空行。...:g/^\s*$/d-删除所有空白行,与前面的命令不同,这还将删除具有零个或多个空格字符(\s*)的空白行。

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

    代码不规范,同事两行泪

    那必须是:写注释、写文档、别人不写注释、别人不写文档。...更甚者,在《流浪地球》形成刷屏之势之后,仿其而出的“代码千万行,注释第一行;编程不规范,同事两行泪”在技术圈中开始盛传,由此可见对于所有的程序员来说这是多么痛苦的事情。...当你的项目只有 10-20 行代码,或者只是代码片段时,你可以使用这种方式进行命名,但是在大项目中,不要这么做。不合适的命名,对可读性和效率有致命的影响。 一个命名的简单规则:你变量的名称可以自解释。...当然,也不要过多地书写注释,你不需要通过注释解释每一行代码。最好用 1-2 行注释,写清楚重要部分的概述或说明。 格式不一致 这个和第四点非常相近,格式不一致也会对可读性和生产效率带来巨大的影响。...不处理错误 畏惧它。逃避它。Bug 终会降临! —— 灭霸(译者注:指 Bug 如影随形,不休不止,像诅咒一样。)

    59530

    “编程不规范,同事两行泪!”

    那必须是: 写注释、写文档、别人不写注释、别人不写文档。...更甚者,在《流浪地球》形成刷屏之势之后,仿其而出的“代码千万行,注释第一行;编程不规范,同事两行泪”在技术圈中开始盛传,由此可见对于所有的程序员来说这是多么痛苦的事情。...当你的项目只有 10-20 行代码,或者只是代码片段时,你可以使用这种方式进行命名,但是在大项目中,不要这么做。不合适的命名,对可读性和效率有致命的影响。 一个命名的简单规则:你变量的名称可以自解释。...当然,也不要过多地书写注释,你不需要通过注释解释每一行代码。最好用 1-2 行注释,写清楚重要部分的概述或说明。 格式不一致 这个和第四点非常相近,格式不一致也会对可读性和生产效率带来巨大的影响。...不处理错误 畏惧它。逃避它。Bug 终会降临! —— 灭霸 (译者注:指 Bug 如影随形,不休不止,像诅咒一样。)

    63220

    一行Shell代码查找所有代码行数

    最近写简历, 想算下自己的这个项目一共有多少行代码, 好方便在简历上展示. 本来想着一直用git管理代码, 顺便统计下好了. 结果竟然没有在git中找到单独统计行数的工具, 太出乎我意料了....用Java, Python肯定可以实现, 但是感觉太重, 我只是想随便查查我的代码一共有多少行, 3秒钟就可以搞定的那种, 不想辛辛苦苦的写foreach循环, 递归调用, 然后可能还有各种边界条件要考虑...这里-name跟着”*.cs”, 就是表示所有以cs结尾的文件....-iname是大小写不敏感的, 比如-iname “*.cs”就是匹配所有以”*.cs”,”*.Cs”,”*.cS”,”*.CS”结尾的文件. . : “.”在这里表示当前目录, 比如想要执行当前目录的某个文件

    1.5K30

    突破Hooks所有限制,只要50行代码

    本文会用50行代码实现无限制版Hooks,其中涉及的知识也是Vue、Mobx等基于响应式更新的库的底层原理。 本文的正确食用方式是收藏后用电脑看,跟着我一起敲代码(完整在线Demo链接见阅读原文)。...state之间的联系,包括: 订阅关系:将该effect订阅的所有state变化移除 依赖关系:将该effect依赖的所有state移除 function cleanup(effect) { //...将该effect订阅的所有state变化移除 for (const dep of effect.deps) { dep.delete(effect); } // 将该effect依赖的所有...改造useState 接下来改造useState,完成建立订阅发布关系的逻辑,要点如下: 调用getter时获取当前上下文的effect,建立关系 调用setter时通知所有订阅该state变化的effect...callback) { const [s, set] = useState(); useEffect(() => set(callback())); return s; } 自动依赖跟踪 这套50行的

    1.1K10

    一行代码即可导出所有浏览记录

    作者:刘早起 来源:早起Python 一行Python代码即可导出多种浏览器的历史记录?就像这样? ?...Python中我们可以使用内置OS模块找到该数据库文件,再使用Python内置的sqlite3模块可以轻松读取并导出浏览记录数据,而这个过程在GitHub上已经有一位外国小哥帮我们完成了,总共不到200行代码...,现在我们只要使用pip install browserhistory安装,接着进入Python导入 import browserhistory as bh 现在只要一行代码即可查看全部历史浏览记录 bh.get_browserhistory...并且可以查看指定浏览器的记录,比如Safari import pandas as pd pd.DataFrame.from_dict(bh.get_browserhistory()['safari']) 当然也可以一行代码将历史记录导出为

    1.6K20

    不超过 20 行,搞定关键词屏蔽功能!

    所以关键词屏蔽功能是所有网站都急迫需要的一个功能,本文我们就一起来设计一个关键词屏蔽功能。 ?...这样当我们匹配敏感词时,只需要通过第一个字来寻找相应的树,大大的减少了检索的范围。...同义词词林按照树状的层次结构把所有收录的词条组织到一起。这些词根据语义的远近和相关性分成了若干个词群(段落),每个段落中的词语又进一步分成了很多行。同一行的词语要么语义相同,要么词义有很强的相关性。...例如,“西红柿”和“番茄”在同一行,因为这两个词同义。“大豆”、“毛豆”和“黄豆”在同一行,因为这些词词义相近。 ? 编码部分,同义词词林共提供了5层编码,来展示词语在词林树结构中的具体位置。...由于第五级有的行是同义词,有的行是相关词,分类结果需要单独说明。于是我们在编码最后用三个不同的符号’=’, ‘#’, ‘@’ 区分。’

    4.3K41

    一行代码即可导出所有浏览记录

    文含 1043 字,4 图表截屏 建议阅读 5分钟 一行Python代码即可导出多种浏览器的历史记录?就像这样? ?...Python中我们可以使用内置OS模块找到该数据库文件,再使用Python内置的sqlite3模块可以轻松读取并导出浏览记录数据,而这个过程在GitHub上已经有一位外国小哥帮我们完成了,总共不到200行代码...,现在我们只要使用pip install browserhistory安装,接着进入Python导入 import browserhistory as bh 现在只要一行代码即可查看全部历史浏览记录 bh.get_browserhistory...并且可以查看指定浏览器的记录,比如Safari import pandas as pd pd.DataFrame.from_dict(bh.get_browserhistory()['safari']) 当然也可以一行代码将历史记录导出为

    90730
    领券