代码之家  ›  专栏  ›  技术社区  ›  sud03r

带Emacs提示的GDB

  •  4
  • sud03r  · 技术社区  · 14 年前

    我最近转向了gdb emacs集成,它很酷,因为您不再需要每次都列出源代码,尽管我错过了一些功能,或者可能我不知道如何做?

    我在命令行模式下使用emacs emacs -nw 因为我不喜欢离开控制台。

    1. 当我执行命令时,说 c1 在gdb下,然后想要重新执行它,我想我可以使用 up-arrow 关键。相反,这需要我。在Emacs X-Window模式下,可以通过 ctrl+up-arrow . 但在这种情况下不是。

    2. 显示源代码的部分恰好是可编辑的,我不想这样,可以吗?

    3. 如何在两个拆分部分之间切换?

    我通常使用 vi ,因此这些对我来说并不像对Emacs用户那样直观;)。

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  7
  •   Jérôme Radix    14 年前

    1/现在当我执行命令时,说c1 在gdb下,然后希望重新执行 我想我可以访问我以前的 命令使用向上箭头键。 相反,这需要我。在EMACS中 X窗口模式,可以通过 CTRL+向上箭头。但在这种情况下不是。

    在我的情况下,使用 CUP 即使在启动Emacs时 -nw . 可能您在Emacs级别或终端级别的键绑定有问题。做 C-H K CUP 检查C-UP是否真的与同时按下控制键和向上键相关。

    2/显示源代码的部分恰好是可编辑的,i 不想这样,可以吗?

    转到包含源代码的窗口,使用 C-X o . 然后,可以通过按使缓冲区为只读 C-X C-Q .

    3/如何在两个拆分部分之间切换?

    如果您的意思是“窗口”,您可以使用 C-X o . 或者,您可以通过在.emacs中添加以下行来使用windmove:

    (windmove-default-keybindings)
    

    然后,您可以使用 S右 S-左 自升式向上 S-向下

        2
  •  1
  •   Javier    14 年前

    当我执行命令时,说c1 在gdb下,然后希望重新执行 我想我可以访问我以前的 命令使用向上箭头键。 相反,这需要我。在EMACS中 X窗口模式,可以通过 CTRL+向上箭头。但在本例中不是。ctrl+上箭头。但在这种情况下不是。

    尝试alt-p和alt-n循环使用已插入的命令。希望它对您有用:)一个alt-p将返回您最后键入的命令。这不仅在gdb模式中使用,而且在emacs中的很多地方都使用,而且它应该在大多数控制台配置中工作,即使在那些ctrl-up不工作的配置中也是如此。例如,如果按alt-x编写命令(如 GDB ,可以按alt-p重新键入上次使用alt-x时输入的命令。

    显示源代码的部分恰好是可编辑的,i 不想这样,可以吗?不想这样,可以吗?

    自动地?据我所知(但我不是Emacs专家),很少有事情。在Emacs中有 钩子 或者Lisp函数,在某些情况下可以定义为被调用。例如,C模式有一个钩子,当使用C模式时(如果不熟悉模式,则打开.c文件时)将调用该钩子,并且可以在那里自定义C编程设置(如要使用的缩进类型)。不幸的是,在与gdb相关的模式(称为gud)中没有很多钩子,并且该模式中的钩子都不适合您。当一个文件被访问(打开时)时有一个通用的钩子,但它是非常通用的。

    手动,由J_)R_´Me提供的回复将有效。

    为我的糟糕英语道歉。