Wykryj terminal neovim od bash w bashrc

13

Czy neovim ustawia jakieś zmienne środowiskowe, które pozwoliłyby mi wykryć po bash, że terminal jest neovim? Chcę zmienić zachowanie mojego, .bashrcjeśli neovim jest terminalem.

Prakseolityczny
źródło

Odpowiedzi:

15

Porównałem wyniki działania envw standardowym terminalu z danymi wyjściowymi podczas uruchamiania go w Neovim i wygląda na to, że te zmienne są nowe:

VIMRUNTIME=/usr/local/Cellar/neovim/HEAD/share/nvim/runtime
VIM=/usr/local/Cellar/neovim/HEAD/share/nvim
NVIM_LISTEN_ADDRESS=/var/folders/_8/sy7jjpw55mbgn2prml0fbsgc0000gn/T/nvimaLHjPR/0

(The vimMam też ma $VIMi $VIMRUNTIMEtak sama ich obecność nie oznacza Neovim vs Vima ...)

alxndr
źródło
10

Oprócz przykładu alxndr możesz sam ustawić:

:let $IN_NEOVIM = "yes"
:terminal
$ env | grep NEOVIM
IN_NEOVIM=yes

Jest to szczególnie przydatne jako prosty sposób przekazywania informacji do powłoki; na przykład:

:let $NEOVIM_FILETYPE = &filetype
:terminal
$ env | grep NEOVIM
NEOVIM_FILETYPE=python    
Martin Tournoij
źródło