3

Когда я использую

M-x gdb 

когда в emacs открыто множество исходных файлов, каталог по умолчанию в emacs часто отличается от каталога моей рабочей копии для запуска файла, который я хочу запустить. Всегда больно набирать правильный полный путь к файлу, который я хочу отладить. Как я мог решить эту проблему? Есть ли способ изменить текущий каталог по умолчанию на рабочую копию моего проекта?

4 ответа4

12

Я продолжал редактировать мой файл .emacs, используя

(setq default-directory "~/your/path") 

но обнаружил, что всякий раз, когда я перезапускал emacs, он по умолчанию сохранял исходный каталог.

Оказалось, проблема в том, что я оставил на экране запуска по умолчанию (GNU emacs 23). Я думаю, что экран приветствия по умолчанию со ссылками на учебник и т.д. Заменяет каталог по умолчанию обратно на каталог, в котором находятся файлы экрана приветствия. Я нажал на ссылку «настроить запуск», а затем выключил экран приветствия. С тех пор, когда я открываю emacs, он по умолчанию работает с чистым буфером, но каталог по умолчанию при использовании C-x C-f - это тот, который я установил в файле .emacs .

Надеюсь, что это поможет кому-то там, это сводило меня с ума!

3

Если вы находитесь в буфере, не прикрепленном к файлу (например, *scratch* , буфер gnus '...), вы можете использовать M-x cd для изменения текущего каталога. Простое открытие каталога также поможет.

В GDB вы можете просто ввести cd /where/i/want/to/go

3

Текущий рабочий каталог всегда является местоположением текущего буфера.

Один из вариантов - перейти в режим оболочки, а затем перейти к предпочитаемому каталогу, после чего все, что вы откроете или запустите из этого буфера, по умолчанию будет указывать на этот каталог.

1

Обычно текущим рабочим каталогом всегда является местоположение текущего буфера. И GDB будет использовать этот каталог автоматически.

Но я действительно переживал, что когда Mx gdb всегда входит в каталог ~ и жалуется, что целевой файл не может быть найден.

Наконец, я обнаружил, что это вызвано тем, что буфер был изменен непреднамеренно, и может быть сохранен. Я понял это, когда убил этот буфер и снова открыл его. После уничтожения и повторного открытия буфера Mx GDB снова работает хорошо.

По моему опыту, когда это происходит, выйдите из emacs и перезапустите его, это не может помочь исправить это. Просто попробуйте убить буфер и снова открыть файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .