跨平台的 GPU 加速终端 kitty

之前在学习使用 dotbot 管理 dotfiles 的时候参考了不少 GitHub 上的 dotfiles 项目,发现大家都不约而同的用到了一个叫做 kitty 的终端,我个人在 Linux 上用 Guake ,在切换到 Mac 之后选择了大部分人推荐的 iTerm2,虽然用着也没有遇到问题,但一旦和 kitty 比较起来速度便成为了一个问题。 官网地址:https://github.com/kovidgoyal/kitty 为什么要换用 kitty? 之前使用的 [[Guake]], iTerm 自身也并没有什么问题,但近两年来越来越喜欢纯文本 Read more ...

2020-08-27 gpu , terminal , linux , mac , guake , drop-down

使用 Goku 配置 Karabiner

Karabiner 是 MacOS 上一款强大的自定义键盘的软件,可以非常自由的定义任何键位。Karabiner 是一个开源软件,用于在 macOS 系统上自定义键盘映射。它允许用户修改键盘输入以实现更高效的使用体验。 之前看文章是将 Caps Lock 作为一个 Hyper key,但看过 @nikitavoloboev 的文章之后,发现利用 Karabiner 和 Goku 定义的 DSL 配置语言可以更加充分的发挥 Karabiner 的功能。 Karabiner Elements 使用 JSON 作为配置规则的格式,但是使用 JSON 作为 Read more ...

2020-08-20 karabiner , mac , goku , edn , config

使用 dotbot 管理 dotfiles 配置文件

一直都使用手动的方式来管理 dotfiles,之前一方面是学习,一方面是熟悉整个配置,但随着配置文件的不断增多,管理便成为了一个问题。今天本来是在看 Karabiner 的配置,然后找到了一些参考,发现 narze 使用 dotbot 来管理其配置。便顺手也把我的 dotfiles 改了一下。 dotbot 的原理非常简单,就是将配置文件软链接到特定的位置,使得 Vim,Tmux, zsh 之类可以直接使用。然后 dotbot 使用 YAML 定义的一套配置格式将整个过程简化。使得最后可以直接运行 git clone [email protected]:ei Read more ...

2020-08-15 dotfiles , config , mac , linux , vim , zsh

使用 assh 来管理 SSH config

前两天一直在思考如何管理我的 SSH config 配置,最后的解决办法就是通过 git 版本管理起来。但这两天由冒出一个新的问题,那就是经常在国内直连 aws 或者 oracle 的机器时 ssh 连不上,但是通过国内的 VPS 中转就非常快,那这就意味着,我每一次连接国外的机器时必须先登录腾讯云的机器,然后在从腾讯云的机器上连过去,有些麻烦,但那天在 Twitter 上看到有人分享了一个 SSH 管理的命令行工具 assh,大致的看了一下使用简介,通过配置就可以完美的解决这个问题。 ProxyCommand assh 这个工具就将登录一台机器跳转 Read more ...


备份和恢复从 Chrome Webstore 中下架的 Google Chrome Extension

这两天重装系统同步 Chrome 的数据才发现,我一直使用的 Dream Afar New Tab 这个我用了很久的扩展从 Chrome Webstore 消失了,不清楚是 Google 主动下架,还是作者很久没有更新被 Webstore 下了还是为什么。但这个扩展经过了很多的 Chrome 版本依然运行良好至今为止都能每天给我提供世界不同地方的美景。 备份文件 Chrome 的扩展安装后以文件的形式在如下的目录中: Windows: %UserProfile%\AppData\Local\Google\Chrome\User Data\Def Read more ...


Docker 网络与容器互联

简单整理一下 Docker 中 network 子命令,以及 docker 中相关 network 方面的内容。 在安装完 Docker 后,使用 ifconfig -a 查看可以看到多出一个虚拟的 docker0 接口,这个接口是 Docker 默认的网关地址。 不同 Network driver 介绍 Docker 容器默认有三种连接方式: bridge,网桥模式 host,宿主机模式,容器直接使用宿主机的网络 none bridge 模式 Docker 默认会生成一个 docker0 网桥,如果不指定,默认创建的容器都会默认 Read more ...

2020-07-20 docker , network , ip , linux , container

MacBook Pro 初始设置记录

这里就简单的记录一下我从 Linux Mint 迁移到 MacOS 根据我的个人需求来初始化新的 MacBook Pro 的一些设置,和一些基本的感想。下面的内容会按照我自身的需求出发,我会列举我想要的功能然后在此基础上我需要借助哪些工具来实现。在切换到 MacBook Pro 之前,我使用了大约 6 年多的 Linux Mint,我已经有一套我自己的 Workflow,在切换到 Mac OS 之前我就在想哪一些的事情我是必须有 Mac 的软硬件才能做到,并且很提高某一方面的效率的,我列了一些 被很多人追捧的触摸板,当然这个是硬件软件的结合其他系 Read more ...

2020-07-19 unix , macos , setup , github

多设备间同步 ssh 配置及密钥

ssh 客户端会在用户目录 ~/.ssh/ 目录下存放配置信息 (~/.ssh/config) 和公钥和私钥,如果有多个设备不同设备间的同步和管理就会成为一个比较头疼的问题。我在 Reddit 上抛出这个问题 后,我本来想的是通过 git 版本控制来进行管理,但有人说因为公钥和私钥都是二进制的文件,其实没有必要使用 git,任何一个同步工具就能够解决。 不过鉴于国内糟糕的网络环境,我还是通过 git 来管理,最后同步该私有仓库即可。主要注意的是 SSH key 是非常敏感的信息,要注意安全。 SSH 目录的权限 用户目录下的 ~/.ssh目录以及下面 Read more ...

2020-07-15 ssh , config , sync , unix , linux

mosh: 使用 UDP 传输的 Shell

Mosh 是 mobile shell 的缩写,Mosh 允许间断性连接,使用传统的 SSH 连接远程设备时,如果遇到一点点的网络问题,SSH 连接就会被中断。Mosh 使用 UDP 传输,相较于 SSH,在漫游网络,Wi-Fi,移动 (cellular) 网络,长距离连接等网络场景下提供了更好的连接体验。 Mosh 提供的一些特性: Mosh 会自动在连接的网络环境中进行切换,而不会中断连接。尤其当在移动设备上使用 Wi-Fi,3/4G 移动连接时,可以保持连接状态 当笔记本进入睡眠状态,然后再被唤醒,网络连接会中断,使用 Mosh ,但 Read more ...

2020-07-13 mosh , ssh , udp

Vim 插件之 vim-easymotion

Vim 中已经提供了非常多移动的动作,从简单的字符间移动 (jkhl),到 word 间 (w/e/b),句子间 ((/)),段落间 ({/}),行首行尾 (0/^/$),文档开始 (gg),文档结尾 (G),还有搜索 (//np) 等等一系列的操作,但 easy-motion 将 Vim 中的移动又提升了一个高度。 继续往下阅读之前先确保阅读了 vim 文档中关于 motion 的内容。 想象一个场景,想要跳转到当前行下一个段落中的第二个句子的第三个单词开头,使用上面提到的方法,可能需要按下不同的按键,并且可能还需要组合使用,那有没有什么方法能降低 Read more ...

2020-07-06 vim , vim-plugin

最近文章

  • 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。