首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Lisp以外的语言编写Emacs扩展

在云计算领域,Emacs是一款非常流行的文本编辑器,它具有强大的扩展性,可以通过编写扩展来增强其功能。Emacs扩展通常使用Lisp语言编写,但是也可以使用其他编程语言编写。

在这个问答中,我们将介绍如何使用除Lisp以外的语言编写Emacs扩展。

首先,需要了解的是,Emacs提供了多种方式来调用其他语言编写的代码,包括但不限于:

  1. 使用Emacs的内置外部调用机制,如call-processcall-process-region等函数,从Emacs中调用其他语言编写的程序,并将结果返回到Emacs中。
  2. 使用Emacs的内置外部调用机制,如start-processprocess-send-string等函数,从Emacs中启动其他语言编写的程序,并将结果返回到Emacs中。
  3. 使用Emacs的内置外部调用机制,如shell-commandshell-command-on-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。
  4. 使用Emacs的内置外部调用机制,如call-shell-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。

其次,需要了解的是,Emacs提供了多种方式来与其他语言编写的代码进行交互,包括但不限于:

  1. 使用Emacs的内置外部调用机制,如call-processcall-process-region等函数,从Emacs中调用其他语言编写的程序,并将结果返回到Emacs中。
  2. 使用Emacs的内置外部调用机制,如start-processprocess-send-string等函数,从Emacs中启动其他语言编写的程序,并将结果返回到Emacs中。
  3. 使用Emacs的内置外部调用机制,如shell-commandshell-command-on-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。
  4. 使用Emacs的内置外部调用机制,如call-shell-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。

最后,需要了解的是,Emacs提供了多种方式来与其他语言编写的代码进行交互,包括但不限于:

  1. 使用Emacs的内置外部调用机制,如call-processcall-process-region等函数,从Emacs中调用其他语言编写的程序,并将结果返回到Emacs中。
  2. 使用Emacs的内置外部调用机制,如start-processprocess-send-string等函数,从Emacs中启动其他语言编写的程序,并将结果返回到Emacs中。
  3. 使用Emacs的内置外部调用机制,如shell-commandshell-command-on-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。
  4. 使用Emacs的内置外部调用机制,如call-shell-region等函数,从Emacs中调用shell命令,并将结果返回到Emacs中。

总之,Emacs扩展可以使用除Lisp以外的语言编写,并且可以使用Emacs的内置外部调用机制与其他语言编写的代码进行交互。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

操作系统Emacs是如何沦落为一代编辑器

开始之前,先让我们知道今天Emacs是长怎样? ? 不不,这是它新Logo,我意思是它用途。 什么是Emacs? Emacs是一种功能超强文本处理程序,或者文本编辑器。...基础部分是使用C语言编写,其他部分是Emacs Lisp编写。深层次的话,C语言构成了emacs底层,包括Emacs Lisp解释器。...而Emacs Lisp则是负责了Emacs Lisp建筑物上层,也就是包括我们平时扩展、界面等。...事实上,整个GNU计划开发出了除了操作系统内核以外所有工具: GNU编译器套装(GCC)、GNUC库(glibc)、以及GNU核心工具组(coreutils),另外也是GNU除错器(GDB)、GNU...反正就是除了内核以及Emacs以外所有东西。 ? 引自《若为自由故》 怪不得人们要称呼基于GNU计划和Linux内核操作系统为: ?

2K80

Lisp语言简介_c++是什么语言

LISP有很多种方言,各个实现中语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统中,还有一种和Emacs一起Emacs Lisp(而Emacs正是Lisp作为扩展语言进行功能扩展)非常流行,并建立了自己标准。...LISP语言主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...由于历史原因,Lisp长期以来被认为主要用于AI领域,但Lisp并不是为AI而设计,而是一种通用编程语言....Lisp表达式是一个原子(atom)或表(list),原子(atom)又包含符號(symbol)與數值(number);表是由零个或多个表达式组成序列,表达式之间空格分隔开,放入一对括号中,如:

