ตรวจจับเทอร์มินัล neovim จาก bash ใน bashrc


13

neovim ตั้งค่าตัวแปรสภาพแวดล้อมใด ๆ ที่จะให้ฉันตรวจจับจากการทุบตีว่าเทอร์มินัลเป็น neovim หรือไม่? ฉันต้องการเปลี่ยนพฤติกรรมของฉัน.bashrcถ้า neovim เป็นสถานี

คำตอบ:


15

ฉันเปรียบเทียบเอาต์พุตของการทำงาน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ฉันมีเช่นกัน$VIMและ$VIMRUNTIMEการปรากฏตัวของพวกเขาก็ไม่ได้บ่งบอกว่า Neovim vs Vim ... )


10

นอกเหนือจากตัวอย่างของ alxndr คุณสามารถตั้งค่าด้วยตัวคุณเองด้วย:

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

สิ่งนี้มีประโยชน์เป็นพิเศษเป็นวิธีง่ายๆในการส่งผ่านข้อมูลไปยังเชลล์ ตัวอย่างเช่น:

:let $NEOVIM_FILETYPE = &filetype
:terminal
$ env | grep NEOVIM
NEOVIM_FILETYPE=python    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.