neovim是否设置了任何可让我从bash中检测到终端为neovim的环境变量?如果neovim是终端,我想更改我的.bashrc的行为。

#1 楼

我将在标准终端中运行env的输出与在Neovim中运行它时的输出进行了比较,看起来这些变量是新变量:

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


vim I也有$VIM$VIMRUNTIME,所以它们的存在并不表示Neovim vs Vim ...)

#2 楼

除了alxndr的示例外,您还可以使用以下方法设置自己:

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


,这是一种将信息传递到shell的简单方法,特别有用。例如:

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