x-cmd pkg | helix - 用 Rust 打造的文本编辑器,内置 LSP 和语法高亮,兼容 Vim 用户习惯

server/2024/11/19 15:08:02/

目录

    • 简介
    • 快速上手
      • 安装
      • 使用
    • 功能特点
    • 竞品和相关项目
    • 进一步阅读

简介

helix 是用 Rust 开发文本编辑器,以 Modal editing(模态编辑)为核心特性,类似于 Vim。它结合了经典的 Vim 模式编辑和现代开发工具的特性(如 LSP 支持、Tree-sitter 语法高亮等),能提供一个高效、精简的开发环境。

相比于 Vim,Helix 在设计上做了许多创新和改进:

  • 以 Rust 作为开发语言,并采用现代化的架构,性能更为优秀。
  • 默认集成了 LSP 和 Tree-sitter,提供更精确的语法分析和开发支持,而 Vim 需要安装插件来实现类似功能。
  • 提供更为简洁且现代的用户界面,内建许多用于开发的高级功能,如智能补全、错误检查等。

在这里插入图片描述

快速上手

安装

eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use helix                             # 使用 x-cmd 安装 helix

使用

  1. 启动 helix 编辑器:

    # 直接启动 helix 编辑器
    hx# 编辑指定文件或目录
    hx /path/file_or_dir
    
  2. 常用快捷键:

    • i:进入插入模式,以修改文件内容。
    • esc:退出其他模式,回到普通模式。
    • u:(普通模式下)撤销上一个操作。
    • d:(普通模式下)删除当前行或选中的内容。
    • x:(普通模式下)选中当一行或多行内容。
    • w:(普通模式下)移动到下一个单词的开头。
    • ::(普通模式下)进入命令模式,以使用内置命令。
    • space:(普通模式下)进入空格模式,以使用内置的高级功能,如使用模糊查找器、查找函数等。
    • ctrl-w:(普通模式下)进入窗口模式,以管理窗口。

功能特点

  1. 模态编辑:将编辑操作分为不同的模式,每个模式都有特定的功能和按键绑定,用户可以用简洁的按键组合完成复杂的操作,并在特定场景下提供更灵活的编辑方式。
  2. 内置 LSP 支持:内置了对 LSP 的支持,能与各种编程语言的语言服务器交互,提供代码补全、跳转、重构、语法高亮等强大的开发功能。
  3. 树形结构语法高亮: 使用 Tree-sitter 作为语法高亮引擎,能提供精确且高效的语法分析。
  4. 现代化:UI 风格更加现代化,内置多种高级功能,如支持多窗口和分屏、内置搜索和替换功能。

竞品和相关项目

  1. vim:Vim(Vi IMproved)是文本编辑vi 的改良版,以其高效的文本编辑模式和操作方式而著名,是最为广泛使用的编辑器之一。
  2. Neovim: 一款用 C 语言开发文本编辑器,是 Vim 的一个现代化分支,兼容 Vim 的大部分用法,支持绝大多数的 Vim 插件,Vim 的用户可以很容易地过渡到 Neovim
  3. emacs:由 Richard Stallman 在 1970 年代开发文本编辑,以其强大的自定义功能和广泛的插件支持而闻名。地位与 vim 相当。
  4. micro:用 Go 开发的现代终端文本编辑器,简洁易用,类似于传统的图形化文本编辑器。

进一步阅读

  • 如果你想深入了解,可以参考 helix 官网文档体系 ,选择感兴趣的篇章阅读

更多内容请查阅 : pkg/helix

转载请标明原文链接 :https://www.x-cmd.com/pkg/helix


http://www.ppmy.cn/server/143217.html

相关文章

OpenSSL 自签名

参考文档:unigui开发人员工作手册2021 参考文章:保姆级OpenSSL下载及安装教程-CSDN博客 下载 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 进入后向下拉找到下载位置,建议下载二进制版本的精简版&#xff0c…

SpringBoot整合Email 邮件发送详解

文章目录 SpringBoot整合Email 邮件发送详解一、引言二、邮件发送需要的配置1、获取客户端授权码163邮箱授权码获取QQ邮箱授权码获取 2、SpringBoot配置SMTP服务 SpringBoot整合Email 邮件发送详解一、引言二、环境准备与配置1、依赖配置2、配置文件设置163邮箱配置示例QQ邮箱配…

MATLAB和Python激发光谱

激发光谱是一种用于研究物质发光特性的分析方法。当样品吸收特定波长的光时,电子从基态跃迁至激发态。随后,当电子返回基态时,会发射出光子,产生荧光或磷光。激发光谱通过测量不同波长的入射光激发下的发光强度来获取数据。该技术…

基于FastAPI实现本地大模型API封装调用

关于FastAPI FastAPI 是一个现代、快速(高性能)的 Python Web 框架,用于构建基于标准 Python 类型提示的 API。它以简洁、直观和高效的方式提供工具,特别适合开发现代 web 服务和后端应用程序。 问题:_pad() got an un…

2024-11-16----Android 11(全志H713)-----拉高LED灯

需求 屏背光亮起来的时候&#xff0c;LED灯 黄灯灭 绿灯亮 找到屏操作背光的驱动文件&#xff1a; longan/brandy/brandy-2.0/u-boot-2018/drivers/video/sunxi/fastlogo/fastlogo.c写下操作LED灯的方法&#xff0c;在合适的地方调用 #define setbit(x,y) x|(1<<y) …

Android Framework AMS面试题及参考答案

目录 什么是 AMS? AMS 在 Android 系统中的作用? AMS 是如何启动的? Zygote、SystemServer 与 AMS 之间的关系? AMS 如何与其他系统服务(如 PackageManagerService、WindowManagerService、WMS)交互? AMS 如何使用 Binder 完成通信? AMS 如何管理系统服务的启动…

【自学笔记】无监督学习

文章目录 简述聚类 &#xff08;Cluster learning&#xff09;K-means 异常检测密度估计一些技巧 简述 无监督学习&#xff08;Unsupervised Learning&#xff09;是机器学习的一种方法&#xff0c;其特点是不依赖于事先标记的训练数据。在无监督学习中&#xff0c;算法尝试直接…

【机器学习】从马尔可夫链到CRF:全方位解析序列建模的核心技术

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…