GDB с советами по emacs - PullRequest
       10

GDB с советами по emacs

4 голосов
/ 16 сентября 2010

Я недавно перешел на интеграцию с gdb-emacs, и это здорово, так как вам больше не нужен список исходного кода каждый раз, хотя я скучаю по нескольким функциям или, может быть, я не знаю, как их сделать?

Я использую emacs в режиме командной строки emacs -nw, так как мне не нравится быть вдали от консоли.

  1. Теперь, когда я выполняю какую-то команду, скажем c1 под GDB, а затем хочу выполнить ее повторно, я думаю, что могу получить доступ к моей предыдущей команде с помощью клавиши up-arrow. Вместо этого это поднимает меня. В режиме emacs x-window это можно сделать с помощью ctrl+up-arrow. но не в этом случае.

  2. Раздел, в котором отображается исходный код, оказывается редактируемым, я не хочу, чтобы это было так, могу ли я?

  3. Как переключаться между двумя секциями?

Я обычно использую vi, так что они не интуитивны для меня, как для пользователей emacs;).

Thx.

Ответы [ 2 ]

7 голосов
/ 16 сентября 2010

1 / Теперь, когда я выполняю какую-то команду, скажем, c1 в gdb, а затем хочу ее повторно выполнить, я думаю, что могу получить доступ к моей предыдущей команде, используя клавишу со стрелкой вверх.Вместо этого это поднимает меня.В режиме emacs x-window это можно сделать с помощью ctrl + стрелка вверх.но не в этом случае.

В моем случае он работает с использованием C-up даже при запуске emacs с -nw.Возможно, у вас есть проблема с вашими сочетаниями клавиш на уровне emacs или на уровне терминала.Выполните Ch k C-up , чтобы проверить, действительно ли C-up связан с одновременным нажатием клавиши управления и клавиши вверх.

2 / Раздел, в котором отображается исходный код, оказывается редактируемым, я не хочу, чтобы это было так, могу ли я?

Перейти к окну, содержащему исходный код, используя Cx o .Затем вы можете сделать буфер доступным только для чтения, нажав Cx Cq .

3 / Как переключаться между двумя разделенными секциями?

Если вы имеете в виду «окно», вы можете изменить текущее активное окно графического интерфейса GDB, используя Cx o .Или вы можете использовать windmove, добавив следующую строку в ваш .emacs:

(windmove-default-keybindings)

Затем вы можете перемещать точку между окнами, используя S-right S-left S-up и S-down

1 голос
/ 18 сентября 2010

Теперь, когда я выполню какую-нибудь команду, скажем c1 под GDB, а затем хотите повторно выполнить это, я думаю, я могу получить доступ к моей предыдущей Команда с помощью клавиши со стрелкой вверх. Вместо этого это поднимает меня. В Emacs Режим X-Window, это может быть сделано с помощью Ctrl + стрелка вверх. но не в этом случае .ctrl + стрелка вверх. но не в этом случае.

Попробуйте Alt-P и Alt-N, чтобы прокрутить команды, которые вы уже вставили. Надеюсь, это сработает для вас :) Один-единственный Alt-P должен вернуть вам последнюю введенную вами команду. Это используется не только в режиме GDB, но и во многих местах в emacs, и оно должно работать в большинстве конфигураций консоли, даже в тех, в которых ctrl-up не работает. Например, если вы нажимаете Alt-X, чтобы написать команду (например, gdb ), вы можете нажать Alt-P, чтобы повторно ввести команду, которую вы вводили в последний раз, когда вы использовали Alt-X.

Раздел, в котором отображается исходный код, оказывается редактируемым, я не хочу, чтобы это было так, могу ли я? не хочу, чтобы это было так, могу ли я?

Автоматически? Насколько я знаю (но я не эксперт по emacs), очень мало вещей. В emacs есть hooks или функции lisp, которые вы можете определить для вызова при некоторых обстоятельствах. Например, есть ловушка для C-режима, которая будет вызываться, когда используется c-режим (когда вы открываете файл .c, если вы не знакомы с режимами), и вы можете настроить параметры своего C-программирования. там (как тип отступа, который вы хотите использовать). К сожалению, в режиме, связанном с GDB, не так много ловушек (называемых GUD), и ни одна из ловушек в этом режиме не будет работать для вас. Существует универсальная ловушка для того, когда файл посещается (когда он открыт), но он довольно универсален.

Вручную ответ, любезно предоставленный Жеромом, сработает.

Извиняюсь за мой довольно плохой английский.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...