현재 내 컴파일 명령은 다음과 같습니다.
cd ~/somedir && ./somescript.sh
이것은 emacs가 오류가 발생한 파일을 찾아서 열지 못하게합니다.
물론 M-x cd
수동으로 실행할 수 는 있지만 현재 디렉토리를 프로그래밍 방식으로 변경하도록 버퍼에 지시하는 방법이 있습니까?
현재 내 컴파일 명령은 다음과 같습니다.
cd ~/somedir && ./somescript.sh
이것은 emacs가 오류가 발생한 파일을 찾아서 열지 못하게합니다.
물론 M-x cd
수동으로 실행할 수 는 있지만 현재 디렉토리를 프로그래밍 방식으로 변경하도록 버퍼에 지시하는 방법이 있습니까?
답변:
마지막으로 현재 디렉토리에 너무 의존적이어서 결말에 영향을 미치는 ido와 같은 다른 것들에 의존하지 않았습니다.
대신에 빌드 디렉토리를 추가하여 compilation-search-path
(add-to-list 'compilation-search-path "/path/to/build")
이 질문에서 발견 : Emacs의 컴파일 오류가 컴파일 버퍼에서 얻는 경로를 조정하는 방법은 무엇입니까?
또한 특정 문자열이 나오는 경우 디렉토리 매 처가 디렉토리를 자동으로 변경할 수 있다고 설명합니다.
Entering directory `...'
...
Leaving directory `...'
이것은 분명히 사용자 정의 할 수 있습니다.
/path/to/build
.
이 대체 명령은 트릭을 수행해야합니다.
(defun compile-in-dir (dir command)
(interactive "DCompile in directory: \nsCommand: ")
(let ((default-directory dir))
(compile command)))
또는 일반 compile
명령을 사용하여 컴파일을 실행 한 후 버퍼 (setq default-directory "~/somedir")
에서 평가할 수 있습니다 *compilation*
. 그러면 오류 탐색이 작동하지만 recompile
친구가 올바른 작업을 수행 하지 못하게 될 수 있습니다 .