Vim 小技巧

这篇文章主要总结了我在使用 Vim 过程中遇到的一些问题及解决方案,都是一些比较零碎的内容,如果要看 Vim 系统的内容可以参考之前的几篇文章。 Vim 中格式话 JSON 依赖 jq 命令: sudo apt install jq 然后在 vim 中就可以: :%!jq . 查看 Vim 使用的配置 在 vim 中输入 :script 来查看 Vim 加载使用的配置 查看 Vim 的版本 :version 来查看 Vim 的版本 在有一次使用 Vim 的时候总是无法将 Vim 选中的内容和系统粘贴板用到一起 "+y 和 "+p 根本 Read more ...

2015-05-08 vim , tips

Vim 学习笔记 2: 组合命令

Vim 学习笔记进阶版,初级版可以参考这篇文章 这篇文章主要分为替换操作,多窗口操作,Vim 的 Tab 操作,以及 Visual mode 命令模式等等。 组合命令 combine command Vim 所有的操作都是原子化的,将操作组合起来能够实现非常快捷的 Input。在引入 . 命令时需要记住这么几条原则, Vim 哲学的第一条,不要重复自己,所有重复的命令都可以使用 . 来实现,而在这一条之后需要注意的是使得操作可重复,每一次的编辑命令有意识的让其可以重复,这样就可以达成一键移动,一键执行,来实现重复编辑的脏活累活。 . (dot Read more ...

2015-05-07 vim , command , linux , editor

Vim 学习笔记:移动和编辑

Vim 入门及简单使用,包括简单介绍 Vim 模式,移动,和编辑命令。 这篇文档相较于之前的入门教程会相对比较丰富,建议入门后再阅读。可以了解到在基础操作上一些能够快速提高效率的方法。 模式切换 Change between modes 如果你不知道 Vim 的各种模式,可以参考 Vim 模式 Insert -> Normal : ESC/Ctrl-[ Insert -> Command : (Insert -> Normal) -> : Normal -> Command : : Normal -> Ins Read more ...

2015-05-06 vim , linux , command , editor

Vim 中不同模式间的切换

之前的一篇文章介绍了 Vim 的多模式,这篇文章重点来讲一讲如何在这些模式之间随心的切换。 Normal - Insert Normal - Visual 在普通模式和可视模式之间切换。 Normal -> Visual 上一篇文章 提到过 v 是通向可视模式的大门,记住 v 普通模式切换到可视模式可以有如下的方式: 命令 作用 v 字符可视模式 V 行可视模式 C Read more ...

2015-05-05 vim , linux , editor , linux , vim-mode

如何写单测

单元测试是白盒测试,又被称为模块测试,是最小的测试单元。 单测应该做到: 一次检测一个方法 提供方法所需的参数 验证结果的准确性 Why 为什么需要单测 正确性保证 提高代码质量,高内聚,低耦合 代码重构时回归验证 测试内容 测试的内容可以包括 模块接口 局部数据结构 分支路径 错误处理 边界测试 评价测试的指标,覆盖范围,是否测试代码覆盖了基本表达语句,基本逻辑块。 语句覆盖,每一个基本语句是否被覆盖 判定覆盖,分支的每一个路径是否都被覆盖 循环覆盖,循环体,0,1, Read more ...

2015-05-05 unit-test , junit , java , testing

Vim插件Vundle

简单介绍 经Code Rush推荐,之后又陆陆续续看到很多在使用这款插件,所以在入门插件的时候就第一个安装了此插件,VIM如果不依靠插件来增强功能可谓鸡肋。而VIM提供的插件又很多,新手可能无从下手。幸好让我接触到了这个Vundle插件,Vundle用来安装,管理其他插件,这样以后安装插件卸载插件的问题就迎刃而解了。用Vundle管理插件有以下好处: 自动下载安装插件 自动更新插件 只需要保存一份配置文件即可在新环境下安装所有插件 自动清理没用的插件 安装 下载地址 https://github.com/gmarik/ Read more ...

2015-05-04 vim , vim-plugin , vundle

Ubuntu 下安装 java 及问题配置

记录一下 sudo apt-get install software-properties-common sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 或者下载 Oracle 的版本 wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b660 Read more ...

2015-05-02 java , jdk , apt-get

Vim 多模式介绍

Vim 是一种多模式的编辑器,不同于一般的编辑器进入便是编辑模式,可以在编辑模式下对文本进行各种编辑,Vim 进入之后是在普通模式 (Normal mode) 下,需要通过不同的按键进入不同的编辑模式。在《Vim 使用技巧》这本书中,作者有一个非常贴切的比喻,如果画布之于画家,那么 Vim 之于程序员,画家在画布上真正作画的时间必然不应该,也不会超过一半时间,在真正落笔之前,画家可能会构图,调整光线,配置画笔颜色等等操作,等一切准备就绪之后再在画布上作画。Vim 这款编辑器的原理也大致如此,大部分的时间我们都会在 normal mode(普通模式) 下, Read more ...

2015-05-01 vim , linux , editor , vim-mode

Vim字符编码及中文菜单乱码

vim经常遇到文件乱码的情况,很多的文章都只是解决了作者遇到的乱码问题,不同的使用者由于环境不一样,参考之后,反而更加混淆和复杂。 其实vim乱码是与系统环境非常相关的,一味执着于修改vim的配置而不知道分析系统的实际环境,往往导致混淆,本文从原理分析vim编码的设计和乱码原因,帮助所有的用户解决vim的乱码。 vim为何会出现乱码: 首先是输入,vim 以错误的格式解析文件,比如原本是utf-8,但以ansi解析,那必然是乱码了。 然后是处理,vim 以错误的格式处理文件,比如原本是utf-8,但内部以 ansi 保存处理,导致乱码。 Read more ...

2015-05-01 vim , linux , encode , fileencoding

开始使用 Vim 的方式

这是不是一篇 Vim 的教程,只是一个入门 Vim 的流程,如果你从未听说过 Vim,但是希望学习 Vim,那么可以继续往下看,如果想要了解 Vim 更多的功能可以参考博客中其他关于 Vim 的文章。 Brief Introduction Vim 作为一款 Linux 下必备的编辑器,如果学会了使用,非常强大,但是不得不说 Vim 的入门实在是太困难了,他的学习曲线也会经过非常长的一段平缓期。当然如果只是简单的使用插入功能,i,进入插入模式,直接敲,敲完 esc 退出,再:wq保存退出,也就是最基本的入门了。当时如果想要尝试其他的功能,就不得不看文档, Read more ...

2015-05-01 vim , tutorial , linux , editor

最近文章

  • Clawalytics:给你的 OpenClaw 花费装上一个仪表盘 自从安装使用 OpenClaw 之后,我一直没有找到一个好办法直接在 OpenClaw 里追踪 Token 的消耗情况。虽然我日常主要用的是月订阅套餐,但偶尔为了测试一些新模型或者跑特定任务,还是会走 API 调用。这部分花费是按量计费的,用多少扣多少,如果不注意很容易超额。之前也试过在 Anthropic 控制台手动查 Usage,但那个粒度太粗了,根本看不出来钱到底花在了哪些项目、哪些模型上。直到最近发现了 [[Clawalytics]] 这个项目,通过它的可视化仪表盘查看 Token 消耗的详细数据,才终于有了一种”心里有底”的感觉。
  • 我购买了 Sony WH-1000XM6 我的第一代 [[Sony WH-1000XM]] 终于在陪伴了我将近七年之后光荣退役了——准确地说,是左耳彻底不出声了。耳罩虽然还算完整,充电也正常,就是左边悄无声息地沉默了。单边失声的降噪耳机拿来当装饰品实在是太可惜,就这样,我的 XM1 结束了它漫长的使命。
  • 花了一个多小时认真听李录在哥大的演讲,对价值投资新的理解 昨天花了一个多小时,认真把李录在 2006 年哥伦比亚大学商学院的演讲从头听到尾。说实话,最开始点开这个视频的时候,我以为只是一节普通的投资课,听完之后发现远不止于此——李录几乎是把自己二十多年的思考框架,通过两个亲身经历的真实案例,完整地摊开在你面前。那种感觉不像是在听一堂课,更像是在听一个老朋友坦诚地聊他是怎么看待这个世界、怎么做决策的。
  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。