继续运行 回忆上次内容
  • 上次 保存运行一条龙
  • :w|!python3 %
 
  • 我想 再多输出 几行
  • 增加一下 代码量
  • 可以吗?
 

 
 
添加图片注释,不超过 140 字(可选)
代码量
  • 在正常模式(Normal Mode)下
  • 并非 插入模式 或 底行命令模式 下
  • 先yy复制当前行
 
  • p一下
  • 就paste 出一行
 
  • 再p一下
  • 又多 paste 出一行
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 照这个方式
  • 一直按着p 连发下去
  • paste 出百八十行
  • 不成问题
 
  • 可以paste 出一万行吗?
万行代码
  • 其实万行代码
  • 有个 快速方法
  • 可以按下9999
 
  • 如图所示
  • 在红框处 显示当前命令为 9999
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 此时 再按下p
  • 代表paste 9999次
  • 什么 效果 呢??
 
  • 真的可以 一万行 吗?
代码一万行
  • 方向键h j k l可以 移动光标位置

 
 
添加图片注释,不超过 140 字(可选)
 
  • 这样 一行行移动
  • 还是 有点慢啊 ️
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 想要加速
快速翻页
  • ctrl + f
  • 向前翻页
  • f 意味着forward
 
  • ctrl + b
  • 向后翻页
  • b 意味着backward
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以观察到红框中的
  • 行号
  • 高度百分比
 
  • 还是 很慢 ️
一步到位
  • 大写G
  • 跳转到 最后1行
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以 跳转 回到第一行 吗?
反复横跳
  • gg
  • 跳转回到 第1行
  • 重新开始
 
  • 大写G
  • 跳转到 最后1行
 
  • 反复横跳
<h1 style="font-size:200px"></h1>
  • 真是一万行啊~~!
  • 赶紧截个图 留下证据
  • 哈哈哈!!!
 
  • 真的写了 一万行代码 啦!!!!
历史
  • 代码量 早期是
  • 程序员的kpi
 
  • 软件公司 最早 使用代码量
  • 计算 程序员的工作量
 
  • 这导致
  • 工作量 上去了
  • 但 通篇 全是 废代码
  • 是 山 的来源
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 所以现在 除了 工作量
  • 还要求 缺陷率
  • 衡量 工作量
 
  • 这万行代码 能运行吗?
运行
  • 保存并运行

 
 
添加图片注释,不超过 140 字(可选)
 
  • 回车之后

 
 
添加图片注释,不超过 140 字(可选)
 
  • 真的输出了 好多行
  • 往上翻 都翻不到头
  • 这证据 一定也好好留住
 
  • 还能回到 最初2行
  • 那个 朴实的年代 吗?
 
撤销
  • 按一下 u
  • 撤销一步
  • u 代表undo
  • 代表着撤销
 
  • 反复 按u
  • 多次 撤销
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 粘贴出来的 9999行
  • 被撤销了
  • 没了
 
  • 回到了
  • 最初的状态
 
  • 可以 反过来
  • 取消撤销 吗?
 
重做
  • 多 撤销了 的话
  • ctrl+r可以重做
 
  • r代表
  • redo 重做
  • 取消 撤销操作
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 这两个操作
  • undo 取消 和 redo 重做
  • 互为 逆操作
  • 可以 反复横跳
 
  • 如果 想要
  • 删除代码 呢?
 
删除代码
  • 首先观察 光标所在的位置
  • 状态行 显示 第几行 第几列
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • dgg
  • 从当前行
  • 删除到第一行
 
  • dG
  • 从当前行
  • 删除到 最后一行
 
  • 想要一把 都删除呢?
  • 先undo 撤销删除
 
全篇清零
  • ggdG
  • gg
  • 跳转到第一行
  • 当前光标 第一行
 
  • dG
  • 从当前行(第一行)
  • 删除到 最后一行
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以 全部 清空
反向清零
  • Gddg
  • gg
  • 跳转到最后一行
  • 当前光标 最后一行
 
  • dG
  • 从当前行(第一行)
  • 删除到 最后一行
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 也可以 全部 清空
撤销删除
  • undo 撤销 到最初只有三行的状态
  • 99999999
  • 键入 8个9
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 把这行粘贴上亿次会如何呢?

 
 
添加图片注释,不超过 140 字(可选)
 
  • 整个程序崩溃了
  • 说明万事皆有度
尝试再次打开 vi oeasy.py
  • 会出现E325

 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以进行编辑或者恢复
总结
  • 这次从 2行代码 进化到了 万行代码
命令
作用
yy
复制光标所在行代码 到剪贴板
p
粘贴 剪贴板中的内容
9999p
将剪贴板中的代码粘贴9999次
  • 保存运行一条龙
  • :w|!python3 %
 
  • 真的实现了万行代码梦
  • 是真·圆梦
  • 没撒谎的 那种
 
  • 甚至可以看到 截图证据
  • 曾经 发过状态的
  • 看看我做的这个...
  • 一万行代码啊
 
 
命令
作用
gg
第一行
G
最后一行
123G
第123行
  • 圆梦之后
  • 多少有点空虚
 
  • 可以看看
  • 别人的程序
  • 都是是怎么写的吗?
 


