Как изменить каталог по умолчанию в Emacs?
Когда я использую
M-x gdb
когда в emacs открыто множество исходных файлов, каталог по умолчанию в emacs часто отличается от каталога моей рабочей копии для запуска файла, который я хочу запустить. Всегда больно набирать правильный полный путь к файлу, который я хочу отладить. Как я мог решить эту проблему? Есть ли способ изменить текущий каталог по умолчанию на рабочую копию моего проекта?
4 ответа
Я продолжал редактировать мой файл.emacs, используя
(setq default-directory "~/your/path")
но обнаружил, что всякий раз, когда я перезапускал emacs, он по умолчанию сохранял исходный каталог.
Оказалось, проблема в том, что я оставил на экране запуска по умолчанию (GNU emacs 23). Я думаю, что экран приветствия по умолчанию со ссылками на учебник и т. Д. Заменяет каталог по умолчанию обратно на каталог, в котором находятся файлы экрана приветствия. Я нажал на ссылку "настроить запуск", а затем выключил экран приветствия. С тех пор, когда я открываю emacs, он по умолчанию работает с чистым буфером, а каталог по умолчанию - когда я использую C-x C-f
это тот, который я установил в .emacs
файл.
Надеюсь, это поможет кому-то там, это сводило меня с ума!
Если вы находитесь в буфере, не прикрепленном к файлу (например, *scratch*
, GNUS 'буфер ...) вы можете использовать M-x cd
изменить текущий каталог. Простое открытие каталога также поможет.
В GDB вы можете просто ввести ajso cd /where/i/want/to/go
Текущий рабочий каталог всегда является местоположением текущего буфера.
Один из вариантов - перейти в режим оболочки, а затем перейти к предпочитаемому каталогу, после чего все, что вы откроете или запустите из этого буфера оболочки, будет по умолчанию соответствовать этому каталогу.
Обычно текущим рабочим каталогом всегда является местоположение текущего буфера. И GDB будет использовать этот каталог автоматически.
Но я действительно переживал, что когда Mx gdb всегда входит в каталог ~ и жалуется, что целевой файл не может быть найден.
Наконец, я обнаружил, что это вызвано тем, что буфер был изменен непреднамеренно, и может быть сохранен. Я понял это, когда убил этот буфер и снова открыл его. После уничтожения и повторного открытия буфера Mx GDB снова работает хорошо.
По моему опыту, когда это произойдет, выйдите из emacs и перезапустите его, это не может помочь исправить это. Просто попробуйте убить буфер и снова открыть файл.