Deteksi terminal neovim dari bash di bashrc

13

Apakah neovim menetapkan variabel lingkungan yang memungkinkan saya mendeteksi dari bash bahwa terminal adalah neovim? Saya ingin mengubah perilaku saya .bashrcjika neovim adalah terminal.

Praxeolitic
sumber

Jawaban:

15

Saya membandingkan output dari berjalan envdi terminal standar dengan output ketika menjalankannya dalam Neovim, dan sepertinya variabel-variabel ini baru:

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 vimI juga telah memiliki $VIMdan $VIMRUNTIMEkehadiran mereka semata tidak menunjukkan Neovim vs Vim ...)

alxndr
sumber
10

Selain dari contoh alxndr, Anda dapat mengatur sendiri dengan:

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

Ini sangat berguna sebagai cara sederhana untuk meneruskan informasi ke shell; sebagai contoh:

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