스페이스맥스 기준으로 작성 됨. 참고만 할 것

persp mode buffer management how to

[2023-07-21 Fri 09:50] 이게 깔끔해야 내가 뭘 만지는지 알수 있다

why and goal :: 왜 창이 제멋대로 사라지는거야?!

왜 창이 제멋대로 사라지는건가?! 라는 질문에서 시작되었다. 프레임, 윈도우, 버퍼로 구성되고 관리된다. 물론 탭도 있다. 이게 중구 난방일 수 밖에 없다. 정책을 정해놓지 않으면 그 버퍼는 그 위치에서 사라진다. 여기에 관련된 패키지는 오랜 역사속에 많이 있다. Emacs 빌트인 기능을 더 사용하고 최적화된 최신 패키지들도 있겠지만 (poppler, shacke?) 나는 스맥스를 사용하는 이상 스맥스에서 제공하는 기능을 사용하는게 우선이다.

spacemacs-visual layer

eyebrowse popwin 등이 이 레이어에 속해 있다. popwin 은 버퍼의 위치 사이즈 등을 정의할 수 있다.

예를 들어 클로저 레이어를 보면 다음과 같이 버퍼가 잡혀 있다.

(defun clojure/pre-init-popwin ()
  (spacemacs|use-package-add-hook popwin
    :post-config
    (push '("*cider-error*" :dedicated t :position bottom :stick t :noselect nil :height 0.4)
          popwin:special-display-config)
    (push '("*cider-doc*" :dedicated t :position bottom :stick t :noselect nil :height 0.4)
          popwin:special-display-config)))

나는 근데 cider-repl 버퍼에 정책을 넣고 싶었다. 그래서 다음과 같은 코드를 나의 닷에 넣었다. 문제가 없어 보였다. cider-repl 뒤에는 레플 정보가 들어가기 때문에 regexp t 까지 잘 넣었다. 근데 이게 끝이 아니다.

  ;; 23/01/10--06:37 :: OFF windows-purpose 사용하여 따로 레이아웃을 관리
  ;; (with-eval-after-load 'popwin
  ;;   (push '("*cider-repl" :regexp t :dedicated  :position bottom :stick nil :noselect nil :height 0.3)
  ;;         popwin:special-display-config)
  ;;   (push '("*cider-test-report*" :dedicated nil :position right :stick t :noselect t :width 0.3) ; use pixel-count
  ;;         popwin:special-display-config)
  ;;   (push '("*nrepl-server" :regexp t :dedicated t :position bottom :stick t :noselect t :height 0.3)
  ;;         popwin:special-display-config)
  ;;   )

[2023-01-17 Tue 10:37]

spacemacs-layout

아 하나 더 이야기를 안했다. 스맥스에는 레이아웃 관리를 제공한다. 워크스페이스라고 보는게 이해가 쉽다. 이메일, 개발, 브라우징, 글쓰기, 채팅 등 워크스페이스를 구분하는 것이다. 쉽게 이동할 수 있기에 나는 아주 애용하고 있다.

eyebrowse, persp-mode 가 핵심 패키지이다. 여기에는 eyebrowse 패키지가 역할을 한다. 레이아웃 별로 창과 버퍼 규칙을 잡을 수 있기에 여러 모로 편리하다. 둘이 한쌍으로 사용된다.

spacemacs-purpose layer

이제 다시 돌아와서 나는 Clojure 레이아웃을 만들어서 클로저 개발 관련 작업을 하려고 한다. 클로저 코드, 레플 버퍼, 관련 문서, 작성 문서 등을 하나로 엮으면 될 것이다. vscode 를 사용하는 것과 거의 유사하게 구성해서 쓸 생각을 했다. 그게 익숙하니까.

그러면 스코드를 쓰지 왜 이맥스를 쓰는가? 물론 맞다. 나도 그렇게 생각한다. 병행해서 써도 되고 키 바인딩만 맞으면 아주 좋을 듯. 칼바도 개선되고 조이어블까지 있는 상황에서는 경계가 허물어 지고 있을거다. 그래도 이맥스는 이맥스다.

앞선 레이아웃과 비주얼 레이어로 레플 버퍼가 bottom 에 보이도록 만들었다. stick 설정을 하면 unfocus 되면 사라지도록 할 수도 있다. 이정도면 다 된 것아닌가 싶었다. 근데 문제가 있었다.

windows dedication

분명 클로저 레이아웃에서 VSpaceCode

SPC w t current-window-dedication

오탈자 짜증나는 지점

뒤에 조사 붙는 거에 왜 빨간줄이 나오는가? 이거 해결 할 수 있을 것 같다. 다음 문서를 참고하자. 작업 중이다. How to use hunspell-ko

[2023-01-17 Tue 12:17]

Related-Notes

References