2011-04-18 3 views
3

emacs를 사용하여 아카이브 내용을 탐색 할 수 있습니다. 해당 파일을 제 위치에서 편집하고 아카이브를 투명하게 작성할 수있는 방법이 있습니까? 현재 아카이브로 이동하여 임시 디렉토리에 파일을 작성하고 java jar 명령을 사용하여 파일을 아카이브에 다시 추가합니다. 약간의 고통.emacs로 .jar/archive 내용을 인라인으로 편집 할 수 있습니까

P. 당신이 이것을 원할만한 유스 케이스는 거의 없다는 것을 알고 있지만 단기간에이 제한에 대처해야만하는 곳에서는 쉽게 수정할 수없는 플랫폼을 물려 받았습니다.

+1

컴퓨터에 zip 명령을 설치 한 경우 Emacs는 아무런 노력없이 jar 파일에 쓸 수 있습니다. – vpit3833

답변

3

네, 그냥 작동합니다. 너 해봤 니?

텍스트 파일과 일부 Java 코드가 포함 된 jar 파일을 가져 와서 인쇄했습니다. .jar 내의 txt 파일을 편집하고 텍스트 파일을 저장했습니다. 그것은 내가 기대할 것 인 정확하게했다. 아카이브가 있는지 확인 저장할 때

편집 - 당신이 사용하는 C-x는 C-의

+1

@ nsfyn55이 경우의 절차는 Emacs에서 동봉 된 jar 파일을 연 다음 dired와 같은 인터페이스를 사용하여 개별 파일을 탐색하는 것입니다. – sanityinc

+0

@ sanity/Dustin 윈도우 모드가 아닌 우분투 10.04와 함께 제공되는 기본 emacs 2.3 버전을 사용하고 있습니다. jar /mydir/myjar.jar를 열면 파일 (/mydir/myjar.jar:props.properties)을 편집하고 c-x c-w를 사용하여/mydir /에 쓸 것인지 묻습니다. 거기에 항아리 파일 이름을 추가하려고하면 항아리를 덮어 쓰려고합니다. – nsfyn55

+0

2.3이 아니라 23을 의미 할 것입니다. 권한 문제가 있습니까? 난 그냥 문제가 내 우분투 (11.04) 상자에 23.2.1 시도했다. 또한 그들이 내놓은 버전에 관계없이 내 Mac에. – Dustin

1

이맥스 - 23.2 (안 23.1 또는 23.3)이 Windows에서 "그냥 작동"하지 않는 버그로 인해합니다. 대신 그것은 단지 caution: filename not matched: "<internal path>라고 씁니다.

하나의 해결 방법은 23.3으로 간단히 업그레이드하는 것입니다.

(if (equal (car archive-zip-extract) "unzip") 
    (shell-quote-argument name) 
     name) 

로 :

교체 이맥스 - 23.2, 열린 $EMACS_HOME/lisp/arc-mode.el와의 버그를 해결하려면

name 

을 재 컴파일 :

M-x byte-compile-file $EMACS_HOME/lisp/arc-mode.el 

를이 답변은 원본에서 온다 emacs bug report.

관련 문제