Como alternar para uma instância vim existente de dentro da tela ao abrir um arquivo duas vezes

0

Quando trabalho em muitos arquivos com tela e vim, geralmente tento abrir um arquivo já aberto.

Preciso alternar manualmente entre as janelas da tela, clicando em ctrl-space e pressione ctrl-g até encontrar a janela certa.

É possível mudar automaticamente para a janela da direita?

loxigu
fonte
11
Você pode considerar o uso de vários buffers, guias e capacidade do Vim de atuar como um 'servidor' .
recatada 15/05

Respostas:

0

Use este / usr / local / bin / vi:

#!/bin/sh
VIM_PPID=$(ps -Af | grep " vim $1\$" | head -n 1 | awk '{print $3}')
if [ -n "$VIM_PPID" ] ; then
  _WINDOW=$(tr '\0' '\n' < /proc/$VIM_PPID/environ | grep ^WINDOW= | cut -f 2 -d '=')
  VIMSHELL_PPID=$(ps -Af | awk '/^[^ ]+ +'$VIM_PPID' +/{print $3}')
  MYSHELL_PPID=$(ps -Af | awk '/^[^ ]+ +'$PPID' +/{print $3}')
  if [ "$MYSHELL_PPID" = "$VIMSHELL_PPID" ] ; then
    screen -X select $_WINDOW
    exit
  fi
fi
exec /usr/bin/vim $@

Graças a esta resposta

laxaga
fonte