SpaceMac에서 tmux와 유사한 사용자 정의 레이아웃 안내서 만들기
10686 단어 emacsspacemacstmuxproductivity
그래서 나는 다른 사람들이 스페이스 맥으로 좋은 레이아웃과 작업 공간을 설정하는 데 도움을 줄 블로그 글을 써야 한다고 생각한다.
몇몇 용어
창, 레이아웃, 창, 버퍼에 대한vim, tmux, Emacs의 용어를 설명하고 싶습니다.
윌
tmux
emacs
우주 컴퓨터
완충 구역
창유리
완충 구역
완충 구역
창문.
창문.
프레임
프레임
라벨
창문.
창문.
배치
작업 영역
위엄: 버퍼
버퍼는 파일의 메모리 텍스트이며, 실제로는 Vim 메모리의 한 구역으로 파일에서 읽은 텍스트를 저장하여 편집하는 데 사용된다.또한 텍스트를 입력할 수 있도록 관련 파일이 없는 빈 버퍼를 만들 수 있습니다.
윈도우
창은 버퍼의 뷰포트입니다.한 버퍼에 여러 개의 창을 사용할 수도 있고, 다른 버퍼에 여러 개의 창을 사용할 수도 있다.
Vim은 여러 가지 방법으로 작업을 구성할 수 있습니다. 그 중 하나는 지정된 Vim 인스턴스의 동일한 탭 페이지에서 여러 분할 창을 열 수 있습니다.이것은 같은 버퍼나 파일에 여러 개의 보기를 허용하며, 심지어는 여러 버퍼를 나란히 열거하거나 원하는 방식으로 볼 수 있습니다.
위엄: 레이블
탭 페이지는 창의 컬렉션입니다.
Emacs:프레임
프레임은 하나 이상의 Emacs 창을 포함하는 화면 객체입니다.그래픽 환경의 용어로 윈도우라고 하는 객체입니다.그러나 Emacs가 다른 방식으로 이 단어를 사용하기 때문에 우리는 여기서 '창' 이라고 할 수 없다.
한 프레임은 처음에 주 창과/또는 작은 버퍼 창을 포함한다.주 창의 수직 또는 수평을 작은 창으로 세분화할 수 있습니다.
Emacs:Windows
창은 화면에 버퍼를 표시하는 영역입니다.
창이 프레임으로 그룹화됩니다.각 프레임에는 최소한 하나의 창이 포함됩니다.한 번에 여러 버퍼를 볼 수 있도록 여러 개의 겹치지 않는 창으로 세분화할 수 있습니다.
tmux
tmux가 표시하는 모든 창은 하나 이상의 창으로 나눌 수 있습니다.각 창은 디스플레이의 특정 영역을 차지하며 별도의 터미널입니다.
SpaceMac:레이아웃
레이아웃은 부모 레이아웃과 동일한 버퍼 목록을 공유하는 여러 개의 작업공간을 정의할 수 있는 버퍼 격리가 있는 창 구성입니다.
레이아웃은 버퍼 목록과 연결된 창 설정입니다.버퍼 목록은 임의로 선택한 버퍼 집합일 수 있습니다.SpaceMac은 투사물 항목과 관련된 버퍼 집합을 만드는 데 의미 있는 도구를 제공합니다.
SpaceMac:작업공간
작업공간은 부모 레이아웃과 동일한 버퍼를 공유하는 지정된 레이아웃에 여러 개의 레이아웃을 정의할 수 있는 하위 레이아웃입니다.
배치
tmux에서 많은 미리 설정된 레이아웃을 제공합니다.그들은 다음과 같습니다.
사용자 정의 레이아웃
SpaceMac의 사용자 정의 레이아웃은 매크로 SpaceMac | 를 사용하여 SPC l o 를 통해 액세스할 수 있는 사용자 정의 레이아웃을 정의할 수 있습니다.*에서 이러한 사용자 정의 레이아웃을 정의할 수 있습니다.dotspacemacs/user config* 부분의 스페이스macs 파일입니다.
수평 배치를 고르게 하다.
창문은 왼쪽에서 오른쪽으로 골고루 창문에 분포되어 있다.
;; even-horizontal
(spacemacs|define-custom-layout "@EVEN-HORIZONTAL"
:binding "1"
:body
(split-window-below))
균일 수직 배치
창문 유리가 위에서 아래로 고르게 분포되어 있다.
;; even-vertical
(spacemacs|define-custom-layout "@EVEN-VERTICAL"
:binding "2"
:body
(split-window-right))
주 평면 배치도
창 상단에는 큰 창(주)이 표시되고 나머지 창은 하단의 남은 공간에서 왼쪽에서 오른쪽으로 확장됩니다.주 창 높이 창 옵션을 사용하여 위쪽 창의 높이를 지정합니다.
;; main-horizontal
(spacemacs|define-custom-layout "@MAIN-HORIZONTAL"
:binding "3"
:body
(split-window-below)
(winum-select-window-2)
(split-window-right))
주요 수직 배치
주 수면과 비슷하지만 큰 창은 왼쪽에 있고 다른 창은 오른쪽을 따라 위에서 아래로 펼쳐진다.
;; main-vertical
(spacemacs|define-custom-layout "@MAIN-VERTICAL"
:binding "4"
:body
(split-window-right)
(winum-select-window-2)
(split-window-below))
배열
창은 가능한 한 줄과 열로 고르게 펼쳐집니다.
;; tiled
(spacemacs|define-custom-layout "@TILED"
:binding "5"
:body
(split-window-right)
(split-window-below)
(winum-select-window-2)
(split-window-below))
사용자 정의 레이아웃 예
지금까지 스페이스Mac에서 tmux 표준 설정과 같은 사용자 정의 레이아웃을 만드는 방법을 알고 있습니다.그러나 위의 예는 프레임워크일 뿐입니다. 윈도우즈에 파일을 불러오지 않습니다.SpaceMac에 필요한 파일, 터미널, 기타 프로그램을 불러와서 접근할 수 있는 사용자 정의 레이아웃을 만드는 실제 예를 볼 수 있습니다.
SpaceMac의 사용자 정의 레이아웃
이전에vim에서, 나는 tmuxinator를 사용하여 나의 tmux 세션과 프로젝트의 사용자 정의 레이아웃을 관리해 왔다.나는 여러 항목을 동시에 처리할 것이기 때문에 모든 항목에 표준적이고 독특한 레이아웃을 정의하는 데 매우 도움이 된다.
tmuxinator 레이아웃 정의 사용하기
tmuxinator는 복잡한 tmux 세션을 쉽게 관리할 수 있는 도구입니다.이것은 tmux에 직접 전달할 수 있는 레이아웃 설정이 있습니다. 따라서 다섯 가지 표준 레이아웃 중 하나를 선택하거나 자신의 레이아웃을 지정할 수 있습니다.
windows:
- eslint-plugin-ember:
layout: main-vertical
root: ~/Documents/www/emberjs/eslint-plugin-ember
panes:
- vim README.md
- nvm use 10.15.0
위의 동일한 구성은 다음과 같이 SpaceMac에 쉽게 마이그레이션할 수 있습니다.스페이스맥의 다른 매크로, 예를 들어find file, eshell, split window right 등을 익히는 것이 필요하다. 매크로가 어떻게 작동하는지 알면 사용자 정의 레이아웃을 설정하기 쉽다.(spacemacs|define-custom-layout "@eslint-ember-plugin"
:binding "p"
:body
(find-file "~/Documents/www/emberjs/eslint-plugin-ember/README.md")
(neotree-toggle)
(winum-select-window-1) ;; Go to the left window
(split-window-right) ;; Create the right side but don't move focus
(winum-select-window-2) ;; Go to the right window
(eshell))
결과 레이아웃은 다음과 유사합니다.도구책
Reference
이 문제에 관하여(SpaceMac에서 tmux와 유사한 사용자 정의 레이아웃 안내서 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rajasegar/a-guide-to-create-tmux-like-custom-layouts-in-spacemacs-4j9p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)