首页
学习
活动
专区
工具
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,您还使用什么工具和装备(硬件、软件或想到任何其他东西)?

70510

用了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 版本才是真正最爱。

79420

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

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

14010

史上最轻量 IDE……

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

22810

史上最轻量 IDE……

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

26210

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.5K20

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安装文档找到了原因。

2.7K30

进程间通讯(一).pipe

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

68330

谁动了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.6K30

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

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

95580

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

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

83320

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

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

36130

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.3K70

标准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 个可用资源 原文地址

86630

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

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

60820

大教堂与集市(上)

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

69210

文件IO (一).非缓冲IO实现mycopy

《标准I/O (一)》 ,类Unix系统中除了 标准I/O 还有 文件I/O,可以完成相同工作,关于C语言API(linux)可以参看 Linux C API 参考手册 在线文档 这里分享一下在学习...,缓冲区由开发者自己来定义和管理 Tip: 文件I/O 并不是ISO C组成部分,而 标准I/O 属于ISO C组成部分 ---- 文件IO库常用函数 下面是一些 文件IO库中常用函数 int...虽然程序退出后,系统会帮忙清理,但在程序设计中,打开文件,使用完后进行手动关闭是一种很好习惯,这样可以有效避免缓存未刷新潜在隐患,也可以更加节约资源 编译执行 emacs@ubuntu:~/c$ alias.../emacs/file/a.png 88K /home/emacs/file/a.png emacs@ubuntu:~/c$ du -sh /home/emacs/file/b.png du: 无法访问.../emacs/file/b.png emacs@ubuntu:~/c$ diff /home/emacs/file/a.png /home/emacs/file/b.png emacs@ubuntu:

48230
领券