Erkennen Sie das Neovim-Terminal von bash in bashrc

13

Legt neovim Umgebungsvariablen fest, mit denen ich anhand der Bash feststellen kann, dass das Terminal neovim ist? Ich möchte das Verhalten meiner ändern, .bashrcwenn Neovim das Terminal ist.

Praxeolitische
quelle

Antworten:

15

Ich habe die Ausgabe der Ausführung envin einem Standard-Terminal mit der Ausgabe in Neovim verglichen und es sieht so aus, als wären die folgenden Variablen neu:

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

(Das habe vimich auch $VIMund $VIMRUNTIMEso deutet ihre bloße Anwesenheit nicht auf Neovim vs Vim hin ...)

alxndr
quelle
10

Abgesehen von dem Beispiel von alxndr können Sie eines selbst einstellen mit:

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

Dies ist besonders nützlich, um Informationen auf einfache Weise an die Shell zu übergeben. beispielsweise:

:let $NEOVIM_FILETYPE = &filetype
:terminal
$ env | grep NEOVIM
NEOVIM_FILETYPE=python    
Martin Tournoij
quelle