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

为什么我的emacs comint缓冲区有时似乎共享相同的历史记录?

Emacs是一款功能强大的文本编辑器,comint缓冲区是用于与外部进程进行交互的一个特殊缓冲区。当你在comint缓冲区中执行命令时,Emacs会将这些命令的历史记录保存起来,以便你可以方便地进行查看和重复执行。

在某些情况下,你可能会发现不同的comint缓冲区似乎共享相同的历史记录。这是因为Emacs默认情况下会将所有comint缓冲区的历史记录保存在同一个地方,即comint-input-ring-file-name所指定的文件中。这样做的好处是可以方便地在不同的comint缓冲区之间共享历史记录。

如果你希望每个comint缓冲区都有独立的历史记录,你可以通过设置comint-input-ring-file-name变量来指定不同的文件名,例如:

代码语言:emacs-lisp
复制
(setq comint-input-ring-file-name "~/.emacs.d/comint-history")

这样每个comint缓冲区就会将历史记录保存在不同的文件中,从而实现独立的历史记录。

另外,如果你希望禁用历史记录功能,可以将comint-input-ring-file-name设置为nil,例如:

代码语言:emacs-lisp
复制
(setq comint-input-ring-file-name nil)

这样就不会保存任何历史记录了。

总结起来,comint缓冲区有时似乎共享相同的历史记录是因为Emacs默认将所有comint缓冲区的历史记录保存在同一个文件中。你可以通过设置comint-input-ring-file-name变量来实现每个comint缓冲区独立的历史记录,或者将其设置为nil来禁用历史记录功能。

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

相关·内容

对 Mastering Emacs作者 Mickey Petersen 的采访

它具有几乎所有你能想到的语言的语法高亮显示,虽然我不知道一些更明显的功能(comint、shell 等),但我至少拥有一个能够在所有主要平台上运行的工具,并且具有一致的经验。...Emacs 可能会让初次使用的用户望而生畏。他们为什么要选择它而不是其他文本编辑器? 谢谢!我很高兴你两个都喜欢。这正是我创建该网站的原因。 好吧,您是一位使用 Emacs 的作家,我认为这很有趣。...当我还是新人的时候,我也成了那个建议的受害者。这是个糟糕的建议。为什么要隐藏有助于您学习和探索的东西?...为此,我编写了几行代码将 Emacs 的各个部分粘合在一起。我按下一个按钮,Emacs 使用 TRAMP 连接到远程服务器并调用它需要调用的程序,然后将结果显示在 Emacs 缓冲区中。...我还将 IDO 用于文件和缓冲区,将 Selectrum 用于通用完成。 除了 Emacs,您还使用什么工具和装备(硬件、软件或想到的任何其他东西)?

79610

用了VS Code、IDEA等十几款编辑器后,我总结出优秀编辑器的特质

为什么不使用 Web 技术: 在计算机上编辑内容与 Web 技术无关。...junegunn/fzf.vim 如果你只想安装 一个 插件,那留下来的肯定是它。它有许多功能:打开文件、git 文件、缓冲区、rip-grepping、搜索历史记录、命令、颜色方案等等。...大家似乎都很喜欢 VS Code,我也能感同身受。它的 UI 流畅、快速——要知道这可是基于 Web 的编辑器。LSP 支持显然是很专业而完美的。它有很多社区插件、主题和集成。...emacs/DOOM emacs 的缺点 浏览大量代码时会出现卡顿,有时让人感到很不爽,特别是当你习惯用 vim/neovim 的话。...我很喜欢这样做,但到头来……为什么 emacs 不从一开始就设置好这些默认值呢?这是出于历史原因,然后现在没有人在乎吗? 8 atom 最后来谈 GitHub 的编辑器 atom。

