단일 tmux 세션에서 vim-slime을 사용하는 방법은 무엇입니까?

단일 tmux 세션에서 vim-slime을 사용하는 방법은 무엇입니까?

저는 인기 있는 vim 플러그인 "vim-slime"을 사용하여 단일 tmux 세션을 통해 ipython과 vim을 통합하려고 합니다. 문제는 별도의 tmux 창에서 vim을 열거나 gvim을 사용하는 한 제대로 작동하도록 할 수 있지만 동일한 창의 다른 창에 코드 줄을 보내려고 하면 할 수 없다는 것입니다. 내가 현재 사용하고 있는 vim 세션으로 보낸 것 이상을 얻으세요.

제가 정말 원하는 설정은 화면 오른쪽의 vim, 왼쪽 상단의 ipython, 왼쪽 하단의 일반 명령줄입니다. 여러 세션과 창을 열고 관리하고 싶지 않습니다.

제가 상대적으로 경험이 부족해서 모르는데 이 작업을 수행하는 쉬운 방법이 있습니까?

답변1

아, 저도 똑같은 문제를 겪고 있어서 이런 질문을 하게 되었습니다. 왼쪽에는 vim 코드가 있고 오른쪽에는 솔루션 프롬프트가 있는 분할 세션이 있습니다.

내 문제는 세션 이름이 소켓 이름이라고 생각했지만 두 가지가 다르다는 것입니다. 0번째 window의 세션 이름을 "0"으로 지정했는데, 실제로는 내가 지정한 세션 이름에도 불구하고 SOCKET의 이름이 "Default"로 지정되었습니다.

실행 중인 tmux 소켓 목록을 얻으려면 lsof -U | grep "^tmux"
다음 답변에서 이것을 찾았습니다.
https://stackoverflow.com/questions/11333291/is-it-possible-to-find-tmux-sockets-currently-in-use

위의 내용은 소켓의 실제 이름을 확인하는 데 도움이 됩니다.

이것이 첫 번째 프롬프트에 입력하는 내용입니다. 세션 이름인 "0"을 입력했는데 작동하지 않습니다. 세션 이름을 지정했지만 여기서는 "Default"가 필요합니다.

그런 다음 두 번째 프롬프트에서 (index-0 창, index-1 창)을 입력합니다. :0.1

바라보다! 마침내! 작동 중입니다. 좋습니다. 이제 나란히 편집할 수 있습니다!

답변2

<c-c>v대상 창을 사용하거나 변경해야 합니다 :SlimeConfig. 기본값은 :"현재 창, 현재 창"입니다. 바라보다 :help slime-tmux.

대신 텍스트를 보내려는 Tmux 창(iPython을 실행하는 창)으로 이동한 다음 셸에서 실행 echo $TMUX_PANE하거나tmux run "echo #{pane_id}"올바른 창 ID 찾기.

답변3

  1. 티먹스를 시작하세요.
  2. Ctrl-b %수직으로 분할합니다.
  3. Ctrl-b [left arrow]왼쪽 창으로 이동
  4. Ctrl-b "왼쪽 창을 가로로 분할합니다. 이제 3개의 명령줄이 생깁니다.
  5. Ctrl-b [up arrow]왼쪽 상단 창으로 이동하여 키를 누릅니다 ipython.
  6. Ctrl-b [right arrow]오른쪽 창으로 이동합니다.
  7. Python 코드에서 vim을 시작하세요.
  8. Send a line을 사용하고 Ctrl-C Ctrl-C, 소켓 이름을 수락하고 default, Enter를 눌러 :0.0IPython 창을 선택하세요.

default0:0각각 소켓 이름과 창 ID입니다.

관련 정보