Vim 窗口使用

之前的文章讲过 Vim Buffer 的管理 这使得工作可以在 Vim 中持续进行,而不需要退出然后重新载入文件。但是如果 Buffer 只能填满一个 Vim 窗口,假如想要在 Vim 中实现分屏,那么就必须要依赖于 Vim 的 Window。又因为 Vim 的 Windows 经常用来做分屏,又有的时候被称为 splits 。 Windows Vim 在启动时只会打开单个窗口,可以使用 Ctrl-w s 来水平分隔窗口,或者使用 Ctrl-w v 来垂直分隔窗口。 在 Vim 中有很多方式打开 Windows 命令 Read more ...

2015-05-15 vim , linux , editor , vim-window , vim-buffer

中文字符编码

总结一下常用的中文编码。 Unicode 编码 Unicode 是基于国际标准化组织(International Organization for Standardization,简称 ISO)所制定的 ISO/IEC 10646 ,即通用字符集(Universal Character Set,简称 UCS)的标准来发展,在 1991 年首次以书本的形式(The Unicode Standard)对外发布。 Unicode 的编码方式与 ISO 10646 的通用字符集(UCS)概念相对应,使用 16 位编码空间。16 位 Unicode 字符构成 Read more ...

2015-05-15 encoding , chinese

msi笔记本型号对比

最近看笔记本,有一同学十分钟爱MSI的笔记本,于是乎就查阅了一下该笔记本的型号,顺手做一下笔记。以下就是MSI(微星)游戏笔记本常见型号,命名的解释。 ##GE系列 入门级 体积与效能的平衡点 高端性价比 GE是主打影音系列,属于体积与效能的平衡点,体积并不会像GT或GX那样的庞大,不过仍有不错的效能。也可以说是入门级别的游戏本,主要是价格相对便宜。其中CPU可以自行更换,显卡为焊死在主板上的无法更换,单2.5寸硬盘位(SATA3接口)+单MSATA硬盘位(SATA3接口,主要用于MSATA接口的SSD升级)。相比GT和GX系列重量较轻,便携,因空间 Read more ...

2015-05-11 msi , laptop

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

最近文章

  • Claude Code /goal:让 AI 自主持续工作直到达成目标的新命令 用 [[Claude Code]] 写代码时,一直有一个令人微妙不适的摩擦:每当 Claude 完成一轮工作,控制权就回到了我这里,我需要再次发出指令,告诉它”继续”“再检查一遍”“还有这个文件没改”。对于那种需要跑很多轮才能完成的任务——比如把一个模块从旧 API 迁移到新 API 直到所有测试通过,或者逐文件重构某个目录直到符合统一规范——这个”人类中继”的环节就显得相当机械,本质上我只是在不停地按确认键。
  • 本地快速切换 Claude Code 和 Codex CLI 账号的几种方案 同时维护个人项目和工作项目的时候,最让我头疼的不是代码本身,而是工具的账号管理。[[Claude Code]] 和 [[Codex]] 这类 AI 编程工具,我在公司有一套账号,个人订阅又是另一套。每次在项目之间切换,都要 claude auth logout 再 claude auth login,不仅耗时,还经常忘了当前用的是哪个账号,写了半天才发现额度消耗到错误的账号上去了。
  • socat:比 netcat 更强大的网络瑞士军刀
  • codex-lb:用负载均衡的思路管理多个 ChatGPT 账号 用 [[Codex]] CLI 做开发的人大概都遇到过这个场景:手头有几个 ChatGPT 账号,分散在不同的订阅计划里,但工具只认一个账号,额度用完了只能手动切换,每次还要重新登录。更头疼的是,当多人共享一个环境,或者想用同一套配置同时跑 Codex CLI 和 OpenCode 时,账号管理很快就变成了一团乱麻。
  • cc-switch:在多个 AI 编码工具之间优雅切换 最近这一年,AI 编码工具的竞争进入了白热化阶段。[[Claude Code]]、[[Gemini CLI]]、[[OpenAI Codex]],每家都在拼命迭代,功能差距越来越小,价格战也越打越猛。于是我开始同时订阅好几个服务,针对不同的任务选用不同的工具——写复杂逻辑用 Claude,快速查文档用 Gemini,处理 Python 脚本用 Codex。