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

在类vim/emacs/helix/vscode模态文本编辑器中使用esc键切换输入法

2024-02-22

在支持模态文本编辑的编辑器,比如 vim, helix, vscode的vim模式等,在使用 esc键后会进入默认的普通模式(normal mode),这个时候的操作基本是在英文输入状态下完成操作。再使用 ime 中文输入法的情况下,我们使用esc后必须切换回英文输入,无疑对模态操作多了一次步骤。这里我们可以在使用esc时同时切换输入法来解决该问题。

大致的解决办法是:

  1. 利用脚本以及 cli 命令 来切换系统输入法
  2. 编辑器插入模式,为 esc 配置命令切换为回英文,并记录当前的输入法
  3. 在编辑进入插入模式的时候,读取上次插入模式下的输入法并切换

下面介绍 Linux ,osx 下的切换输入法方法。

Linux gnome 环境 ibus

IBus 是一款输入法框架。具体使用可以参考 wiki-ibus

ibus 提供了工具 ibus engine 查看当前的输入法标识,使用 ibus engine rime 切换输入法为rime。 但在 gnome 4 版本中,该命令无法和gnome-shell中的系统状态的输入法保持一致。这个时候我们使用一款 gnome-shell-ibus-switcher 插件来解决该问题。 ibus-switcher 为 gnome-shell 42 版本后 提供了利用 d-bus 切换输入法的方式,从而切换系统输入法

给 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 键,直到第一节课的内容完全显示。