Como usar o vim-slime de dentro de uma única sessão tmux?

7

Estou tentando integrar o ipython e o vim em uma única sessão do tmux usando o popular plugin vim "vim-slime". O problema é que, enquanto eu posso fazê-lo funcionar bem, desde que o vim seja aberto em uma janela separada do tmux (ou usando gvim), se eu tentar enviar linhas de código para um painel diferente na mesma janela, na melhor das hipóteses enviando para a sessão vim que estou usando no momento.

Realmente o que eu quero na minha configuração é vim no lado direito da tela, ipython na linha de comando superior esquerda, e um regular na parte inferior esquerda. Eu realmente não quero abrir e gerenciar várias sessões e janelas.

Existe uma maneira simples de fazer isso que eu não sei por causa da minha relativa inexperiência?

    
por Ram 21.05.2015 / 21:16

3 respostas

5

Ok, eu estava tendo exatamente o mesmo problema, que foi o que me levou a essa pergunta. Eu tenho uma sessão dividida, código vim à esquerda e um prompt de esquema à direita.

Meu problema era que eu achava que o nome da sessão era o nome do soquete, mas são duas coisas diferentes. Eu tinha chamado a sessão '0', para a 0-ésima janela, mas na verdade, o SOCKET é nomeado 'default' apesar do nome da sessão que eu especifiquei.

Para obter uma lista da execução dos sockets do tmux: %código%
Descobri que a partir dessa resposta: link

O acima foi útil para ver os nomes reais dos soquetes.

Isso é o que você coloca no primeiro prompt. Eu estava colocando '0', que era o nome da minha sessão, mas não estava funcionando. 'default' é o que é necessário, apesar do fato de eu ter nomeado a sessão.

Em seguida, no segundo prompt, eu inseri (janela index-0, painel index-1):
: 0,1

Voila! Finalmente! Estava funcionando. Brilhante, agora lado a lado edição!

    
por 29.03.2016 / 07:17
0

Você precisa alterar o painel de destino com <c-c>v ou :SlimeConfig . O padrão é : , que é "janela atual, painel atual". Veja :help slime-tmux .

Em vez disso, navegue até o painel Tmux para o qual deseja enviar o texto (aquele com o iPython em execução) e a partir da execução do shell echo $TMUX_PANE ou tmux run "echo #{pane_id}" para encontre o ID correto do painel .

    
por 28.12.2015 / 20:57
0
  1. Inicie o tmux.
  2. Ctrl-b % para dividir verticalmente.
  3. Ctrl-b [left arrow] para mover para o painel da esquerda
  4. Ctrl-b " para dividir o painel esquerdo horizontalmente. Você terá agora 3 linhas de comando.
  5. Ctrl-b [up arrow] para ir para o painel superior esquerdo, seguido por ipython .
  6. Ctrl-b [right arrow] para mover para o painel da direita.
  7. Inicie o vim no seu código Python.
  8. Envie uma linha usando Ctrl-C Ctrl-C , aceite o nome do soquete como default e insira :0.0 para selecionar o painel IPython.

default e 0:0 são o nome do soquete e o id do painel, respectivamente.

    
por 14.09.2015 / 15:31

Tags