如何在 emacs 上开始使用 Tree-Sitter(windows)

文章目录

如何在emacs上开始使用Tree-Sitterwindows

参考:"How to Get Started with Tree-Sitter"。

首先要有一个可运行的emacs,并且它支持Tree-Sitter,直接从官网下载的就可以:"emacs-29.2_1-installer.exe"。

可以通过查看system-configuration-options获得编译选项,如果是--with-tree-sitter,说明它支持Tree-Sitter

然后安装各个语言对应的语言文件,github上已经有人提供下载了:"emacs-tree-sitter/tree-sitter-langs"。我下载的是tree-sitter-grammars.x86_64-pc-windows-msvc.v0.12.92.tar.gz这个文件:

然后把这些文件都放到user-emacs-directory下的tree-sitter目录中,在我的电脑上即%APPDATA%/.emacs.default/tree-sitter。且由于文件名要保持libtree-sitter-<LANGUAGE>.dll的格式,所以用emacsdired可以批量修改文件名,操作时步骤:

  1. C-x C-qdired变成可写buffer
  2. C-x r t执行string-rectangle来批量修改。
  3. C-c C-c最终使用文件名生效。

这里可以用(treesit-language-available-p 'cpp)命令来测试一下是否环境配置成功,返回t,说明成功。

最后在启动配置文件中添加如下即可:

emacs-lisp 复制代码
(setq major-mode-remap-alist
      '((sh-mode . bash-ts-mode)
        (c-mode . c-ts-mode)
        (c++-mode . c++-ts-mode)
        (c-or-c++-mode . c-or-c++-ts-mode)
        (python-mode . python-ts-mode)))

这里的含义就是当主模式为c-mode时,改用c-ts-mode模式。(可以M-:执行major-mode来查看当前主模式)

相关推荐
萑澈2 天前
vscode怎么关闭点击音效
ide·vscode·编辑器
Codiggerworld3 天前
Vim的语法:删除、复制、粘贴,像说话一样自然
编辑器·vim·excel
刘延林.3 天前
Visual Studio Code+PlatformIO + ESP32-S3 + Arduino 框架点亮一个小的led灯-测试
ide·vscode·编辑器
包子源3 天前
从零到一:一套免费在线简历编辑器的前后端设计与实现思路
编辑器
Webgiserin4 天前
nvm+vscode配置安装暂记
ide·vscode·编辑器
专职4 天前
cursor中与vim插件冲突时的配置
编辑器·vim·excel
拆房老料4 天前
5分钟上手 OnlyOffice 连接器,打通业务系统与文档编辑器
编辑器·开源软件·js
wwww.wwww5 天前
ArmCompilerForEmbedded6.24无法使用的问题
编辑器
Highcharts.js5 天前
抉择之巅:从2029年回望2026年——企业可视化“战略分水岭”?
前端·javascript·信息可视化·编辑器·echarts·highcharts
ntGrace5 天前
Windows环境下,在Vscode里利用ESP-IDF开发ESP32S3项目时,不能构建的问题1及解决方法
vscode·编辑器