使用“自定义emacs”;“侧边栏”;

使用“自定义emacs”;“侧边栏”;,emacs,ide,Emacs,Ide,我正在修补将IDE切换到emacs的问题。(我还是emacs的新手。) 问题是我很好地定制了我的IDE,我很后悔把我的助手留下了 让我解释一下: 显示当前打开的文件/缓冲区,允许使用热键(C-1、C-2,…)快速切换 显示“剪贴板”上的最新文本或按完整(第4号)插入的文本,可通过热键插入的文本(C-b 1,C-b 2,…),最后插入的文本以粗体显示,可通过C插入-` 最后插入的完整(第4号)文本,可插入M-` 自动完成ish列表,通过一些神奇的逻辑从所有打开的文件中收集,无论其类型如何。可通过

我正在修补将IDE切换到emacs的问题。(我还是emacs的新手。) 问题是我很好地定制了我的IDE,我很后悔把我的助手留下了

让我解释一下:

  • 显示当前打开的文件/缓冲区,允许使用热键(C-1、C-2,…)快速切换
  • 显示“剪贴板”上的最新文本或按完整(第4号)插入的文本,可通过热键插入的文本(C-b 1,C-b 2,…),最后插入的文本以粗体显示,可通过C插入-`
  • 最后插入的完整(第4号)文本,可插入M-`
  • 自动完成ish列表,通过一些神奇的逻辑从所有打开的文件中收集,无论其类型如何。可通过热键插入的文本(M-1、M-2等)
  • 我猜emacs有这样的功能,但我是一个视觉类型,我想看看我有什么可用的。 当然,实际的热键并不重要,但正如你所看到的,所有的信息都是可见的,这使得用最少的按键就可以很容易地击中目标

    我的痛苦是,有太多的emacs扩展提供了各种特性,检查所有这些似乎需要花费一生的时间

    我的问题是:

    • 是否有任何emacs扩展来实现类似的外观和行为
    • 由于我是一名程序员,我可以将哪些扩展作为组装这样的东西的基础
    谢谢


    再详细说明一下:

    我是python开发人员,所以我编写的大部分代码都是python。向图片中添加一些HTML JS CSS XML。 重要的一点是,完成需要跨越文件类型边界,因为python/HTML(模板)/XML(配置)/doctest标识符是交叉引用的。对于某些IDE来说,完成只适用于python文件类型是一个巨大的难题

  • 我有很多相同命名的文件,但在不同的文件夹中,如init.py、configure.zcml等。按文件名在这些文件之间切换似乎很痛苦

  • 最好说这是最近插入的文本列表。以尽可能少的键重复使用。通常在编码时,我在同一个任务中重用相同的标识符/任何东西。因此,将它们列出来是很方便的,而不是必须重新键入开始的x字符才能再次完成

  • 通常,此功能的最佳使用是在更改/重构代码时。就像再添加一个额外的特性,标识符在整个位置上需要多次


  • 您的设置看起来非常像。
    至少对我来说,因为我不使用边栏:)

    你应该看看扩展。我已经安装了这个扩展,但我很少在非常大的项目中使用它。

    TL;博士 学习键盘宏。学习yasnippet。
    自动完成模式可能与您的模式类似。
    在试图改变它之前,先熟悉一下emacs杀人戒指,它想成为你的朋友。这样,当您确实想要更改时,您就知道要查找什么了


    长版本 显示当前打开的文件/缓冲区,允许使用热键(C-1、C-2,…)快速切换

    你有三个选择

  • 我个人的偏好是始终打开所有源文件。所以我不需要打开缓冲区的可视列表。每当我想切换到一个文件时,我点击
    C-=
    (我已经绑定到
    iswitchb buffer
    )并键入两个唯一的字母。经常在相同的两个缓冲区之间切换是很常见的,因此我还将
    C-backspace
    绑定到了前一个缓冲区
  • 我可以推荐的另一个选项是tabbar。它与您的设置并不完全相同,但它会显示一个打开的缓冲区列表(就像浏览器中的网页一样),并具有在选项卡之间循环的功能,因此复制C-number键绑定应该不难
  • 您可以使用speedbar或ecb。它们与您当前的视觉配置最为相似,但我认为其他选项更有效

  • 显示“剪贴板”上的最新文本或按完整(第4号)插入的最新文本,文本可通过热键插入(C-b 1,C-b 2,…),最后插入的文本以粗体显示,可通过

    我看你把剪贴板和完成历史混在一起了。当谈到emacs时,yasnippet和autocomplete非常好,您最好使用它们来完成(见下文)

    Emacs剪贴板称为压井环。我相信你知道
    C-y
    m-y
    ,所以你可以随时恢复过去切割的任何东西。不幸的是,我不知道有哪一个软件包会经常显示杀人环,或者允许你拽出它的某个特定部分(虽然写起来应该不会太难),但至少你知道要搜索什么(杀人环)


    最后插入的完整(第4号)文本,可插入M-`

    老实说,我觉得这没什么用。如果必须重复插入文本,则应学习键盘宏。事实上,无论如何你都应该学习键盘宏,它们是我迷上emacs的第一个原因


    自动完成ish列表,通过一些神奇的逻辑从所有打开的文件中收集,无论其类型如何。可通过热键插入的文本(M-1、M-2等)

    Emacs有很多很好的完成选项。在您的情况下,最好的可能是自动完成模式。它会弹出完成选项(很像你单独的完成窗口),我认为它允许快速选择一个特定的选项(像你的M号快捷键)。此外,它还有几种不同的方法来决定向您提供哪些补全(它称之为“源”),其中之一是从所有缓冲区收集

    除此之外,你还有yasnippet,我不可能充分推荐它。认真地说。学习使用它并编写自己的代码片段将改变您编写代码的方式。你将成为一个魔法师,他的手指以极快的速度在你的屏幕上产生一页页的代码使用yasnippet
    配置好后,每3或4个键