2.3K20
  • 使用 RustC 开发 Emacs 插件

    Emacs 在 25 版本后,支持了动态模块(dynamic modules),这为 Emacs 插件开发打开了新一扇大门,任何能够编译生成符合 Emacs ABI 要求语言都可以使用。...本文就来介绍,如何使用 C/Rust 两种语言来进行 Emacs 动态模块开发。本文所有代码可在 emacs-dynamic-module 这里找到。...C C 是开发动态模块最直接语言Emacs 核心部分就是 C 开发。...,上面的宏使用了 Statement Expression,不是 C 语言标准,是 GNU99 扩展,但由于十分有用,大多数编译器都支持了这种语法(可通过 -std=gnu99 指定),所以可以放心使用...•Rust扩展Emacs功能 | NIL,这篇文章算是对官方文档中文翻译,供读者参考 热加载 使用 emacs-module-rs 开发动态模块,会暴露一个 reload 函数 emacs_rs_module_init

    84020

    30岁文转码:我用了三年时间从哲学家变成知名软件项目核心开发

    它其实是一套可编程平台,文本编辑只是其中主要交互点之一。 Emacs 是由 Lisp 一种方言编写而成,名为“Emacs Lisp”、也叫“Elisp”。...因此,它绝大多数代码库以及用户配置也是 Elisp 写成。这意味着对最终用户来说,Emacs 只涉及一种语言、只包含一种范式。...我把 Emacs 当成集成计算环境 我是 2019 年夏天起开始 Emacs ,之前对 Lisp 没有任何了解,编程水平也不高。我上大学时学是人文学科,所有硬核技术都是最近几年才逐渐掌握。...Emacs 扩展性,使得用户能够利用自己计算设备真正执行极为广泛处理任务。...于是,Emacs 提倡一种强大文档文化,每份 Elisp 表单都必须用自然语言解释其作用,每个功能包都必须提供使用与配置说明。我们希望这样方式保障最低限度计算自由。

    37430

    Emacs Lisp

    前言Lisp 是一门很古老语言LISP 是具有悠久历史计算机编程语言家族,有独特和完全括号前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKIEmacs LispLisp 一个分支Emacs Lisp...,一种直译式脚本语言,为LISP方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言扩展它们功能,它直译器是以C语言来实作,它受到Maclisp影响很大,但是跟Common...Lisp与Scheme有所不同最近我迷上了 Emacs所以顺藤摸瓜,竟然搭进去了一门语言万万没想到,为了了解一个编辑器,竟然搭进去了一门语言好在这门语言结构比较简单清晰以致于可以 15 分钟入个门Tip...: 这一篇纯属于摘抄,不是原创,只是好东西忍不住拿出来分享,如果原作者有意见,可以随时联系我,下线此文章,我完全尊重原作者意见原文,请参考 Emacs Lisp 15 分钟入门

    61340

    Emacs Tree-sitter 初体验

    Emacs 中,之前都是采用正则方式去解析语言语法结构,这种方式虽然大多数情况是没有问题,但主要有以下几个问题: 正则比较消耗 CPU,导致对大文件进行高亮时容易导致 Emacs 卡主,参见:...安装步骤 由于 tree-sitter 核心部分使用 C 编写,因此 Emacs 默认并不链接它,需要用户自己制定, ..../configure --with-tree-sitter 不同平台包管理器都有预编译好动态文件,在 macOS 上可以如下命令: brew install tree-sitter 编译完 Emacs...但到这里安装并没有完成,这只是完成了核心部分,不同语言解析器需要单独安装,不过幸好社区内已经有人整理好了, https://github.com/emacs-tree-sitter/tree-sitter-langs...,需要开启 Emacs 对应 mode 来使用,比如 c-mode 对应 c-ts-mode ,Emacs 为不同语言重新实现了一个以 ts-mode 结尾新 mode,在 29 版本中,主要有如下

    1.2K10

    Unix 是 C 语言编写吗?

    Unix 与 C 语言关系 ? Unix 确实是 C 语言编写,而且是世界上第一个 C 语言编写操作系统。但是 Unix 是怎么产生?C 语言又是怎么产生?...它价值就在于向世人展示了一门高级语言也可以开发出一套操作系统。Ken Thompson 和 Dennis Ritchie 也受到了鼓舞,他们决定用汇编之外语言重新开发 Unix。...可是 NB 还是有很多问题,于是 Dennis Ritchie 就又发明了 C 语言,最终在 1974年,Ken Thompson 和 Dennis Ritchie 一起 C 语言重新编写了第四版...C 语言解决了 B 语言很多缺陷,并很快成为了开发操作系统最流行一种编程语言。新版本 Unix 以及今天很多类 Unix 操作系统都是 C 语言开发出来。...好了,讲到这里,我想大家都清楚了 Unix 和 C 语言是怎么来了,以及为什么要用 C 语言编写 Unix。

    4.8K40

    Emacs Lisp

    前言 Lisp 是一门很古老语言 LISP 是具有悠久历史计算机编程语言家族,有独特和完全括号前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,一种直译式脚本语言,为LISP方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言扩展它们功能,它直译器是以C语言来实作,它受到Maclisp影响很大,但是跟Common...Lisp与Scheme有所不同 最近我迷上了 Emacs 所以顺藤摸瓜,竟然搭进去了一门语言 万万没想到,为了了解一个编辑器,竟然搭进去了一门语言 好在这门语言结构比较简单清晰 以致于可以 15 分钟入个门...;; 为了实验本教程中lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果

    2.3K40

    Emacs Lisp

    前言 Lisp 是一门很古老语言 LISP 是具有悠久历史计算机编程语言家族,有独特和完全括号前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,一种直译式脚本语言,为LISP方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言扩展它们功能,它直译器是以C语言来实作,它受到Maclisp影响很大,但是跟Common...Lisp与Scheme有所不同 最近我迷上了 Emacs 所以顺藤摸瓜,竟然搭进去了一门语言 万万没想到,为了了解一个编辑器,竟然搭进去了一门语言 好在这门语言结构比较简单清晰 以致于可以 15 分钟入个门...;; 为了实验本教程中lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果

    2.2K30

    Emacs 折腾记

    我工作中倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,历数现代 Lisp 方言先进性,再者我也一直有学习一门函数式编程语言想法...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...本来什么也不用配置情况下 M-x ielm 就能进入一个 Emacs Lisp REPL,但是它与 Common Lisp 毕竟还是有区别,所以还是另配置一个。...在 Vim 中我一直是 :!

    1.3K20

    详细解读C语言编写 “扫雷”程序

    C语言编写扫雷程序 编写前首先得有大致思路吧,就是第一步干啥第二部干啥?以我目前水平编写程序只能在黑框框里运行。先让大家提提神 。这个图是windows里面的扫雷程序。好!...因为玩家赢了或者玩家输了你要给玩家看一下你存雷雷阵,所以两个雷阵是正确选择,当然可以不打印你存雷雷阵,我这里为了方便两个雷阵都打印了。...Rand()%10产生0-9.然后在加1.就可以产生1-10这10个数,然后就可以产生10个不同坐标。我这个程序雷数是有玩家自己设定。...周围坐标和本点坐标都有关系,不懂看代码。...注意判断输入坐标是否正确,不正确提示重新输入。判断雷个数和剩余未知区域个数,如果相等,则玩家赢。如果点坐标刚好存雷,那么玩家就输了。

    3.2K50

    TIOBE 6月编程语言排行榜:Kotlin突围进入50强

    在本月TIOBE编程语言排行榜中,Kotlin排在了第43名。除此以外,Hack和Rust也在 50 名之内。下面是本次排名榜单: 6月编程语言TOP 20榜单 ? ?...shell, C shell, CFML, CL (OS/400), Clean, Clipper, Clojure, Common Lisp, Crystal, Elixir, Elm, Emacs...编程语言“名人榜”(2003-2016) “年度编程语言”获奖名单如下图所示,该奖项授予一年中评分最高编程语言: ?...【说明】 TIOBE 编程语言社区排行榜是编程语言流行趋势一个指标,每月更新,这份排行榜排名基于互联网上有经验程序员、课程和第三方厂商数量。...请注意这个排行榜只是反映某个编程语言热门程度,并不能说明一门编程语言好不好,或者一门语言编写代码数量多少。

    90870

    工具丨C语言扩展Python功能

    最常见情况是目前已经存在一个C编写库,需要在Python语言中使用该库某些功能,此时就可以借助Python提供扩展功能来实现。...二、PythonC语言接口 Python是C语言实现一种脚本语言,本身具有优良开放性和可扩展性,并提供了方便灵活应用程序接口(API),从而使得C/C++程序员能够在各个级别上对Python解释器功能进行扩展...三、PythonC语言扩展 3.1模块封装 在了解了PythonC语言接口后,就可以利用Python解释器提供这些接口来编写PythonC语言扩展,假设有如下一个C语言函数: ?...3.5编译链接 要在Python解释器中使用C语言编写扩展模块,必须将其编译成动态链接库形式。下面以RedHatLinux8.0为例,介绍如何将C编写Python扩展模块编译成动态链接库: ?...为了克服脚本语言执行速度慢问题,Python提供了相应C语言扩展接口,通过将影响执行性能关键代码C语言实现,可以很大程度上提高Python编写脚本在运行时速度,从而满足实际需要。

    2.9K90

    玩转命令行之文本编辑器篇

    当然后续插件扩展我们都可以自行DIY,官网里介绍非常详细我就不多赘述了。...XEmacs是GNU Emacs分支,至今仍保持着相当兼容性。 Emacs使用Emacs Lisp,这种有着极强扩展编程语言,从而实现了包括编程、编译乃至网络浏览等等功能扩展。...,确实挺“方便”,丢掉了鼠标,但是太多了,对新人不是很友好,但是你耐心学习一段时间后,又会发现好像打开了新大门,特别是配合Lisp脚本来拓展插件之后,又会觉得哇塞,这玩意真棒?...Helix 是 Rust 编写,使用 Tree-sitter 进行语法高亮。...Helix 主要亮点是“多重选择”,这是基于 Kakoune 。 内置语言服务器支持提供上下文感知补全、诊断和代码操作。

    1.2K30

    excel宏编程 c语言,宏(巨集)

    Lisp语言如Common Lisp和Scheme有更精巧宏系统: 宏行为如同是函数对自身程序文本变形,并且可以应用全部语言来表达这种变形。...例如,一种 Lisp 方言有 cond 而没有 if ,就可以使用宏由前者定义后者。Lisp 语法去部主要扩展,比如面向对象 CLOS 系统,可以由宏来定义。...这一限制可以通过更强大编程语言,如VBA来创建一个计算机程序在此弱编程语言里生成一个特别的宏来解决。...Emacs 最初被设计为编辑语言 TECO 宏集,后被移植为 Lisp 一种方言 Emacs Lisp。Vim也允许用户录制和播放简单键盘宏。...== 宏语言 == 宏语言是一类编程语言,其全部或多数计算是由扩展宏完成。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。

    1.6K20

    TIOBE 11 月编程语言:Java 首次跌出前二,Python 势不可挡

    本月排行榜出现了自 TIOBE 榜单发布以来,近二十年从未见过变化:前两名位置首次出现了一个除 C 和 Java 以外语言。...甚至 TIOBE CEO Paul Jansen,在曾经遇到一位修车机械师都喜欢 Python 编程之后,也开始意识到:Python 将无处不在。..., C shell, Clojure, CoffeeScript, Common Lisp, Crystal, cT, Dylan, Elixir, Elm, Emacs Lisp, Erlang, F...【说明】 TIOBE 编程语言社区排行榜是编程语言流行趋势一个指标,每月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商数量,其中包括了流行搜索引擎以及技术社区,如 Google、百度...请注意这个排行榜只是反映某个编程语言热门程度,并不能说明一门编程语言好不好,或者一门语言编写代码数量多少。

    74120
    领券