1.8K10
  • 10 个让你进入 Emacs 世界的技巧

    我很同情这一点,因为我对 Emacs 的感觉就是这样。我以为真正的 Emacs 用户都只会在终端里面运行,从来不用方向键和菜单,更不会用鼠标。这是个阻止自己开始使用 Emacs 的好办法。...习惯术语 Emacs 的 UI 元素有着特殊的术语。个人计算的发展并不是建立在相同的术语上,所以很多术语对现代计算机用户来说比较陌生,还有一些术语虽然相同,但含义不同。下面是一些最常见的术语。...在 Emacs 中,“框架”就是现代计算机所说的“窗口”。 缓冲区(Buffer):“缓冲区”是 Emacs 的一个通信通道。...所有的函数都可以从迷你缓冲区(Emacs 框架底部的命令行)执行。...image.png 俄罗斯方块也是我最初接触 Emacs 的方式,所以在该游戏的所有版本中,Emacs 版本才是我真正的最爱。

    82220

    【Rust日报】2023-10-10 使用 Cackle 抵御 Rust 供应链攻击

    在这个过程中,我发现需要用某种方法来表示缓冲区的文本。最简单的方法是使用大型字符串或行数组。然而,随着文本大小或行长的增加,这些方法的性能都很差。...GNU Emacs 曾以使用间隙缓冲区(gap buffer)来表示可编辑文本而闻名。甚至在维基百科的词条中也提到了它的名字。间隙缓冲区的优点是允许快速本地编辑,而且设计相当简单。...删除则执行相反的操作,扩大间隙。有了这个简单的机制,就可以有效地表示可编辑文本。 我认为间隙缓冲区类似于更一般的数据结构——"数组"。...间隙缓冲区只是一个针对在"光标"处插入而进行优化的数组,而不是在末尾插入。在许多十年中,使用间隙缓冲区为Emacs提供了良好的服务。 尽管如此,在现代世界中,Emacs似乎在选择上相对独行。...但我想亲自看看间隙缓冲区与这些更"高级"的数据结构相比如何。现代计算机可以非常快速地在线性内存上操作。因此,我构建了一个间隙缓冲区,并与其他竞争者进行了比较。

    16610

    史上最轻量的 IDE……

    程序员的成长之路 互联网/程序员/技术/资料共享 阅读本文大概需要 8 分钟。...但我偶然发现自己在旧编辑器之战中坚定地站在 Emacs 一边,正如我们将看到的那样。我想,有一天,我可能会跳到另一边去看看,但那一天并不会很快到来。 可能有人会问:为什么不是 VS Code?...这就是为什么我目前正尝试重新使用 Emacs。 可能你不了解 Emacs,这是一款与 Vim 一样具有传奇色彩的文本编辑器,但是它所能做的事情要多得多。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...但就目前而言,它似乎是我除专业用途外的最佳选择。我真的很高兴它的存在。

    33410

    史上最轻量的 IDE……

    程序员的成长之路 互联网/程序员/技术/资料共享 阅读本文大概需要 8 分钟。...但我偶然发现自己在旧编辑器之战中坚定地站在 Emacs 一边,正如我们将看到的那样。我想,有一天,我可能会跳到另一边去看看,但那一天并不会很快到来。 可能有人会问:为什么不是 VS Code?...这就是为什么我目前正尝试重新使用 Emacs。 可能你不了解 Emacs,这是一款与 Vim 一样具有传奇色彩的文本编辑器,但是它所能做的事情要多得多。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...但就目前而言,它似乎是我除专业用途外的最佳选择。我真的很高兴它的存在。

    40310

    我的 IDE 太重了,所以迁到了 Emacs

    例如,我在 Java、Groovy 和 Dart(这些是我最近写得最多的编程语言)中遇到了或多或少相同的问题。我还注意到,在我使用 Kotlin 和 Java 的项目中,情况明显更糟。...但我偶然发现自己在旧编辑器之战中坚定地站在 Emacs 一边,正如我们将看到的那样。我想,有一天,我可能会跳到另一边去看看,但那一天并不会很快到来。 可能有人会问:为什么不是 VS Code?...这就是为什么我目前正尝试重新使用 Emacs。 可能你不了解 Emacs,这是一款与 Vim 一样具有传奇色彩的文本编辑器,但是它所能做的事情要多得多。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...但就目前而言,它似乎是我除专业用途外的最佳选择。我真的很高兴它的存在。

    1.1K10

    Emacs 29快到了!我们能期待什么

    除了 Elisp 开发,我编写的大部分代码现在都是在 LSP 服务器的帮助下完成的,它与 Emacs 一起运行并分析我的代码,为我建议和执行更改和操作。...我必须承认我并不真正了解 Eglot,我个人使用 LSP 模式,但是随着 Emacs 核心的添加,我可能会尝试切换。...在我的例子中,当缓冲区的内容更新时,我有时会看到一些幻影文本(尽管我仍然需要纯 GTK,因为我在 Xorg 和 Wayland 之间交替)。...更好的鼠标和触摸板支持 Emacs 现在使用 XInput 2,它使 Emacs 能够支持更多的输入事件,例如触摸板事件。例如,默认情况下,触摸板上的捏合手势会增大或减小当前缓冲区的文本大小。...现在说还为时过早,大多数合并到 master 中的稳定功能都去了 Emacs 29,而且只有feature/pkg和feature/improved-lock-narrowing分支似乎在写这篇文章的前一周不到收到提交

    2.6K20

    Windows 11和vscode终端美化

    ,如果不使用Nerd Font的话,后面设置了终端的主题后会乱码 这里我以Hasklig字体为例,下载链接。...它提供: 语法着色简单语法错误通知良好的多线体验(编辑和历史)可定制的键绑定Cmd 和 emacs 模式(都没有完全实现,但都可以使用)许多配置选项Bash 样式完成(在 Cmd 模式下可选,在 Emacs...模式下默认)Bash/zsh 风格的交互式历史搜索 (CTRL-R)Emacs yank/kill ring基于 PowerShell 令牌的“单词”移动和杀死撤销重做自动保存历史记录,包括跨实时会话共享历史记录通过...DownArrow -Function HistorySearchForward # 设置向下键为前向搜索历史纪录复制代码保存后,关闭Windows Terminal后再重新打开,验证配置是否生效安装时遇到的问题为什么不是执行...其实开始的时候我是用这条命令来安装的,是根据 @i树 兄弟提供的链接来的, 但是报错了 然后我去看了下github的安装文档找到了原因。

    3.3K30

    进程间通讯(一).pipe

    ( shared memory ) 套接字 ( socket ) 这里分享一下我在学习进程通讯过程中的笔记和心得 ---- 概要 ---- IPC 方式的区别 管道( pipe ):管道是一种半双工的通信方式...消息队列( message queue ) : 消息队列是消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。...共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。...共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。...@ubuntu:~/c$ 编译执行过程中没有报错,从结果来看,符合预期 Note: 有时子进程的输出中显示父进程为1,原因是父进程先于子进程退出,这样子进程就变成了孤儿进程,孤儿进程会被init进程收养

    72630

    谁动了我的Linux?原来history这么强大!

    大家好,我是肖邦,这是我的第 15 篇原创文章。 当我们频繁使用 Linux 命令行时,有效地使用历史记录,可以大大提高工作效率。...当 Linux 系统启动一个 Shell 时,Shell 会从 .bash_history 文件中,读取历史记录,存储在相应内存的缓冲区中。 我们平时所操作的 Linux 命令,都会记录在缓冲区中。...4 cat .bash_history 5 history 6 bash 有时候我不需要显示所有的历史命令,只显示最后的 10 条历史记录,可以在命令后加数字 N 即可 $ history...如果你想主动保存缓冲区的历史记录,执行 -w 选项即可 $ history -w 当然,如果你执行了一些敏感的命令操作,可以执行 -c 将缓冲区内容直接删除 $ history -c (二)重复执行命令...有时,为了方便管理和备份,需要更改历史记录文件的路径和名称。

    1.7K30

    VS Code 正在统治代码编辑器领地!

    出品:CSDN(ID:CSDNnews) 【CSDN编者按】代码编辑器之于程序员的重要性不言而喻。长久以来,Vim、Emacs等老牌编辑器一直占据着举足轻重的地位,但是近年来情况似乎发生了变化。...为了更好地了解这一点,我用相同的数据绘制了随着时间的推移产生的变化: ? 结果发现,VS Code正在抢占其他人的份额!...我不能真正说出其中的因果关系,但似乎语言(Java,C#)和IDE(Eclipse,Visual Studio)都与面试中较低的通过率有关联。...我不知道为什么! 上述图表中的另一个发现是VS Code和Sublime之间的区别。...所以我们可以肯定的是它在初级工程师中更受欢迎。你还可以看到经验丰富的工程师更喜欢使用Vim和Emacs。这似乎是合理的,这确实是Vim和Emacs用户在我们的访谈中具有如此高通过率的主要原因。

    1K80

    vim 从嫌弃到依赖(14)——快速跳转

    vim中也提供了类似的功能,vim会记录我们每一次的跳转,可以通过相关命令来跳转到上一次跳转和下一次跳转的位置。 我们先介绍什么是跳转。跳转似乎很容易理解,似乎光标每次的移动都算是一次跳转。...在nvim-config 中随意打开一个文件,然后使用edit 打开另一个,接着就可以使用 和 在两个文件中切换了 我们再来联想一下浏览器中的历史记录,我们发现有时候访问同一个页面的不同位置可能会产生多条历史记录...我个人的理解是一次移动有能力移动至少半屏,而像50j 之类的虽然也可以移动50行,也达到半屏以上,但是前面加数字表示的是重复,它是重复了多次,并不算一次移动。...我们使用 split 或者 vsplit 再打开一个新的窗口,然后在两个窗口中分别使用:jumps 发现二者并不相同。vim可以维护多套跳转列表,每个窗口都有自己的一套独立的跳转列表。...那个时候说到使用小写字母设置标记,小伙伴们可能会产生疑惑,那大些字母去哪了呢,为什么只能使用小写字母,而大写字母被空着呢?文章写到这里了,我可以告诉大家,大写字母被用到了全局书签里面。

    99820

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

    以下内容节选自在 Prot 在 LibrePlanet 2022 会议上的演讲,他分享了自己为什么选择 Emacs 以及对于自由软件的体会和理解,希望能为读者带来启发。...成为 Emacs 的铁粉 这里我想聊聊自己为什么会成为 Emacs 的铁粉。种种高级功能和丰富的软件包当然很好,但这还不足以体现 Emacs 的精髓、特别是它真正的价值主张。...此外,Emacs 还是自文档化的,意味着它能理解变量的值何时发生变化、并在对应的帮助缓冲区中通知用户。同理,Emacs 也能反映出各类函数的新值与当前状况的关联。...而在 Emacs 当中,每个新的功能包都会自动获取其他包内的已有内容,例如相同的字体配置和主题、通用的操作和交互模式等等。以此为基础,我们就能极大加快工作流的推进速度。...用户很难理解这款程序的内部运作逻辑、自然看不懂它为什么会给出最终结果。结合个人经验,我觉得这就是典型的名义自由——只存在于许可条款当中、在实际体验中完全不见踪影的“自由”,绝对不是真正的自由。

    38130

    linux之文本编辑器

    大家好,又见面了,我是你们的朋友全栈君。 目标】 管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的改动,使程序对用户提供不同的服务效果。...4.3.4 vi 三种模式的切换 vi在编辑中,有时需要输入,有时需要移动光标,最后是保存、退出,这些操作是在三种模式下执行各自的功能,所以三种模式下的切换方法也是需要掌握的基本功。...完成这一操作的命令是: p 小写字母 p,将缓冲区的内容粘贴到光标的后面 P 大写字母 P,将缓冲区的内容粘贴到光标的前面 如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文...有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是: yy 复制当前行到内存缓冲区。...set incsearch 查找时,我们输入第一个字符时,vim光标就会自动定位到下面第一个与所查字符相同的字符上,输入第二个字符,光标就会定位到下一个与这两个字符相同的字符位置上,依次类推。

    2.2K20

    在 shell 中使用 vi 模式

    今天我在这里会为你介绍 shell 中的 vi 模式。 在计算和操作系统的庞大生态系统中有很多 shell。...没接触过的人和新手可能没有意识到 bash shell 的默认输入模式是 Emacs 模式,也就是说命令行中所用的行编辑功能都将使用 Emacs 风格的“键盘快捷键”。...使用复杂的快捷键组合并记住可能看起来很愚蠢,但是在使用较长的命令或从 shell 历史记录中调用一个命令并想再次编辑执行时,它们可能会非常强大。...尽管 Emacs 的键盘绑定都不错,如果你对 Emacs 编辑器熟悉或者发现它们很容易使用也不错,但是仍有一些人觉得 “vi 风格”的键盘绑定更舒服,因为他们经常使用 vi 编辑器(通常是 vim 或...(有关 vi 模式的更多信息,请参阅这里。): 现在,对于 vi/vim/nvim 用户来说,你会惊喜地发现你可以一直使用相同的快捷键,而不仅仅是在编辑器中编写代码或文档的时候。

    1.4K70

    Ghostty:哪个终端应用更符合你的开发需求?

    另一方面,Ghostty的设计目标是开箱即用。这篇文章是对这两个终端在其各自环境下的初步介绍。 为什么选择终端?...当我将Warp描述为“重量级”时,这仅仅从我的MacBook上应用程序的大小差异就可以看出(300MB vs 50MB): 开发人员之间似乎存在着文化差异:一些开发人员几乎“生活”在他们的终端中——购买他们喜欢的字体...在Warp中,在几个标签中工作后,我可以命名并保存配置,或启动已命名的配置: 如果我随后退出Warp,重新打开并启动,我将获得窗口和标签——此外,我还拥有可帮助我记住正在做什么的历史记录。...有趣的是,我拥有与Warp相同的会话历史记录。...我认为omz_history管理着这种共享历史记录行为: 目前,你无法更改Ghostty中标签的颜色,这是一种区分正在进行的进程的好方法——我肯定在其他终端中使用过这种方法。

    9900

    标准IO (一).fopen

    都抽象为 文件,所以在 UNIX/Linux 系统中 一切皆文件 一切皆文件 不仅仅对磁盘,还包括鼠标,键盘,显示器这些设备,那么对这些设备的操作也都抽象成了对 文件的I/O操作 这里分享一下我在学习...,很多其它操作系统都实现了标准I/O库,所以这个库由ISO C标准说明 (# include 中包含了标准I/O库) 标准I/O库处理很多细节,如缓冲区分配,以优化的块长度执行I/O...,这样可以有效避免缓存未刷新的潜在隐患 编译执行 emacs@ubuntu:~/c$ alias gtc alias gtc='gcc -Wall -g -o' emacs@ubuntu:~/c$ gtc.../openfile.x 1021 emacs@ubuntu:~/c$ 为什么是 1021 呢,默认系统中是可以打开 1024 个文件的 emacs@ubuntu:~/c$ ulimit -n 1024...emacs@ubuntu:~/c$ 从0开始最大文件描述符就是1023,然而 0、1、2 分别已经被 标准输入,标准输出,标准错误输出 占据了,所以剩下的还有 1021 个可用资源 原文地址

    89730

    对 CIDER, Projectile, Prelude 作者 Bozhidar Batsov 的采访

    在此之前,我使用 LastPass 很长时间了。 我的电子邮件由Fastmail提供支持。我在我的博客上写了几篇关于我为什么喜欢它的文章。 我的博客都由Jekyll提供支持。...:-) 我也很幸运在我的下一份工作中与一些非常忠诚的 Emacs 大师一起工作,他们巩固了我对 Lisps 和 Emacs 的热爱。...我记得最初设置 Emacs 时我真的很费力,所以像 Prelude 这样的东西会对我有很大帮助。我想很多人对 Emacs 很好奇,但没有时间深入学习,他们会从 Prelude 中获益良多。...为什么今天人们更喜欢使用 Emacs,而不是像 VSCode 或 Sublime Text 这样的东西? 我已经多次深入回答过这个问题。...人们可以很容易地看出我是如何经历大量 OSS 活动和几乎没有活动的循环的。有时我也会从工作中休息更长的时间。 你创造的一些你最喜欢的东西是什么?

    65120

    大教堂与集市(上)

    市集模式似乎是可行的,并且运作得很好,这个事实带来了相当的震憾。...当以我的方法去认知时,我除了努力做好个人的专案,并也试着去了解为什么在Linux的世界,不但没有因为浑沌不清而四分五裂,反而以教堂建造者几乎想像不到的速度在茁壮。...在 UNIX 的世界中,原始代码共享的传统让我们可以很容易地重覆利用代码,这也是为什么 GNU 专案要选择 UNIX 作为它发展的平台,UNIX 操作系统本身几乎没做什么保留,Linux 的世界也遵行着这个传统...也许「Linus法则」并不是一个惊奇,社会学家多年前发现到在一群素质相同的观察家中,他们共同做出的预测要比其中任一位单独所做的要来得可信。这被称为「Delphi[5]效应」。...,因为这些不同,「Delphi效应」似乎真的有作用了,在个别情况下的除错工作,也因这些不同而减少重复出力的可能。

    72010
    领券