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

为什么Emacs中的"goto-line"仅供交互使用?

这个问题是关于Emacs文本编辑器中的"goto-line"命令的使用限制。Emacs是一款功能强大的文本编辑器,它具有强大的扩展性和可定制性,可以通过编写Emacs Lisp代码来实现各种功能。

在Emacs中,"goto-line"命令用于快速跳转到指定行。然而,它仅供交互使用,意味着它不能在其他函数中直接调用。这是因为"goto-line"命令是通过minibuffer(Emacs的命令输入栏)与用户进行交互的,而不是作为一个可以在其他函数中调用的库函数。

这种设计是为了保持Emacs的一致性和用户体验。Emacs的交互式命令通常都是通过minibuffer与用户进行交互的,这样可以确保用户在使用Emacs时拥有一致的体验。而将"goto-line"命令设计为仅供交互使用,可以避免在其他函数中调用时出现意外的行为或错误。

如果您需要在其他函数中调用"goto-line"的功能,可以使用"goto-char"命令来实现。"goto-char"命令可以直接调用,并且可以在其他函数中使用。例如,您可以使用以下代码来跳转到指定行:

代码语言:emacs-lisp
复制
(goto-char (point-min))
(forward-line (1- line-number))

其中,line-number是您要跳转到的行号。

总之,"goto-line"命令仅供交互使用是为了保持Emacs的一致性和用户体验。如果您需要在其他函数中调用"goto-line"的功能,可以使用"goto-char"命令来实现。

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

相关·内容

shell交互read命令使用

在Shell脚本,read命令用于从标准输入读取用户输入数据,并将其保存到指定变量。这使得我们可以编写交互式Shell脚本,与用户进行交互,根据用户输入执行不同操作。...下面是一些示例,演示如何使用read命令进行交互。示例1:读取用户输入并输出#!/bin/bashecho "What's your name?"...在该示例,我们使用read命令读取用户输入名字,并将其保存到变量name。然后,我们使用echo命令输出Hello, $name!,其中$name会被替换为用户输入名字。示例2:指定提示符#!...在该示例,我们使用read命令读取用户输入名字,并使用-p选项指定了提示符"What's your name? "。然后,我们使用echo命令输出Hello, $name!...fi在该示例,我们使用read命令读取用户输入名字,并使用-t选项指定了超时时间为5秒。如果用户在5秒内输入了名字,则输出Hello, $name!

