SOFT

hx-lsp 为 Helix editor 提供 snippets 和 actions

2024-04-29

一个提供了自定义代码片段 snippets 和 Code Action 的 lsp 工具。

功能

  • Completion: snippets
    • 自定义片段
    • 全局片段
  • CodeAction: actions
    • 实现 run code
    • 通过参数实现各种脚本运行

安装

git clone https://github.com/erasin/hx-lsp.git
cd hx-lsp
cargo install --path .

在 https://github.com/erasin/helix-config/ 中有示例代码,另外我自己使用的分支已经合并了 helix#9081 Add a snippet system

给 helix 追加类 Zen Mode 模式

2023-04-01

Zen Mode 具体我也不太清楚, 之前在 vscode 中使用过, 但是不是太好就没有再使用了. Helix(23.03) 现在还不支持窗口尺寸变更, 我在 PR 中查阅到有人提起 Zen Mode.

这里我利用了编辑器的配置项最大行长度 text-width 和虚拟字符后支持的软换行(soft wrap)功能中的配置项 soft-wrap.wrap-at-text-width, 其中软换行的这个选项是指在设置的text-width长度位置进行换行, 而非默认的视图位置换行.

zen-mode

开始使用 HELIX EDITOR 编辑器

2023-02-17

在工作的十来年内,我使用过各种各样的文本编辑器,从最开始的nodepad以及网页三剑客,到sublime2,sublime3,vim, neovim, atom, vscode, 特别是在使用 vscode 的时候, vim 键盘布局的兼容,加上逐渐丰富的插件系统,使用起来非常的好,可以说是我近年来使用过最好编辑器了。但是随着使用时间的加深,vscode 使用 electron 在我的电脑上也开始出现了隔上一段时间就会出现一次小小的卡顿,最开始的时候还能够忍受,当你的输入被打断的时候,就变得非常的不爽了,然后重新回到了 neovim 编辑器。

Neovim 和 vim 相同,初始仅提供了模态编辑功能,优秀的键盘布局通过练习后会形成一套肌肉记忆,让编辑文本变得更加的有效率,这也是近年来多数商业的编辑器也都支持了vim mode 的原因。

Neovim 支持 lua 来配置,这比之前的vim配置有效率的多,也诞生了不少框架,比如NvChad,有这些框架的支持,最少也不用重新开始配置了,然后就是查询 neovim 的最优插件,tree-sitter 语法支持,lsp 支持,为使用到的语言配置。然后更新,修改配置。然后就是维护这套配置。这无疑会话费大量的时间。

去年五月份的时候,我在github上发现了Helix编辑器项目,当时已经有 10K STAR 了,下载后自己编译了文件,发现编辑器和 vim 非常的类似,仅仅是部分操作有所差别,官方提供了更加现代化的提示,可以说非常的友好,可以看出它融合了很多现代编辑器以及vim插件的特性,这些我们下面再说。

Vim 的操作模式是多数是 动作 --> 对象, 默认情况下除了编辑器下方的动词,你没有任何的提示,需要我们自己来确认需要处理的选择对象。

而 Helix 是 选择操作的对象 --> 动作, 是先要明确要操作的对象,然后才是输入动作,这样在多光标多个选区的时候是非常有效和明确的。Helix 编辑器和 Kakoune 相同是以多光标操作为核心,允许多个选区同时操作的编辑器。而 Vim 则需要通过插件实现多光标模式,所以操作上也有一定的差异。

在使用了 Helix 的几个月内,一定程度上变成了我主要编辑器,因为 Debugger (DAP) 还不成熟,Debug 我还在用 Vscode。下面让我快速的介绍下这款编辑器吧。

helix editor 中文教程

2023-02-02
     _   _                 __    __
    | | | |         _      \ \  / /
    | |_| |  ____  | | (_)  \ \/ /
    |  _  | /  _ \ | |  _    )  (
    | | | | |  __/ | | | |  / /\ \
    |_| |_|  \___| |_| |_| /_/  \_\

        一个后现代模态文本编辑器
            version 22.12 

本文已经提交 PR#5199 建议本地合并PR,编译后使用 :tutor zh_cn 使用本教程。

欢迎使用 Helix 编辑器!Helix 不同于其他的编辑器,它是有模态的, 也就是它在编辑文本的时候有不同的模式,最常用的模式有普通模式Normal mode)和插入模式(Insert mode)。普通模式下您输入的按键 实际上不会输入任何文本,而会对文本进行各种操作。这样可让您进行 更加高效率的操作。本教程将教您如何使用 Helix 的模态编辑功能。

现在,现在请确保您的 CapsLock (大小写锁定键) 没有被按下,然后 按下 j 键,直到第一节课的内容完全显示。

Mac 睡眠监控sleepwatcher和蓝牙控制

2022-11-06

最近,晚上关闭MacBook后,第二天打开电脑黑屏,充电后才会重新开机,发现电池已经 耗尽电量。

MacBook 睡眠模式下,wifi和蓝牙都会继续工作, 有的时候多个设备的信息共享会莫名奇 妙的自动唤醒 mac, 然后导致耗电。

检查 系统设置->电池内选项,使用电池电脑休眠时,启用电能小憩,是否选上。 网络唤醒选择仅使用电源适配器的选项。

sleepwatcher

sleepwatcher: https://www.bernhard-baehr.de/ 是一个监控睡眠的守护进程工具,当 Mac 在唤醒和睡眠的的时候,可以执行配置的 sleepwakeup 脚本程序,它还可以 监控上次睡眠前的活动信息。

使用 brew 安装

# 安装
brew install sleepwatcher
# 设置启动
brew services start sleepwatcher

检查文件可以看到 /usr/local/Cellar/sleepwatcher/2.2.1/ 文件夹中 homebrew.mxcl.sleepwatcher.plisthomebrew.sleepwatcher.service 里的配置 参数,

查看这两个文件可以看到,默认的配置脚本参数是 HOME_PATH/.sleepHOME_PATH/.wakeup , 可以创建 .config/sleepwatcher/sleep|wakeup , 然后修改配 置文件 -s-w 参数,然后 brew services restart sleepwatcher