Exec vim no novo tema de preservação da janela do urxvt

0

Eu quero criar um script simples para iniciar nvim (não gvim ) na janela do terminal separada (estou usando urxvt term). Atualmente tenho:

#!/usr/bin/env bash

exec urxvt -hold -e "vim"

Parece legítimo e funciona, mas o problema é que o tema vim não é carregado ao abrir o terminal (provavelmente porque .bashrc não é lido ou alguns outros problemas estranhos com base16-shell ).

Os plug-ins são carregados, o que significa que o arquivo init do nvim é carregado. Eu tentei fazer algo parecido com

exec urxvt -hold -e "source <absolute_path>/.bashrc; vim"

para forçar o base16-shell a carregar o tema do terminal (que pode ser uma dependência de um vim), mas ainda não funciona.

Sinto que estou sentindo falta de algo, mas não consigo acertar. Como fazer esse script funcionar?

    
por ddnomad 07.04.2017 / 20:53

1 resposta

0

Ok, resolvi o problema. Descobriu-se que -e flag executa um comando sem realmente lançar o interactive bash shell, o que significa que o bash não lê .bashrc na inicialização.

Como base16-shell inicializa o tema do terminal (que é de fato uma dependência do tema base16 do vim) executando um script de .bashrc no final nvim é lançado com cores padrão (como dependência não carregada e base16- vim não pode inicializar corretamente).

Portanto, a solução é lançar o bash shell interativo explicitamente para ler .bashrc e carregar o tema base16 e somente após esse lançamento nvim (que é aliado para vim na minha ocasião).

Aqui está o script inteiro:

#!/usr/bin/env bash

# -hold urxvt option is not needed as vim stays running
# -i bash option to run interactively
exec urxvt -e bash -i -c "vim"
    
por 07.04.2017 / 21:22