Deteksi terminal neovim dari bash di bashrc


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

Jawaban:


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 ...)


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    
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.