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

如何访问Emacs Lisp中当前区域的内容?

要访问Emacs Lisp中当前区域的内容,可以使用(buffer-substring-no-properties start end)函数。其中,startend分别表示要访问的区域的起始和结束位置。

例如,如果要访问当前行的内容,可以使用以下代码:

代码语言:lisp
复制
(let ((start (line-beginning-position))
      (end (line-end-position)))
  (buffer-substring-no-properties start end))

这将返回当前行的内容。

如果要访问整个缓冲区的内容,可以使用以下代码:

代码语言:lisp
复制
(buffer-substring-no-properties (point-min) (point-max))

这将返回整个缓冲区的内容。

需要注意的是,(buffer-substring-no-properties start end)函数返回的是一个字符串,如果需要对其进行处理,需要使用相应的字符串处理函数。

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

相关·内容

Emacs Lisp2

Emacs: (在windows可以双击emacs图标,在Linux可以输入% emacs & ),;; 然后在键盘上键入q 跳过系统欢迎信息,;; 先观察在Emacs屏幕底部,会给出一堆关于当前工作情况信息...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区,;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;;;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令。...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...; ^ 把光标放在这里,并且键入Ctrl-j (之后将简写成C-j);; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算结果;; 插入到当前缓冲区;; 如果不希望Emacs在缓冲区插入计算结果

98240

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,会给出一堆关于当前工作情况信息,其中灰色一行叫做状态行, ;; 在其中你会发现 *scratch* 字样,这表示你当前缓冲区(buffer)名字。...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果

