当前位置: 首页 > news >正文

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

文章目录

  • 如何在`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,说明成功。

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

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

相关文章:

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

文章目录 如何在emacs上开始使用Tree-Sitter&#xff08;windows&#xff09; 如何在emacs上开始使用Tree-Sitter&#xff08;windows&#xff09; 参考&#xff1a;“How to Get Started with Tree-Sitter”。 首先要有一个可运行的emacs&#xff0c;并且它支持Tree-Sitter&…...

Qt 数据库操作V1.0

1、pro文件 QT sql2、h文件 #ifndef DATABASEOPERATION_H #define DATABASEOPERATION_H#include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QSqlRecord> #include <QDebug> #include <QVariant>clas…...

【Eclipse插件开发】3工作台workbench探索【上篇】

3工作台workbench探索 文章目录 3工作台workbench探索前言视图编辑器一、工作台Workbench入门工作台页透视图视图和编辑器二、使用命令的基本工作台扩展点2.1 org.eclipse.ui.views2.2 org.eclipse.ui.editors编辑器和内容大纲2.3 org.eclipse.ui.comm...

201912CSPT5魔数

题意&#xff1a;有一个从 1 1 1到 n n n的连续序列&#xff0c;有 q q q次查询,对区间操作 [ l , r ] [l,r] [l,r]&#xff1a; 1. 输出 s f ( A l ) f ( A l 1 ) . . . f ( A r ) , f ( x ) ( x 1.输出sf(A_l)f(A_{l1})...f(A_r),f(x)(x 1.输出sf(Al​)f(Al1​)...f(A…...

Pycharm python用matplotlib 3D绘图显示空白解决办法

问题原因&#xff1a; matplotlib版本升级之后显示代码变了&#xff0c;修改为新的 # ax Axes3D(fig) # 原代码 ax fig.add_axes(Axes3D(fig)) # 新代码import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Ax…...

java hello world

1、java IDEA工具安装&#xff1a; helloworld &#xff1a; package com.company;public class Main {public static void main(String[] args) {// write your code hereString a "hello world";System.out.println(a);} } java一些注意事项 1、大小写敏感 2、类…...

典型数据结构的模板实现

栈和数组 1.使用类模板实现数组结构定长数组可变数组 2.使用类模板实现栈结构 在我们初步了解编写模板类后&#xff0c;应当做一下代码练习。这节我们就做一个编写代码的补充&#xff0c;方便大家继续学习模板类的嵌套。作为新手而言&#xff0c;建议大家先写一个具体类&#x…...

Visual Studio 2022中创建的C++项目无法使用万能头<bits/stdc++.h>解决方案

目录 发现问题 解决办法 第一步 第二步 第三步 第四步 最后一步 问题解决 发现问题 如果大家也遇到下面这种问题&#xff0c;可能是没有include文件夹中没有bits/stdc.h 解决办法 第一步 打开一个C项目&#xff0c;鼠标移动至头文件上右击&#xff0c;选择转到文档或…...

webpack配置

一、很多基础方面的配置被vuecli所集成一般项目都是使用vuecli,不会真正的去从0-1进行webpack配置: 1、vuecli中的webpack基础配置: (1)入口文件默认在src/main;输出在dist; (2)集成了大量的插件和加载器:babel-loader 处理 JavaScript 文件、使用 css-loader 和 style-load…...

1 月 Web3 游戏行业概览:市场实现空前增长

作者&#xff1a;lesleyfootprint.network 今年一月&#xff0c;区块链游戏领域迎来了爆发式增长&#xff0c;活跃用户的数量大幅提升。 区块链游戏不断融合 AI 技术&#xff0c;旨在提升玩家体验并扩大其服务范围&#xff0c;公链与游戏的兼容性问题也日渐受到重视。技术革新…...

如何在 Mac 上重置网络设置

如何在 Mac 上重置网络设置 Mac 几乎在所有时间都非常可靠&#xff0c;但有时您在连接到互联网时可能会遇到困难或浏览速度缓慢。 互联网可能在您的其他设备上正常工作&#xff0c;这可能很烦人。 通常&#xff0c;问题的原因是什么并不明显&#xff0c;甚至根本不存在。 如果…...

BVH动画绑骨蒙皮并在Unity上展示

文章目录 Blender绑定骨骼Blender蒙皮Blender中导入bvh文件将FBX导入Unity Blender绑定骨骼 先左上角红框进入model模式&#xff0c;选中要绑定的模型&#xff0c;然后进入Edit模式把骨骼和关节对齐。 &#xff08;选中骨骼&#xff0c;G移动&#xff0c;R旋转&#xff09; 为…...

c# 缓存帮助类

public class CacheHelper { private static Dictionary<string, object> dic new Dictionary<string, object>(); // 定义一个静态变量来保存类的实例 private static CacheHelper session; // 定义一个标识确保线程同步 pr…...

红队渗透靶机:TIKI: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录探测 1、dirsearch 2、gobuster WEB web信息收集 searchsploit cms信息收集 ssh登录 提权 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:2…...

【数据结构】二叉树的三种遍历(非递归讲解)

目录 1、前言 2、二叉树的非递归遍历 2.1、先序遍历 2.2、中序遍历 2.3、后序遍历 1、前言 学习二叉树的三种非递归遍历前&#xff0c;首先来了解一下递归序&#xff1a; 递归序就是按照先序遍历的顺序&#xff0c;遇到的所有结点按顺序排列&#xff0c;重复的结点也必须记…...

Spark Standalone 集群配置

前言 平时工作中主要用 YARN 模式,最近进行TPC测试用到了 Standalone 模式,便记录总结一下 Standalone 集群相关的配置。 集群管理类型 Spark 支持三种集群管理类型: Standalone - Spark附带的一个简单的集群管理器,可以轻松地设置集群。Apache Mesos - 一个通用的集群管…...

蓝桥杯Web应用开发-CSS3 新特性【练习二:获得焦点验证】

页面上有一个姓名输入框和一个密码输入框&#xff0c;当聚焦输入框时&#xff0c;输入框的背景颜色会发生改变&#xff0c; 新建一个 index3.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYPE html> <html lang"en"><head><meta charset&…...

职业发展 - 一个专注于嵌入式物联网架构设计的攻城狮(转载)

1 关于我 很高兴大家都关注到我&#xff0c;从而看到这篇简要的介绍&#xff0c;下面有更多的关于我。 我是一个嵌入式架构师&#xff0c;早前从事过智能电网相关的电力设备开发&#xff0c;金融POS机开发&#xff0c;以及eSIM相关的软件开发&#xff0c;现在主要在做嵌入式I…...

阿里云ECS服务器Linux安装Mysql8

链接&#xff1a;https://pan.baidu.com/s/1s9j7OhiOMV9e9Qq9GDbysA 提取码&#xff1a;dd5a --来自百度网盘超级会员V5的分享 Mysql官网:MySQL 关于Mysql Yum Repository介绍可以看下 更加简单 关于X86和ARM 传到服务器 进入所在包 cd /usr/local/develop/mysql8 解压 …...

Redis中内存淘汰算法实现

Redis中内存淘汰算法实现 Redis的maxmemory支持的内存淘汰机制使得其成为一种有效的缓存方案&#xff0c;成为memcached的有效替代方案。 当内存达到maxmemory后&#xff0c;Redis会按照maxmemory-policy启动淘汰策略。 Redis 3.0中已有淘汰机制&#xff1a; noevictionall…...

OpenClaw轻量化实践:nanobot镜像在树莓派上的部署指南

OpenClaw轻量化实践&#xff1a;nanobot镜像在树莓派上的部署指南 1. 为什么选择树莓派部署OpenClaw 去年夏天&#xff0c;我在整理家庭实验室时翻出了一台闲置的树莓派4B。这台曾经用来跑Home Assistant的小设备&#xff0c;现在有了新的使命——成为我的个人AI助手。当时市…...

智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant

智能家居控制中心&#xff1a;OpenClaw桥接Qwen3-32B-Chat与HomeAssistant 1. 为什么需要AI驱动的家居控制中心 去年冬天的一个深夜&#xff0c;我被空调异常制热的噪音惊醒。摸黑在手机APP上反复调整参数无果后&#xff0c;突然意识到&#xff1a;如果有个能理解自然语言的智…...

**Modbus协议深度解析:基于Python的TCP通信实战与发散创新应用**在工业自动化领域,**Modbus协议

Modbus协议深度解析&#xff1a;基于Python的TCP通信实战与发散创新应用 在工业自动化领域&#xff0c;Modbus协议因其简单、稳定和开放性成为最广泛使用的串行通信标准之一。本文将从底层原理出发&#xff0c;深入剖析 Modbus TCP 的数据帧结构&#xff0c;并结合 Python 实现…...

Python AI 工具不是越多越好!——3个被低估但日均调用量破50万的轻量级用例工具(附内部灰度测试报告)

第一章&#xff1a;Python AI 工具不是越多越好&#xff01;——轻量级用例工具的价值重估在AI工程实践中&#xff0c;开发者常陷入“工具堆砌陷阱”&#xff1a;为一个文本清洗任务引入 Transformers&#xff0c;为简单分类部署完整 FastAPI ONNX Runtime Redis 缓存栈。这种…...

League-Toolkit:革新英雄联盟体验的效率倍增工具集

League-Toolkit&#xff1a;革新英雄联盟体验的效率倍增工具集 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一…...

EN50155以太网交换机的X键位M12插座在PCB板上同一高度方法

在轨道交通车载EN50155以太网交换机的PCB设计中&#xff0c;X键位M12插座&#xff08;千兆/万兆接口&#xff09;常需多个并排或阵列布局。由于X编码插座引脚数较多&#xff08;8芯&#xff09;且结构复杂&#xff0c;确保所有插座在PCB板上的同一高度&#xff08;共面性&#…...

OpenClaw智能截图:nanobot自动识别图片中的文字信息

OpenClaw智能截图&#xff1a;nanobot自动识别图片中的文字信息 1. 为什么需要智能截图工具 在日常工作和学习中&#xff0c;我们经常遇到需要从图片中提取文字的场景。比如截取网页上的技术文档片段、保存会议白板上的讨论要点、或者整理纸质书籍中的关键段落。传统做法是手…...

新手入门:用快马平台生成第一个labelimg式图像标注demo

今天想和大家分享一个特别适合计算机视觉新手的小项目——用InsCode(快马)平台快速搭建一个简易版的图像标注工具。这个工具类似labelimg的核心功能&#xff0c;但更轻量级&#xff0c;能帮助理解数据标注的基本流程。 项目背景理解 图像标注是计算机视觉的基础环节&#xff0c…...

深度解析ViGEmBus:Windows虚拟游戏手柄驱动实战指南

深度解析ViGEmBus&#xff1a;Windows虚拟游戏手柄驱动实战指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内核模式驱动&a…...

AI核心概念串联

目录一、Tokenizer二、LLM三、Context四、RAG五、Prompt六、Tool七、MCP八、Agent九、Skill原UP主视频&#xff1a;从 LLM 到 Agent Skill&#xff0c;一期视频带你打通底层逻辑&#xff01; 一、Tokenizer 用户每次输入都是一串连续的句子&#xff0c;而LLM的最小单位是toke…...