Tmux를 사용하여 사용자 정의 IDE 구성

안녕하세요!


오늘, 나는 내가 이미 몇 달 동안 사용한 도구를 공유하고 싶다. 그것은 나의 일상 업무에 매우 큰 도움이 된다. tmux.
소프트웨어 장인으로서 나는 가능한 한 효율적이고 가장 좋은 도구를 찾고 있다.
제가 말한 사용자 정의 IDE의 기초로 tmux를 사용하는 방법을 보여 드리겠습니다.

왜 Tmux야?


Tmux는 플러그인을 곁들인 훌륭한 터미널 멀티플렉스입니다.
너는 왜 이런 물건을 사용해야 하는지 알고 싶을 것이다.많은 터미널 에뮬레이터에 분해 용어 기능이 내장되어 있다.
사실 tmux는 창의 크기를 분할하고 조정하는 데 훨씬 강하다.
또 다른 원인은 tmux가 어떤 용어를 사용할 수 있기 때문이다.따라서 용어를 바꾸면 모든 설정을 다시 설정할 필요가 없다.Tmux가 너를 위해 이 일을 한다.
간단한 tty에서 X가 없는 tmux를 사용할 수 있습니다.

tmux / tmux


tmux 소스 코드


tmux에 오신 걸 환영합니다!


tmux는 단말기 다중 복용기입니다. 여러 단말기를 만들 수 있습니다.
단일 화면에서 액세스하고 제어할 수 있습니다.에서
화면을 백그라운드에서 계속 실행한 다음 다시 연결합니다.
이 버전은 OpenBSD, FreeBSD, NetBSD, Linux, OS X 및 Solaris에서 실행됩니다.

의존 관계


tmux는 libevent2에 의존한다.x, this page에서 획득가능.
사용 가능한 ncurses에 따라 다름
this page부터 시작합니다.

장치


아스팔트를 방출하다


게시 tarball에서 tmux를 구축하고 설치하려면 다음을 사용합니다.
./configure && make
sudo make install

tmux can use the utempter library to update utmp(5), if it is installed - run configure with --enable-utempter to enable this.

버전에서 제어

To get and build the latest from version control - note that this requires autoconf, automake and pkg-config:

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

이바지

Bug…

그것을 설치하다

Install tmux through your favorite package manager, or compile it from the sources:

$ git clone https://github.com/tmux/tmux.git
$ cd tmux
$ sh autogen.sh
$ ./configure && make

구성


Tmux는 처음에는 좀 거칠어 보였을 수도 있고 처리하기 어려웠을 수도 있다.다행히도, 그곳에는 좋은 지역사회가 있어서, 그것을 세우는 데 도움을 줄 수 있다.많은 구성을 시도한 끝에 gpakosz을 획득했습니다.

