首页
学习
活动
专区
工具
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)、GNU的C库(glibc)、以及GNU核心工具组(coreutils),另外也是GNU除错器(GDB)、GNU...反正就是除了内核以及Emacs以外的所有东西。 ? 引自《若为自由故》 怪不得人们要称呼基于GNU计划和Linux内核的操作系统为: ?

2.1K80

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.4K21
  • 30岁文转码:我用了三年时间从哲学家变成知名软件项目核心开发

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

    38130

    使用 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

    86820

    Emacs Lisp

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

    62140

    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.4K10

    Emacs Lisp

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

    2.3K40

    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 Lisp 是 Lisp 的一个分支 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 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。...请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

    92170

    工具丨用C语言扩展Python的功能

    最常见的情况是目前已经存在一个用C编写的库,需要在Python语言中使用该库的某些功能,此时就可以借助Python提供的扩展功能来实现。...二、Python的C语言接口 Python是用C语言实现的一种脚本语言,本身具有优良的开放性和可扩展性,并提供了方便灵活的应用程序接口(API),从而使得C/C++程序员能够在各个级别上对Python解释器的功能进行扩展...三、Python的C语言扩展 3.1模块封装 在了解了Python的C语言接口后,就可以利用Python解释器提供的这些接口来编写Python的C语言扩展,假设有如下一个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、百度...请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

    75020
    领券