2.3K40
  • Emacs Lisp

    LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,会给出一堆关于当前工作情况信息,其中灰色一行叫做状态行, ;; 在其中你会发现 *scratch* 字样,这表示你当前缓冲区(buffer)名字。...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果

    2.2K30

    Emacs 折腾记

    我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,历数现代 Lisp 方言先进性,再者我也一直有学习一门函数式编程语言想法...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...然后在如何运行当前 py 文件这件事上遇到些问题。在 Vim 我一直是用 :!...…… 使用 smex 自动提示 M-x 后内容。...在 ~/.emacs 文件添加 这个 3 表示在距离屏幕上下边缘还有 3 行时候再移动光标即自动滚屏,方便随时能看到当前编辑行上下文,可以根据自己使用习惯调整。

    1.3K20

    Emacs 折腾记

    我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,还有垠神也撰文《Lisp 已死,Lisp 万岁!...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...然后在如何运行当前 py 文件这件事上遇到些问题。在 Vim 我一直是用 :!...添加 Edit with Emacs 到系统右键菜单。 将以下内容复制之后粘贴到一个 .reg 文件里,运行即可(将 exe 路径换为你自己)。...行时候再移动光标即自动滚屏,方便随时能看到当前编辑行上下文,可以根据自己使用习惯调整。

    1.9K10

    文件夹右键菜单中新建区域内容编辑

    1.系统 win10 2.注册表打开 按下 win + r 输入 regedit 确定/回车之后即可打开注册表 3.删除新建中内容 比如下面这个Skin Builder Style Project...内容我不想要了 上图中选择新建后会新建这个文件 记下它后缀名 .cjstyles 打开注册表,在HKEY_CLASSES_ROOT项下寻找....找到.cjstyles删除即可 4.增加新建中内容 以新建markdown文件为例 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\....HKEY_CLASSES_ROOT\.md\ShellNew] "NullFile"="" [HKEY_CLASSES_ROOT\Typora.exe] @="Markdown" 后缀修改为.reg后运行 上面[]即为注册表路径...@="Typora.exe" 表明使用Typora.exe打开 @="Markdown" 表明新建时右键菜单选项名为Markdown "NullFile"="" 表明新建后文件名字为默认新建 Markdown.md

    1.9K40

    Emacs 28 新特性介绍

    这篇文章就来介绍 Emacs 28 ,笔者个人觉得比较实用功能,完整列表可参考 NEWS[3] ( M-x view-emacs-news ),最后会介绍如何在 macOS 上编译。...与 flush-lines 命令类似,但是匹配行会作为整体加到 kill ring • 新配置 kill-transform-function 字符在添加到 kill ring 预处理函数 •...positional 参数已经被淘汰 编译方式 看了上面那么多新功能,读者可能已经按捺不住内心喜悦,这里就来介绍如何在 macOS 编译 28 版本,其他操作系统方式类似。.../emacs/i-basic.el#L346 [11] hierarchy.el: https://github.com/emacs-mirror/emacs/blob/emacs-28/lisp/emacs-lisp.../hierarchy.el [12] shorthands.el: https://github.com/emacs-mirror/emacs/blob/emacs-28/lisp/emacs-lisp

    96830

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

    此外,Emacs 还是自文档化,意味着它能理解变量值何时发生变化、并在对应帮助缓冲区通知用户。同理,Emacs 也能反映出各类函数新值与当前状况关联。...最后,Emacs 是纯免费软件,直接提供内置工具及所有已安装包完整源代码。如此一来,文档显示内容就和实际程序执行内容融合了起来,毫无隔阂滞碍。...捕捉当前电子邮件内容并据此生成待办事项。任务还可包含一条返回原始消息链接,并能够在议程当中显示相应预定日期与截止日期。 在 Dired 中标记某些文件,再将它们添加到正在撰写电子邮件当中。...前者体现在代码库遵循许可上,后者则体现在代码库自身内容——即整个使用感受,以及代码库如何与特定环境其他程序或工作流程相匹配。我觉得软件自由这个议题特别有意思,值得深入发掘。...Emacs 则可以实时评估代码,而且开放完整源代码及相关说明文档。正是有了这样开放性,我才能了解如何定义函数,再通过反复试验编写出人生第一条自定义 Elisp。

    38030

    Emacs Tree-sitter 初体验

    Emacs ,之前都是采用正则方式去解析语言语法结构,这种方式虽然大多数情况是没有问题,但主要有以下几个问题: 正则比较消耗 CPU,导致对大文件进行高亮时容易导致 Emacs 卡主,参见:...Regexp Problems (GNU Emacs Lisp Reference Manual)[2] 对于有些语法结构,正则并不能很好工作,参见:The true power of regular.../releases Emacs 默认从 treesit-extra-load-path 指定路径去加载动态链接库,如果这个值是 nil ,它默认会从 user-emacs-directory 下 tree-sitter...一般来说,语言和动态链接库名字都是一一对应,比如 c 对应 libtree-sitter-c.dylib (Linux 下后缀为 so),所以需要对解压后内容进行重命名,下面的命令供参考(依赖 fd...,需要开启 Emacs 对应 mode 来使用,比如 c-mode 对应 c-ts-mode ,Emacs 为不同语言重新实现了一个以 ts-mode 结尾新 mode,在 29 版本,主要有如下

    1.3K10

    一名ClojurianEmacs配置

    这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程痴迷,我选择了基于JVMClojure作为自己偏好语言,而emacs天生为lisp而生。..."http://melpa.org/packages/")点号(dot)表示法也比较奇怪,其实这是lispDotted pair表示法,用法和普通列表类似,但因为是pair缘故,你可以使用(...按照惯例,我在~/.emacs.d目录下建立一个lisp目录用于存放所有自定义模块文件,随后在init.el中加入下面这句代码,意在把lisp目录加到emacs加载路径列表里。...(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory)) 看似,接下来就可以在每个独立模块文件编写各种功能配置...clojure mode 接下来,我们在~/.emacs.d/lisp目录下新建一个init-clojure.el文件,内容如下: (require 'clj-refactor) (require 'rainbow-delimiters

    2.8K20

    OpenCV如何正确给文字区域加上底色

    ,但是这个可视化显示,OpenCV可以做非常好,给人很直观感觉。...图示如下: 如何生成这种显示 OpenCV中有个获取字体跟文本宽高函数,调用该函数可以获取 Size cv::getTextSize( const String &...返回参数类型是cv::Szie文本区域宽度与长度,有这个就可以根据它完成在文本框上方文字底色矩形区域绘制,然后在把相关文本通过putText绘制完成,这样就实现了如下图中显示效果 相关代码显示如下...thickness = 1;float fontScale = 0.5;int baseline = 0;Scalar color(140, 199, 0); 使用cv::getTextSize获取文本区域大小并绘制底色矩形..., fontScale, Scalar(255, 0, 255), thickness, 8); Pytho部分得代码,同样是分为两个部分,实现如下: # 动态合理显示文本区域

    2.6K40

    Excel技巧:Excel如何统计选定区域内单元格内容个数?

    继续解答Q群小伙伴问题:Excel如何统计选定区域内单元格内容个数? 问题:Excel如何统计选定区域内单元格内容个数? 解答:利用counta函数搞定。...估计一听说函数,不太会用头都晕,是不是很复杂。其实Excel某些函数比进行数据整理操作还简单。Counta函数就是其中一个。 具体操作如下:假设要统计C2:J25区域中,牛闪闪个数。...比如下例中区域内有300,500,60等这样数值,应该如何统计呢?这个时候需要用过到count函数。输入方法和counta函数一样。看下图3处。 ?...同样单击回车键后,算出该区域有3个数值。 ? 当然,如果你说要算出剩余“牛闪闪”个数呢?那牛闪闪就不讲了,大家自己搞定吧。...总结:注意Excelcounta函数与count函数搭配使用能进行个数统计,是简单且使用频率较高函数。

    4.1K30

    Emacs 之光成长历程

    与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己配置,并陆陆续续发布了几个比较实用包,比如 valign[1],嘉宾是如何做到?...更令人好奇是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾学习、贡献经历,可以给听众打开 Emacs 源码神秘面纱,让更多用户参与到 Emacs 贡献,一个多小时分享...[2] • 00:23:58 源码贡献经历 • 00:27:32 源码贡献流程介绍 • 00:38:15 如何读懂 Emacs 源码 • 00:57:59 嘉宾第一个 Emacs patch • 01...[5] • 对 Emacs 仓库提交记录[6] • 28 版本新增 shortdoc[7],解决手册冗长,提供简洁示例代码 •正则表达式两处文档: • 只介绍如何写正则 34.3 Regular...,句号后两个空格 • 注释用是 C 风格 /* */ ,而不是 C++ // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp

    40610

    Clojure 开发那些事

    作为万里长城第一步,这篇文章首先如何入门 Clojure 语法,紧接着介绍 Clojure 开发环境搭建,然后介绍使用第三方库时一些注意点,最后介绍一下常见测试方法。...本篇文章所介绍内容都是我自己实践得出,不足之处请各位 Clojurians 指出。...使用比较简单,通过 Intellj 插件管理器安装后即可使用,第一次使用时需要设置下快捷键类型 Emacs + Cider 作为一门 Lisp 方言,怎么能没有一个好 Emacs mode 呢?...Emacs + Cider 组合相比 Intellj + Cursive 最大优势就是对宏支持,Cider 提供了对宏展开快捷键,但在 Cursive 我没找到,不过宏也是比较高级功能,初学者应用用不到...nrepl Clojure REPL 可以连接到远程服务器上进程,直接对进程函数或变量进行修改,这是非常便利,对于很多运行时错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程

    1.6K20

    通过函数调用进行字符串替换

    Emacs ,有如下几种文本替换函数: • replace-string 字面量替换 • replace-regexp[1] 正则表达式替换 静态替换是最常见,比如将 foobar 替换成 FOObar...) 需要注意一点时,在写 Lisp 代码时,转义字符需要有两个反斜线,比如 [0-9]\\{3,\\} ,这时因为: 反斜线不仅在 regexp 是特殊字符,在 lisp 这门语言中,也是特殊字符。...比如,在 Lisp 需要用 "\\" 表示一个反斜线字面量,如果直接写 [0-9]\{3,\} 那么在经过 lisp parser 后, 得到是 [0-9]{3} ,而这个正则并不是说匹配一个数字三次...这是在 Lisp 写正则比较容易出错一点,Manual 相关资料: • Syntax for Strings (GNU Emacs Lisp Reference Manual)[2] • Regexps...(GNU Emacs Manual)[3] • Regexp Backslash (GNU Emacs Manual)[4] 最后,比如有如下文本,需要把其中 unix 时间戳替换为可读时间,lisp

    6910

    Mozilla如何改进Firefox 65内容拦截

    您将获得内容如下: 新菜单显示与网站连接是否安全,并显示有关页面请求权限信息。...如果没有授予权限,您将看到一条消息读取您没有授予此站点任何特殊权限,就像上面的屏幕截图中情况一样。 只需单击此新屏幕第三部分,即可管理每个站点权限。...内容阻止部分是我们将详细讨论内容,因为它允许您在加载每个页面上阻止特定内容。此特定部分显示在每个页面上检测到可阻止内容,并允许您查看所有Cookie,包括第三方和跟踪Cookie。...要访问内容阻止部分,您可以转到设置>隐私和安全>内容拦截,或者只需单击地址栏页面信息屏幕设置选项。 您可以选择三个选项,即标准,严格和自定义。...使用相同Firefox设置屏幕可以配置“请勿跟踪”行为,默认情况下,该行为配置为在Firefox设置为阻止已知跟踪器时处理。当然,还有一些设置可以清除和管理Firefox网站数据。

    94200
    领券