vim 向上删除 n 行

我们都知道从当前行往下删除 n 行很容易, ndd 就好了。但往上删除呢? 我以前是不知道的,最近搜索了一下,找到了答案,而且额外学到了其他的技巧,你想听吗(不想听我也会写,哈哈

8dd其实是dd重复8次,容易记忆,但效率很低。正确的姿势是 7dj 或者 d7j。我想你看到这里已经猜到应该怎么向上删除了。如果打算从当前行往上删除n行,你需要 {n-1}dk 或者 d{n-1}k

故事到这里应该结束了,然而.... 试试 V3kd, V4jd,注意是大写的V。你会对vim的强大有更多的理解。

By the way, 如果你要从当前行删除到你知道行号的某一行,举例来说,你要从当前行一直删到第434行,无所谓是向上删还是向下删,用 d434G 就可以了。

观影喜剧片“大赢家”

今天周末,电影时间,儿子推荐了这部电影。名字这么俗气。喜剧片嘛,叽叽喳喳嘻嘻哈哈,大概如此吧。不会多好看,这是我开看之前的想法。然而......大出我的意外!全程看完没有走神。可能我内心就是一个认真的人吧(你们尽管笑

在今天这个浮躁的社会里,像严谨那样活着,挺好。我给这个电影打9分,豆瓣只给了 6.7分,管它呢。自己觉得好才是真的好。 感谢儿子的推荐。

BTW:这电影是在看TV网站上看的,接到家里的49寸大电视(确实是我家买过的最大的电视)上,效果非常棒。以前一直觉得KTV做得不怎么样,今天看它体验还是蛮好的。只有开场一个几十秒的大广告,后面全程无广告。好评!

离奇的axios返回数据:得到了一个JSON 字符串而不是一个JSON 对象。

同事前两天遇到一个离奇的 axios 问题,response.data看上去非常正常,但无法访问这个对象里面的任何一个键。console.log(response.data) 一看果然是 string。 同事很茫然,一直都好好的,也没有改什么啊。

改了 db.json。里面有一个多余的逗号。axios解析json字符串失败,就一声没吭的返回了字符串而非对象。这个坑货!想想axios也很无辜....因为我们有时候可能真的会有需要返回字符串。所以写期望的返回数据时,别偷懒又允许json又允许text。也许只允许json就不会有这个问题了。(待验证)

Reference

解决CentOS 虚拟机从VMWare station 迁移到VirtualBox 不能启动问题

最近把一台CentOS7 虚拟机从Windows 10 的VMWare 迁移到 CentOS8 的VirtualBox上,结果不能启动,说找不到 root 和 swap。我猜测与 Host机器CPU架构不同有关,老机器是Intel芯片,新机器是 AMD CPU。 解决方法也蛮简单,进Rescue模式, yum update 就会自动装上一个新鲜的符合条件的内核。然后再重新启动就好了。 Reference

如此搞一下之后,启动倒是启动起来了,但启动时总有一个出错信息“error failed to send host log ”,虽然不影响使用,但看着很不爽。万能的Google很快给出了答案,把显卡换成 VBoxVGA 就好了。Reference

Jenkins 三言两语

三天小长假过完了。终于把 Jenkins 从windows 10 也迁到了那台 CentOS上,我对 Jenkins 的了解又深了一点点。

  1. Jenkins 把所有的插件和用户数据都存一个目录里,这个设计非常赞。这让我得以专注于迁移我的流水线。
  2. 让 Jenkins 运行在docker里,把运行docker的host机器做成一个新节点,很不错。
  3. 我更喜欢声明式流水线....主要是对脚本式流水线更不熟悉,对 groove 语法也不熟悉,另外,也不很想在流水线里写复杂的逻辑。这俩谁都先进呢?说不准。我更看好声明式流水线。
  4. agent和node之间的关系还是没有搞得特别清楚。时间紧,经理又催得急,先这么着吧。
  5. 怕删错文件,删文件的地方没敢用环境变量,越来越胆小。哈,应该有更好的解决办法。
  6. ssh从docker里连到宿主机....用key文件没有成功。尚且不知道原因,应该加个todo。

PS: 更好的解决方法找到了,它就是 ${varName:?} 这种方式引用bash变量,若 varName 未设置值,则脚本会立即报错退出执行。