나는 약 1년 동안 vim 팬이었고 몇 가지 훌륭한 작은 요령을 외웠습니다. 나는 터미널(사무실)에서 Ubuntu 개발을 많이 합니다.
내가 가장 중요하게 생각하는 것 중 하나는 tmux가 내 세션을 처리하도록 하여 Gnome이나 다른 것이 종료하기로 결정하더라도 아무것도 잃지 않도록 하는 것입니다.
또한 vim 클라이언트 서버(Cb :neww 'vim --servername d')를 내 tmux 창 중 하나로 실행하고 이를 사용하여 작업하려는 파일을 수신하는 동시에 다른 tmux 창에서 다양한 종류의 작업을 수행하도록 합니다. 일의. 즉, 편집 중인 내용을 혼동하지 않고 vim을 열 수 있습니다.
SSH를 통해 원격으로 작업할 때 tmux 세션에 연결하고 계속하지만 문제가 있습니다. vim이 클라이언트 서버 인스턴스를 시작하지 않습니다.
X와 관련된 것 같지만 SSH를 통해 로컬 tmux와 tmux의 차이점을 찾을 수 없는 것 같습니다.
답변1
예, X 속성을 사용하여 통신합니다. X11 전달을 허용하려면 -X 옵션을 사용하여 원격 SSH 세션을 실행해 보세요. 서버 측에서 기능을 활성화해야 할 수도 있습니다. 기존 세션에 이미 시작 시 로컬 환경 변수가 있으므로 DISPLAY 환경 변수를 "localhost:10.0"으로 수동으로 조정해야 할 수도 있습니다.
답변2
이것은 @keith에 대한 의견으로 더 적합하지만 조금 더 자세히 설명하고 싶었습니다.
.ssh/config
그의 답변은 연결할 때 간단한 -X를 사용하여 문제를 완벽하게 해결했지만 파일에 다음을 추가하여 한 단계 더 발전했습니다.
Host mydevserver.example.com
ForwardX11 yes
또한, 제가 자주 사용하는 오프사이트 헤드리스 개발 서버에 대해서도 이 작업을 반복해 보고 싶습니다.
- 가장 기본적인 X11 구성요소를 설치하기 위해 yum을 사용했습니다: yum group install 'X11 Desktop Environment'
- 필요에 따라 X를 시작하기 위해 내 zsh 별칭 파일에 별칭을 생성했습니다(개발 시스템에서는 성능이 여전히 중요합니다!)
alias initFakeDisplay=startx -- /usr/bin/Xvfb :2 -screen 0 1024x768x24 &
그런 다음 나중에 X11 전달이 활성화된 상태로 연결하고 동일한 tmux+vim 기술을 사용하여 vim 클라이언트 서버를 실행할 수 있습니다.