이것은 귀속에 사용할 미리 설정과 상태 표시줄에 사용할 powerline의 외관을 가지고 있습니다.
README에서 전리품을 구매하면 필요에 따라 맞춤형으로 제작할 수 있습니다!
개인적으로, 나는 상태 표시줄에 정상적인 운행 시간을 설정하는 것이 소용없다는 것을 발견했기 때문에, 나는 그것을 설정에서 삭제했다.플러그인도 추가되었습니다.

  • tmux-plugins/tpm Tmux 플러그인 관리자

  • tmux-plugins/tmux-sensible 기본 설정

  • tmux-plugins/tmux-yank 시스템 클립보드로 복사 가능

  • tmux-plugins/tmux-open 키 귀속, 돋보이는 파일이나 URL을 빠르게 열기

  • chriszarate/tmux-tasks 상태 표시줄에 (긴급) 작업의 계수를 표시합니다.taskwarrior이 필요합니다.
  • 그것을 사용하다


    터미널 시뮬레이터에서 tmux를 기본 셸으로 설정해야 합니다.일단 완성되면, tmux는 개학할 때마다 시작됩니다.
    기본적으로, tmux가 시작될 때, 빈 세션을 만들 것입니다. 이 세션에는 빈 창과 상태 표시줄이 포함되어 있습니다.상태막대는 왼쪽, 중간, 오른쪽으로 세 부분으로 나뉜다.위 구성을 사용하도록 선택한 경우 왼쪽 섹션에 세션 이름(이름이 설정되지 않은 경우 색인)과 일반 실행 시간이 표시됩니다.오른쪽 섹션에는 배터리, 날짜, 사용자 이름 및 호스트 이름이 표시됩니다.중간에 윈도우즈의 제목을 볼 수 있습니다. (이름이 설정되지 않으면 초점 창에서 실행되는 프로세스의 이름)
    기본 기능은 세션, 창, 창입니다.용어 (또는 용어의 새로운 옵션 카드) 를 열 때마다 tmux는 새로운 세션을 시작합니다.새 세션에는 창이 있습니다.새 창은 $HOME 디렉토리의 창을 포함합니다.
    tmux의 귀속은 매우 중요합니다. 접두사 Ctrl-a 또는 Ctrl-b을 사용하여 접근할 수 있습니다.
    다음은 내가 사용하는 주요 바인딩입니다.
  • <prefix> Ctrl-c 신규 세션 생성
  • <prefix> c 새 창 만들기
  • <prefix> % 현재 창 수직 분할
  • <prefix> " 수평 분할 현재 창
  • 현재, 귀속이 불편하면, tmux는 창 크기를 선택하고, 전환하고, 조정할 수 있는 아주 좋은 마우스 모드를 가지고 있습니다.

    그것을 충분히 이용하다


    tmux의 킬러급 기능은 세션입니다.세 개의 창을 포함하는 창을 만들어서 파일을 편집하고git를 사용하며 테스트를 실행하려고 상상해 보십시오.새 세션을 만들고 창을 분할하고 필요에 따라 크기를 조정하기만 하면 됩니다.
    위대하다그렇게 많지 않아요.
    세션을 저장할 내장 메커니즘이 없기 때문에 tmuxp 도구를 사용합니다.이것은 tmux에 필요한 세션 관리자입니다.
    릴리스 관리자를 통해 설치하거나 다음을 수행합니다.
    $ pip install --user tmuxp
    
    요컨대, tmuxp는 yaml/json 파일에서 세션을 쉽게 만들고 필요할 때 불러올 수 있도록 합니다.이것은 창과 창 레이아웃을 만드는 것뿐만 아니라, 모든 창에서 명령을 실행할 수 있습니다.따라서 주 창에서 vim을 실행하고, 다른 창에서 cd을 프로젝트 디렉토리로 실행하여 git을 사용하고, 세 번째 창에서 파일 뷰어를 실행하여 테스트를 트리거할 수 있습니다.
    # my-project.yaml
    session_name: my project
    windows:
    - window_name: my custom IDE
      layout: main-vertical
      shell_command_before:
        - pj my-project
      panes:
        - vim
        - git status
        - phpunit-watcher watch
    
    그리고 tmuxp load -y my-project.yaml을 실행합니다.
    나처럼 프로그램을 사용할 수 있는 완전한 환경을 만들어야 한다면 제한이 없다는 것을 알아야 한다.현재 프로젝트에 대한 세션에는 다음과 같은 여러 창이 있습니다.
  • 1 IDE 창: vim이 있는 3개의 창, git 재생, 테스트 실행,
  • 9개의 창, 로그 파일마다 대응하는 창, jq 또는 lnav,
  • 으로grep를 진행해야 합니다
  • 내 전선의 자산 서비스 창구,
  • 내 스텁을 실행하는 창(일반적으로 SpringBoot 응용 프로그램)
  • 이렇게!
    나는 본문을 읽는 것을 통해 당신이 약간의 것을 배우고 tmux를 이해할 수 있기를 바랍니다.나는 이 방면의 전문가가 아니다.나는 10퍼센트의 기능을 사용하지 않았다고 말해야 하지만, 이 도구는 이미 나의 개발 환경의 중요한 구성 부분이 되었다.나는 이것도 너에게 좋은 점이 있다고 생각한다.
    읽어주셔서 감사합니다.
    안녕히 계세요.

    좋은 웹페이지 즐겨찾기