[oeasy]python017_万行代码之梦_vim环境_复制粘贴的更多相关文章

  1. 使用vs2010复制粘贴代码时特别卡用一段时间就特别卡重启也没用

    vs2010编写代码一段时间后复制粘贴特别卡,下拉条也特别卡,这个状况困扰了我两个月,实在忍不住了,去网上搜了搜 有网友说是快捷键冲突,所以我就把其他程序结束了,结果莫名奇妙的瞬间就不卡了.最终弄明白 ...

  2. 业界良心:Square开源Viewfinder,25万行代码全公布!

    http://www.csdn.net/article/2014-05-06/2819633-square-open-sources-viewfinder https://github.com/vie ...

  3. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  4. Windows基础环境_安装配置教程(Windows7 64、JDK1.8、Android SDK23.0、TortoiseSVN 1.9.5)

    Windows基础环境_安装配置教程(Windows7 64.JDK1.8.Android SDK23.0.TortoiseSVN 1.9.5) 安装包版本 1)     JDK版本包 地址: htt ...

  5. Linux基础环境_安装配置教程(CentOS7.2 64、JDK1.8、Tomcat8)

    Linux基础环境_安装配置教程 (CentOS7.2 64.JDK1.8.Tomcat8) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmw ...

  6. QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)

    好了,现在开始记录我学习QT的学习历程 . 本人也不是计算机专业出来的,自学了一点,但还是不好找工作,于是参加了培训,虽然感觉没多学到什么 编程的学习生涯就是不断的看别人的源码,然后自己参考着写写自己 ...

  7. 👨‍💻Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:手撸一万行! 完结撒花:4个月.20章.134个类.1.03万行代码! 22年3月初 ...

  8. OpenTiny 跨端、跨框架组件库升级TypeScript,10万行代码重获新生

    摘要:一份精心准备的<JS项目改造TS指南>文档供大家参考,顺便介绍TS 基础知识和 TS 在 Vue 中的实践. 本文分享自华为云社区<历史性的时刻!OpenTiny 跨端.跨框架 ...

  9. Cocos Creator JS web平台复制粘贴代码(亲测可用)

    Cocos Creator JS web平台复制粘贴代码(亲测可用) 1 webCopyString: function(str){ var input = str; const el = docum ...

  10. 原生js复制粘贴上传图片前后台代码,兼容firebox,chrome, ie11,亲测有效

    需求:粘贴上传图片,截图工具,右键粘贴,或者ctrl+v粘贴 方法1:可直接套用富文本框的图片上传功能,完成复制粘贴 缺点:麻烦,样式难控制 方法2:用原生js完成,以下案例基于此,样式请自己动手调整 ...

随机推荐

  1. 我开源的H5商城2.0版本发布,强烈推荐

    简介 waynboot-mall 是一套全部开源的 H5 商城项目,包含运营后台.H5 商城前台和后端接口三个项目 .实现了一套完整的商城业务,有首页展示.商品分类.商品详情.sku 详情.商品搜索. ...

  2. Istio(四):创建部署Gateway并使用网关暴露服务

    目录 一.模块概览 二.系统环境 三.Gateway网关 3.1 使用 Gateway 四.实战:使用Gateway发布服务 4.1 创建部署并使用网关暴露 4.2 清理 一.模块概览 在Kubern ...

  3. RoslynPad的简单使用

    虽说Visual Studio被我们戏称宇宙最强IDE,但是平常随手写段C#代码进行验证或者语法校验,属于牛刀小试了,显然轻量级C#编辑器更适合这种场景,目前较为流行的则是一代神器 LINQPad,但 ...

  4. 【C#】关于ACCESS数据库insert into报错:标准表达式中数据类型不匹配

    如果插入列有日期/时间类型,使用C#时,var ptime = new OleDbParameter("@DtTime", OleDbType.Date); OleDbType.D ...

  5. golang 怎样防止结构体对象被拷贝

    主要实现Lock以及Unlock就可以了 此时使用go vet mian.go 检查就会提示我们./main1.go:25:7: assignment copies lock value to b: ...

  6. Android 13 - Media框架(8)- MediaExtractor(2)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一篇 MediaExtractor 笔记中我们学习了 extractor 以及 source 调用的层次结构,这一节我们会看一看部分的实现细节. ...

  7. 分享一个关于Avl树的迭代器算法

    1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代.我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容 ...

  8. Rainbond 5.5 发布,支持Istio和扩展第三方Service Mesh框架

    Rainbond 5.5 版本主要优化扩展性.服务治理模式可以扩展第三方 ServiceMesh 架构,兼容kubernetes 管理命令和第三方管理平台. 主要功能点解读: 1. 支持 Istio, ...

  9. 《最新出炉》系列入门篇-Python+Playwright自动化测试-50-滚动条操作

    1.简介 有些页面的内容不是打开页面时直接加载的,需要我们滚动页面,直到页面的位置显示在屏幕上时,才会去请求服务器,加载相关的内容,这就是我们常说的懒加载.还有就是在日常工作和学习中,经常会遇到我们的 ...

  10. @synchronized(self) 加锁引起的Crash

    一.最近米家App进入前台的时候上报上来一个Crash {"app_name":"MiHome","timestamp":"201 ...