오픈 소스 프로젝트의 일부를 다시 작성하고 싶습니다. 여기에는 이름 바꾸기 방법이 포함됩니다. 전체 프로젝트에서 emacs로 어떻게 효율적으로 할 수 있습니까?
모든 버퍼에서 검색 및 바꾸기와 같은 해킹을 사용하지 않습니다.
ropemacs
.
오픈 소스 프로젝트의 일부를 다시 작성하고 싶습니다. 여기에는 이름 바꾸기 방법이 포함됩니다. 전체 프로젝트에서 emacs로 어떻게 효율적으로 할 수 있습니까?
모든 버퍼에서 검색 및 바꾸기와 같은 해킹을 사용하지 않습니다.
ropemacs
.
답변:
이제 helm-ag
함수 이름의 모든 인스턴스를 찾고 (오픈 버퍼가 아닌 하위 디렉토리를 포함한 모든 파일에서 검색) C-c C-e
모든 일치 항목을 나열하는 버퍼를 입력하고 함수 이름을 변경합니다. 완료되면을 눌러 C-c C-c (helm-ag--edit-commit)
열린 모든 파일의 변경 사항을 저장합니다.
혼란 스럽지만 https://github.com/ShingoFukuyama/helm-swoop 를 참조 하십시오
당신이 그것을 찌를 때 당신은 그러한 훌륭한 기능이 존재하는 기쁨의 눈물을 울 것이다.
언어를 지정하지 않았으므로“검색 및 바꾸기”보다 더 나은 답변을 제공하기가 어렵습니다.
기호의 모든 인스턴스를 다른 대화식으로 (대화식으로) 바꾸려면 wgrep이 가장 좋습니다. grep 결과 버퍼를 대화식으로 편집 할 수 있습니다.
M-x package-install RET wgrep
.M-x rgrep
. 몇 가지 쉬운 질문을 한 다음, 지정한 디렉토리 내에서 검색어를 재귀 적으로 검색하십시오.M-x wgrep-change-to-wgrep-mode
. 이 버퍼는 이제 편집 가능합니다. 여기에서 변경 한 내용은 파일 자체에 반영됩니다.replace-regexp
또는 a query-replace-regexp
를 실행 하여 리팩토링을 수행하십시오.M-x wgrep-save-all-buffers
및로 수정 사항을 완료하십시오 M-x wgrep-finish-edit
.일반적인 접근 방법 은 Emacs Wiki 검색 및 바꾸기 페이지에서 " 파일 간 바꾸기 "제목을 참조하십시오. http://www.emacswiki.org/emacs/CategorySearchAndReplace
또한 Emacs를 사용하여 아직 열지 않은 텍스트 파일을 재귀 적으로 찾아서 바꾸기에 대한 답변도 참조하십시오 .