终端下的程序能做到在Emacs中完美集成吗

如题, 终端下的程序能做到在Emacs中完美集成吗?


我最近在尝试将我之前用Vim时所积累的各种终端应用(诸如fzf lazygit ranger)集合进Emacs ,可我尝试了许多插件都无法达到这种目的。

  1. fzf.el 未发现预览文件和搜索隐藏文件的方法
  2. ranger.el 未发现美化的方法
  3. 它们都是在Emacs下重新实现了一遍应用,可我想要的是我已经配置好的终端应用 …

有没有一种简单快速的方法,可以将 用户终端下已有的、配置好的应用 集成到Emacs中?

(小声bb:肯定会有,我大Emacs无所不能)

恳切发问

1 个赞

用libvterm?

通过终端中介来使用总有一种奇怪的感觉,能不能通过达到像 fzf.vim 那样直接使用的状态

想都不要想了!!!

1 个赞

可以讲一下原因吗

或许可以试试 counsel-fzf

我以前也想让Emacs兼容我的终端设置。后来发现这是舍近求远。

2 个赞

解释一下为什么说舍近求远。 最终让我放弃在Emacs中使用 fzf/ranger 的原因是:

  • fzf 的功能性和拓展性远不如 Emacs 生态里的各大搜索框架。比如,如何让 fzf 支持拼音简写?

  • ranger/lf/vifm 这类终端文件管理器不能原生显示图片。(ueberzug 非常不容易配置,而且非常容易出错。用过很久后放弃了)

  • 我需要先开个 vterm 或者提前为每个终端程序写个wrapper。

最核心的问题在于,Emacs 不是终端,它有自己的工作方式。 试图在 Emacs 中复制终端的体验有点类似于在 Linux 中用 wine 还原 Windows 的体验,不是不能用,只是本不该这样。

  1. fzf.el 未发现预览文件和搜索隐藏文件的方法

基于你提到的这一点 在 dirvish + fd-dired 中可以这样实现 Peek 2022-01-22 21-07

又或者可以通过 dirvish-peek-mode 为所有文件搜索命令提供预览 (图中以 project-find-file 为例)

Peek 2022-01-22 21-12 个人观点: 在 Emacs 中重新实现某某终端应用 (x) 用 Emacs 的方式 (更好地) 实现同样的功能 (✓)

4 个赞