그래서 현재 열려있는 버퍼 세트뿐만 아니라 프로젝트의 모든 파일을 helm-swoop
살펴 보고 싶습니다 .
이것은 swoop을 사용하여 프로젝트의 모든 항목을 찾고 관련 항목을 표시 한 다음 편집합니다 (helm swoops 편집 모드에서).
Helm / Helm swoop을 사용 하여이 작업을 수행하는 확실한 방법이 있다고 생각하지만 솔루션을 통해 생각하려는 시도는 다음과 같습니다.
- 발사체에서 파일 이름을 수집
- 파일 이름 목록에서 버퍼 목록을 만듭니다.
- 이 새로운 버퍼 목록을 사용하는 것 외에도 helm-multi-swoop-all과 동일한 루틴을 수행하십시오.
(projectile-current-project-files)
, 내가 찾고있는 파일 목록을 제공하는 것 같습니다.
따라서 helm-multi-swoop-all
복사하고 조정하는 것이 매우 쉬운 것처럼 보입니다.
(defun helm-multi-swoop-all (&optional $query)
(interactive)
"Apply all buffers to helm-multi-swoop"
(cond ($query
(setq helm-multi-swoop-query $query))
(mark-active
(let (($st (buffer-substring-no-properties
(region-beginning) (region-end))))
(if (string-match "\n" $st)
(message "Multi line region is not allowed")
(setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize $st)))))
((setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize
(funcall helm-swoop-pre-input-function))))
(t (setq helm-multi-swoop-query "")))
(helm-multi-swoop--exec nil
:$query helm-multi-swoop-query
:$buflist (helm-multi-swoop--get-buffer-list)))
에 대한 호출을 helm-multi-swoop--get-buffer-list
발사체 목록을 사용하여 버퍼 목록을 제공 한 것으로 바꾸십시오 .
그러나 지금 나는 조금 붙어 있습니다. 파일 이름 집합에서 helm-swoop에 공급할 버퍼 목록을 만드는 방법을 잘 모르겠습니다.
또한 도움이 될 수는 없지만 사용자 정의 함수가 없으면이를 달성하는 더 간단한 방법이 있다고 생각합니다.
helm-swoop
. a를 helm-projectile-grep
하고 F3
M-x
wgrep-mode
"편집 가능"하게합니까?
helm-projectile-ack
대신 사용 하는 것이 좋습니다 .