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.

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 ...)


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    
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.