Détecter le terminal neovim de bash dans bashrc

13

Neovim définit-il des variables d'environnement qui me permettraient de détecter à partir de bash que le terminal est neovim? Je veux changer le comportement de mon .bashrcsi neovim est le terminal.

Praxéolitique
la source

Réponses:

15

J'ai comparé la sortie de l'exécution envdans un terminal standard à la sortie lors de son exécution dans Neovim, et il semble que ces variables soient nouvelles:

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

(Le vimje possède également $VIMet $VIMRUNTIMEdonc leur simple présence n'indique pas Neovim vs Vim ...)

alxndr
la source
10

Mis à part l'exemple d'Alxndr, vous pouvez en définir un vous-même avec:

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

Ceci est particulièrement utile comme moyen simple de transmettre des informations au shell; par exemple:

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