87610
  • 为什么使用 SPL SplQueue实现队列

    今天看phpSPL标准库部分里面涉及到数据结构其中有 SplQueue 来实现队列效果,但是我刚接触php时候学习到使用array array_push 和 array_pop 就可以实现队列效果啦啊...,那么说 SPL这个是不是显得很鸡肋呢??...后来进过查询资料并且实际运行一下程序后发现,其实在性能方面,使用spl数据结构比使用array模拟出来队列在性能上强很多: array数组模拟队列,处理100000任务 list($t1, $t2...float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000); echo $et - $st; 执行三次取平均值为:3900 ms 使用...floatval($t2)) * 1000); echo $et - $st; 执行三次取平均值为:117 ms 性能提升 33 倍 关于spl标准库这块,看来还要多研究研究,既然文档中有这个库,那么肯定有它独特地方

    56030

    使用 CliWrap 让C#命令行交互举重若轻

    在代码中进行命令行交互是一个很常见场景, 特别是在一些CI CD 自动化流程, 在这之前我们会使用 System.Diagnostics.Process API, 现在有一个更灵活工具 CliWarp..., 这是一个在 .NET 平台使用命令行交互工具库, 通过在C# 中使用 Fluent API, 让命令行交互举重若轻。...https://github.com/Tyrrrz/CliWrap 主要特性如下: •基于 System.Diagnostics.Process •简单, 流畅 API 设计 •灵活支持管道模式 •...安全异步并且支持 cancellation API •跨平台, 可在 Windows、Linux 和 macOS 使用 •支持 .NET Standard 2.0+、.NET Core 3.0+、.NET...除了执行命令之外,CliWrap 还支持事件流模型, 可以订阅相关事件回调。

    69420

    如何使用Selenium Python爬取动态表格复杂元素和交互操作

    本文将介绍如何使用Selenium Python爬取动态表格复杂元素和交互操作。...Selenium可以模拟用户交互操作,如点击按钮,选择选项,滚动页面等,从而获取更多数据。Selenium可以通过定位元素方法,如id,class,xpath等,来精确地获取表格数据。...我们需要爬取该表格所有数据,并保存为DataFrame格式。...获取表格所有行:使用find_elements_by_tag_name('tr')方法找到表格所有行。创建一个空列表,用于存储数据:代码创建了一个名为data空列表,用于存储爬取到数据。...通过DataFrame对象,可以方便地对网页上数据进行进一步处理和分析。结语通过本文介绍,我们了解了如何使用Selenium Python爬取动态表格复杂元素和交互操作。

    1.3K20

    协程源码原子操作为什么使用 AtomicReferenceFieldUpdater?

    概要 AtomicReferenceFieldUpdater 比 AtomicReference 用起来稍微有些麻烦,可大佬为什么更喜欢它?...SafeContinuation 开发者选择使用 AtomicReferenceFieldUpdater 来原子地更新这个成员,而没有使用更直接更便捷 AtomicReference 类作为 result...UseAtomicFieldUpdater::class.java, String::class.java, "value") } @Volatile var value = "" } 通过使用工具粗略估算这两个类实例占用内存大小...,前者约 103B,后者约 29B,对于后者来说,用以保证修改原子性 valueUpdater 是个共享对象,因此对于可能创建较多实例场景,应当考虑优先使用 AtomicReferenceFieldUpdater...而 SafeContinuation 恰好就是一个经常被创建类型,因此使用 AtomicReferenceFieldUpdater 能极大减少内存压力。 ----

    60920

    AngularJS 事件机制是什么样?如何使用它来实现交互功能?

    事件在前端开发起着关键作用,可以让应用程序响应用户交互,并执行相应操作。在本文中,我们将详细介绍 AngularJS 事件机制以及如何使用它来实现交互功能。2....以下是使用表达式和函数作为事件处理器示例:使用表达式点击我在上述代码,每次按钮被点击时,count 变量值将增加...使用控制器函数点击我在控制器定义一个名为 incrementCount() 函数,并在上述代码绑定到 ng-click...该函数会增加 $scope.count 变量值。4. 事件对象在事件处理器,可以使用特殊 $event 对象来访问引发事件元素属性和方法。这对于处理复杂交互操作非常有用。...总结AngularJS 提供了强大事件处理机制,使得我们可以轻松地响应用户交互并执行相应操作。通过合理地使用事件指令和事件处理器,可以实现丰富而灵活交互功能。

    21020

    使用 ChatGPT 与 Python 第三方应用程序进行交互

    在本文中,我们将探讨使用Python LangChain模块与ChatGPT交互以与第三方应用程序交互有趣概念。到文章末尾,您将更深入地了解如何利用这种集成,创建更复杂和高效应用程序。...在下面的示例脚本,指定代理类型是wikipedia。随后步骤涉及使用initialize_agent()方法创建代理对象。...在输出,您可以看到代理思考过程以及包含文章摘要最终结果。...例如,langchain.agents模块create_csv_agent()方法允许您创建与CSV文件交互CSV代理。让我们看一个示例。以下脚本导入包含公司员工流失信息数据集。...在下面的脚本,我们要求ChatGPT返回销售部门教育领域为医学员工总数。

    67010

    使用ScottPlot库在.NET WinForms快速实现大型数据集交互式显示

    前言 在.NET应用开发数据集交互式显示是一个非常常见功能,如需要创建折线图、柱状图、饼图、散点图等不同类型图表将数据呈现出来,帮助人们更好地理解数据、发现规律,并支持决策和沟通。...本文我们将一起来学习一下如何使用ScottPlot库在.NET WinForms快速实现大型数据集交互式显示。...ScottPlot类库介绍 ScottPlot是一个免费、开源(采用MIT许可证)强大.NET交互式绘图库,能够轻松地实现大型数据集交互式显示。...使用几行代码即可快速创建折线图、柱状图、饼图、散点图等不同类型图表。...tickGen.IntegerTicksOnly = true; //告诉我们自定义刻度生成器使用标签格式化程序 tickGen.LabelFormatter

    40310

    nextline函数_在JAVAScannernext()和nextLine()为什么不能一起使用

    不是预期 “abc cba” 和 “efg gfe” 2. nextLine 使用举例: 输入 1: 2 abc cba 结果 1: str[0] = “” str[1] = “abc” 原因:以回车...回车符 “\r” 它被丢弃在缓冲区,现在缓冲区,只有一个 \r ,于是 下一次 nextLine 扫描时候就又扫描到了 \r,返回它之前内容,也是啥都没有 “” ,然后再把 \r 去掉, 对于...这个扫描器在扫描过程判断停止依据就是“结束符”,空格,回车,tab 都算做是结束符 而坑点在于 next 系列,也就是下面这些函数:next nextInt nextDouble nextFloat...这些函数与 nextLine 连用都会有坑 坑点就是 next 系列函数返回了数据后,会把回车符留在缓冲区,因此我们下一次使用 nextLine 时候会碰到读取空字符串情况 解决方案:输入都用...实际测试,BufferReader 至少比 Scanner 输入快两倍 用 Scanner 是为了循环输入功能,也就是 hasNext() 方法功能 今天忽然想到了可以用死循环来代替,所以,还是继续使用

    2.7K10

    java反射原理,为什么使用反射以及反射使用场景(面试常问)

    java反射原理,为什么使用反射以及反射使用场景 什么是反射 反射是框架灵魂 JAVA反射机制是在运行状态,对于任意一个类,都能够知道这个类所有属性和方法;对于任意一个对象,都能够调用它任意一个方法和属性...要想解剖一个类,必须先要获取到该类字节码文件对象。而解剖使用就是Class类方法.所以先要获取到每一个字节码文件对应Class类型对象....在java获取字节文件方式有三种 任何数据类型(包括基本数据类型)都有一个“静态”class属性 Object(对象) ——> getClass(); 通过Class类静态方法:forName(...现在是不是大概明白了,为什么一开始说反射是框架灵魂。举个最简单例子,Spring注解式事务是怎么实现??...,然后通过上面例子invoke方法调用目标方法 这个过程我不需要知道你这些类或方法是干嘛,你一切与我无关 框架就是这样诞生,更多细节请看我其他博客,关于静态代理和动态代理。

    43860

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

    成为 Emacs 铁粉 这里我想聊聊自己为什么会成为 Emacs 铁粉。种种高级功能和丰富软件包当然很好,但这还不足以体现 Emacs 精髓、特别是它真正价值主张。...它其实是一套可编程平台,文本编辑只是其中主要交互点之一。 Emacs 是由 Lisp 一种方言编写而成,名为“Emacs Lisp”、也叫“Elisp”。...在评估 Elisp 时,Emacs 环境可以轻松使用与之对应返回值。无需重新启动程序,这些扩展就能实时生效,帮助用户以交互方式即刻观察效果。...因此,Emacs 得以将各种界面连通起来,而且完全不会因为上下文切换而引起任何冲突。 Emacs 最后一项优势,就是易用性和规模化使用便捷性。例如,我想用自定义代码制作本次演讲演示内容。...用户很难理解这款程序内部运作逻辑、自然看不懂它为什么会给出最终结果。结合个人经验,我觉得这就是典型名义自由——只存在于许可条款当中、在实际体验完全不见踪影“自由”,绝对不是真正自由。

    38030

    PyTorchIn-place操作是什么?为什么要避免使用这种操作?

    在这篇文章,内容包括: 描述什么是in-place操作,并演示他们如何可能有助于节省GPU内存。 告诉我们为什么要避免in-place操作或非常小心地使用它们。...这就是为什么它们可以帮助在操作高维数据时减少内存使用。 我想演示in-place操作如何帮助消耗更少GPU内存。...然而,我们在使用现场操作时应该非常谨慎,并且要反复检查。在接下来部分,我将告诉你为什么。...要小心使用in-place操作另一个原因是,它们实现非常棘手。这就是为什么我建议使用PyTorch标准in-place操作(如上面的就地ReLU),而不是手动实现。...result = input.clone() torch.sigmoid_(input) input *= result return input 这个小示例演示了为什么我们在使用

    1.3K30

    关于Spring@Async注解以及为什么不建议使用 - Java技术债务

    ,指在@Async注解在使用时,不指定线程池名称,@Async默认异步配置使用是SimpleAsyncTaskExecutor,该线程池默认来一个任务创建一个线程,若系统不断创建线程,最终会导致系统占用内存过高...defaultExecutor : new SimpleAsyncTaskExecutor()); } 为什么不建议直接使用 @Async 注解?...在泰山版《阿里巴巴开发手册》规定开发不建议使用 Async 注解,这是为什么?在实际开发,异步编程已经成为了一个必备技能。...阻塞操作:使用 Async 注解时,如果异步操作包含了阻塞操作,这可能会导致线程池中线程被阻塞,从而导致应用程序性能下降。...如果必须使用阻塞操作,应该使用 CompletableFuture supplyAsync() 方法来确保阻塞操作在一个新线程执行。

    10710

    关于 java set,get方法,而为什么不推荐直接使用public

    我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用频繁,越来越想去搜索一下这个问题,而不是按照官方推荐,前辈们使用都是建议...这里引入其中一句话: 在任何相互关系,具有关系所涉及各方都遵守边界是十分重要事情,当创建一个类库时,就建立了与客户端程序员之间关系,他们同样也是程序员,但是他们是使用类库来构建应用...如果所有的类成员对任何人都是可用,那么客户端程序员就可以对类做任何事情,而不受约束。即使你希望客户端程序员不要直接操作你某些成员,但是如果没有任何访问控制,将无法阻止此事发生。...综上所述,写到这里,我诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间逻辑更加清晰,有些标准自上而下,慢慢传了下来,无论你使用那种,但是有一个东西是无法避免...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程封闭性与安全性,private 修饰set get方法将方法封闭在了一个特定类,其他类就无法对其变量进行方法,这样就提高了数据安全性

    1.5K20

    对 Mastering Emacs作者 Mickey Petersen 采访

    Emacs 可能会让初次使用用户望而生畏。他们为什么要选择它而不是其他文本编辑器? 谢谢!我很高兴你两个都喜欢。这正是我创建该网站原因。 好吧,您是一位使用 Emacs 作家,我认为这很有趣。...一些 Emacs 用户学习它是因为这是一种“税”,他们必须支付才能在某些学术界或商业环境工作,在这些环境,它是唯一可用或广泛使用。当我们讲师挥手回答诸如“我们应该用什么来编辑 Prolog?”...但是对于我们这些不得不使用某个应用程序却发现它键盘快捷键妨碍(或完全缺失)的人来说;或者您使用那个键在某些模态对话不起作用;或者当您必须在众多工具之间执行多项任务时挫败感——我们在 Emacs...它应该巧妙地延伸到 Emacs 其他重要部分。用户范围广泛:散文作家;记笔记的人;编码员;命令行黑客;等等。Emacs 不仅具有这种交互性,而且本教程没有使用它。...为此,我编写了几行代码将 Emacs 各个部分粘合在一起。我按下一个按钮,Emacs 使用 TRAMP 连接到远程服务器并调用它需要调用程序,然后将结果显示在 Emacs 缓冲区

    73310

    Clojure 开发那些事

    这一点非常重要,估计也是为什么 Clojure 较其他 Lisp 方言更流行原因。...Intellj + Cursive 在上面语法入门部分就介绍了,Clojure 与宿主语言经常需要交互,毋庸置疑 Intellj 是 Java 开发利器,社区版足以满足需要,不用再去做找破解版那些不道德事情...使用比较简单,通过 Intellj 插件管理器安装后即可使用,第一次使用时需要设置下快捷键类型 Emacs + Cider 作为一门 Lisp 方言,怎么能没有一个好 Emacs mode 呢?...Emacs + Cider 组合相比 Intellj + Cursive 最大优势就是对宏支持,Cider 提供了对宏展开快捷键,但在 Cursive 我没找到,不过宏也是比较高级功能,初学者应用用不到...nrepl Clojure REPL 可以连接到远程服务器上进程,直接对进程函数或变量进行修改,这是非常便利,对于很多运行时错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程

    1.6K20
    领券