프로젝트 당 하나의 창


9

현재 여러 프로젝트를 진행하고 있습니다. 이멕스 의 단일 인스턴스가 모든 것을 처리하기를 원합니다 . 내가 원하는 것은 (이맥스 의미에서) 모든 '창'이 해당 프로젝트와 관련된 파일의 버퍼를 포함하는 프로젝트에 해당하는 tmux와 같은 동작입니다. 여러 개의 창이 있으며 각각은 프로젝트에 해당하며 서로 전환 할 수 있어야합니다 (와 비슷한 것 C-b w)

이 기능은 이미 어떤 형태로 존재합니까? 다른 옵션 중 하나를 사용하는 것이 좋을 것 같습니다.

  • 여러 개의 Emacs 인스턴스를 열어 두십시오.
  • 모든 프로젝트의 모든 파일을 단일 인스턴스에두면 버퍼 전환이 어려워집니다.

2
프로젝트 관리를 위해 관점 을 사용해 보셨습니까 ?
cutejumper

고급 터미널 멀티플렉서로 Emacs 에서이 블로그 게시물을 사용해보십시오 . Tmux와 유사한 동작을 얻을 수 있습니다. 나는 그것을 우연히 발견하고 그것을 작동 시키며 그것이 광고하는 것을 수행합니다. 맨 위에 ace-jump-mode버퍼 자체에서 커서로 빠르게 뛰어 다니는 멋진 솔루션이 있습니다 (아직 가지고 있지 않은 경우).

초기 설정 시간을 투자하여 프로젝트 조건을 정의하려는 경우 각 설정을 한 프레임에 할당하고을 사용할 수 있습니다 frame-bufs. 참조 가 열리기 전에 파일을 차단하고있는 프레임을 결정하는 방법 - stackoverflow.com/questions/18346785/... 대상 프레임 버퍼를 표시하고 사용할 수 있습니다 - frame-buffs--add-buffer관련 프레임을 얻기 위해 함께. 당신은 결혼 할 수 frame-bufstabbar동적으로 연관 / 제거 버퍼 : emacs.stackexchange.com/a/10112/2287
lawlist

다음은 frame-bufs버퍼를 특정 프레임과 연결 하는 링크입니다 . github.com/alpaker/Frame-Bufs/blob/master/frame-bufs.el
lawlist

@cutejumper Perspective는 완벽합니다. 당신은 그것을 틱 할 수 있도록 답변으로 쓸 수 있습니다.
sudeepdino008

답변:


7

관점 을 사용 하여 프로젝트를 관리 할 수 ​​있습니다. 읽어보기에서 :

perspective.el은 각 Emacs 프레임에 대해 여러 작업 공간 (또는 "관점")을 제공합니다. 이를 통해 모든 버퍼에서 손실되지 않고 여러 개의 개별 프로젝트를 쉽게 작업 할 수 있습니다.

각 Perspective는 창 구성 및 버퍼 세트로 구성됩니다. Perspective로 전환하면 창 구성이 활성화되고 Perspective에서 기본적으로 버퍼 만 사용 가능합니다.

또 다른 버전의 persp-mode 가 있으며 원래 버전 과 약간 다릅니다. 관점은 프레임간에 공유되며 상태는 디스크에 저장 될 수 있습니다.

발사체를 사용 하는 경우 퍼스펙티브 통합도 있습니다.


5

여러 (아마도 복잡한) 창 레이아웃을 관리하는 눈썹 모드 를 사용해 볼 수 있습니다. 당신은 같은 키 입력 창 구성 사이를 전환 할 수 있습니다 C-c C-w 1C-c C-w 2.


1
아이브로 우즈는 작업 공간 사이에서 버퍼를 공유합니다. 바람직하지 않을 수도 있습니다
sudeepdino008

2

"barebones"솔루션은 C-x r w현재 창 상태를 기록하고 C-x r j이전 상태 로 돌아 가기 위해 사용할 수 있습니다 .


2

몇 가지 다른 패키지 조합을 사용합니다.

가장 중요한 것은 Projectile 을 사용하여 "프로젝트"및 퍼지 찾기 파일 작업을합니다. 현재 작업중 인 각 프로젝트마다 하나씩 여러 프레임을 사용합니다. 당신은 정말로 프레임 을 알고 C-x 5 2, C-x 5 0만들고 / 죽일 필요가 있습니다. 프로젝트 간 전환을 관리하고 창 구성 / 분할 상태를 저장하기 위해 창에 대한 작업 그룹 (emacs)을 사용 합니다.

하나의 패키지를 다른 패키지로 교체 할 수 있기 때문에이 설정이 마음에 듭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.