All Posts

  • Published on
    本文主要按 neovim lsp 来讲的,但是其中关于 lang server 的很多东西,其实是通用的。简单在此记录,备忘。 ## common lsp config 一般除了跳转定义,老灯还启用了 `completion` 自动完成以及 `lsp-status` 用于状态显示。 这里定义了一个公用的 `mix_attach` 用于lsp `on_attach` 事件 ```lua local lsp_status = require('lsp-status') lsp_status.register_progress() lsp_status.config({ indicator_errors = "❌", ...
  • Published on
    ## 缘由 起因还是在ArchLinux下交叉编译 [](https://github.com/ttys3/git-cz)[git-cz](https://github.com/ttys3/git-cz) OSX 二进制失败。 这个问题老灯折腾了很久,搞得几乎都要放弃了。 因为在 Linux 下交叉编译 darwin 平台的教程并不太多,能找到的资料也不尽是相同或相似的问题。 但老灯之前在 Fedora 33 及 Ubuntu 21.04 beta 下都能成功编译,因此,这个周末正好有时间 ,还是坚持分析了一下原因。 ## 问题描述 git-cz 依赖 libgit2 的 rust 绑定库 ( https://github.com/rust-lang/git2-rs ),C 绑定部分代码是里面的子包 libgit2-sys ( https://crates.io/crates/libgit2-sys ) , 因此最后链接阶段,在交叉编译时,肯定是要链接 libgit2 的静态库的(交叉编译时一般都是静态链接,如果动态链接会很麻烦。 比如golang也是,且 golang 在交叉编译时甚至是直接默认关闭 cgo 的) ...
  • Published on
    tmux 启动一下能有多慢?答案是,挺快的。 那为什么要有这种需求? 原因是布局恢复。 老灯目前使用的是一个tpm插件,名叫 `tmux-resurrect`, prefix + ctrl + r 即可自动恢复所有panel. 但是有个小问题,panel比较多,比如有10多个的情况下,启动tmux还是会小闪一下的,整个过程肉眼可见, 会造成操作上的停顿。比如你打开 Gnome terminal 马上就能执行命令了,但是你刚开机启动tmux,你得等几秒才能操作,就因为这个panel恢复。 怎么样加快这个过程?答案当然是,用户登录的时候就马上运行tmux呗。 这个比较简单,直接看 ArchLinux 的 wiki 整个 systemd unit 文件就好了。 ...
  • Published on
    Window: X11 DE: GNOME3 OS: ArchLinux 为什么会有这种需求? 当然是 vim 用户才有这种需求。 ## setxkbmap大法 ```shell setxkbmap -option caps:swapescape ``` **To make this work at startup**, you can put it in `~/.profile` as this will only run after the interactive login. ## **gnome-tweak大法** 对于GNOME用户来说,最简单省事的方法当然是使用 **gnome-tweak** ![](gnome-tweak-tool-switch-caps-esc-2021-03-31_03-13.png) ...
  • Published on
    今天回到家已经很晚了,一到家发现 NAS 是关机的, PC 按电源也没反应。 然后 发现 山特 mt 1000 pro UPS 灯是灭的。 几经折腾还是不能开机,没有一个灯亮的。查了一下狗东订单,这款 mt1000 pro大概是2018年12月入的。 点击申请售后,提示已经过保。但是商品页面写着3年保修(但是狗东保修那里没填写任何东西),24小时客服热线啊(大晚上估计没客服,也不抱什么希望了)。 手里还有个 山特 tg500,结果一试,发现也点不亮了。这下好了,俩 UPS 全挂。 当初买这款mt1000 pro,主要是看重它支持通过 rs232 串口来查询状态和控制断电自启选项。用 Golang 自己写了个程序,可以实现市电断了之后 NAS 自动关机 (网上找的文档,协议和功能都非常简单)。 ...