Vi and Vim Stack Exchange is a question and answer site for people using the vi and Vim families of text editors. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does neovim set any environment variables that would let me detect from bash that the terminal is neovim? I want to change the behavior of my .bashrc if neovim is the terminal.

share|improve this question
up vote 10 down vote accepted

I compared the output of running env in a standard terminal to the output when running it within Neovim, and it looks like these variables are new:

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 vim I have also has $VIM and $VIMRUNTIME so their mere presence doesn't indicate Neovim vs Vim...)

share|improve this answer

Aside from alxndr's example, you can set one yourself with:

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

This is especially useful as a simple way to pass information to the shell; for example:

:let $NEOVIM_FILETYPE = &filetype
:terminal
$ env | grep NEOVIM
NEOVIM_FILETYPE=python    
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.