如何在 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来查看当前主模式)

相关推荐
Mortal_hhh7 小时前
VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
ide·vscode·stm32·编辑器
电子云与长程纠缠17 小时前
UE5.3中通过编辑器工具创建大纲菜单文件夹
java·ue5·编辑器
lucky九年18 小时前
vscode翻译插件
ide·vscode·编辑器
真·Wild·攻城狮19 小时前
【码农日常】Vscode Clangd初始化失败(Win10)
ide·vscode·编辑器
七灵微19 小时前
【测试】【Debug】vscode中同一个测试用例出现重复
ide·vscode·编辑器
4U2471 天前
Linux入门之vim
linux·编辑器·vim·命令模式·底行模式
Liquor14192 天前
vim 编辑器
java·linux·c语言·开发语言·python·编辑器·vim
skywalk81632 天前
三周精通FastAPI:33 在编辑器中调试
python·编辑器·fastapi
188_djh3 天前
# vim那些事...... vim删除文件全部内容
linux·ubuntu·centos·编辑器·vim·vi·vim删除文件全部内容
虞书欣的63 天前
Python小游戏22——吃豆豆小游戏
python·算法·游戏·编辑器·pygame