ใช้ case สำหรับ neovim terminal emulator หรือไม่


10

ความแตกต่างที่สำคัญอย่างหนึ่งของ neovim และ Vim ก็คือ neovim นั้นมีเทอร์มินัลอีมูเลเตอร์ที่ทำงานแบบอะซิงโครนัส

อย่างไรก็ตามฉันไม่เห็นว่าฉันจะได้ประโยชน์จากคุณลักษณะนี้อย่างไร ฉันจะใช้อะไรได้บ้าง คุณสามารถใช้เคสสำหรับคุณสมบัติเทอร์มินัลของ neovim เพื่อให้ฉันเข้าใจได้อย่างไรว่าฉันจะใช้มันให้ดีที่สุดได้อย่างไร?

ในกลุ่มปกติผมปกติใช้:read !{command}, :write !{command}, Ctrl+Zและfgเช่นเดียวกับ tmux หน้าต่างแยก


ปัญหาหนึ่ง<C-z>คือกระบวนการของ Vim นั้นถูกระงับโดยระบบปฏิบัติการ: มันไม่ได้ทำอะไรเลย (รวมถึงการตอบสนองต่อคำสั่งเซิร์ฟเวอร์)
มาร์ติน Tournoij

มันจะช่วยให้ใช้:shellกับexitแทนหรือเป็นกลุ่มที่ถูกระงับที่นี่ด้วย?
cbaumhardt

1
@Carpetsmoker คุณคาดหวังว่าโปรแกรมแก้ไขข้อความจะทำอย่างไรเมื่อคุณไม่ได้ใช้
romainl

@romainl ตัวอย่างเช่นฉันมีสคริปต์ซึ่งจะมุ่งเน้นการแก้ไขเป็นกลุ่มเซสชั่นเป็นกลุ่มไฟล์; นี้จะแขวนบนระงับกระบวนการที่เป็นกลุ่ม ...
มาร์ติน Tournoij

1
นั่นไม่ใช่ปัญหา<C-z>นั่นเป็นปัญหาของสคริปต์ของคุณ
romainl

คำตอบ:


10

การรันเทอร์มินัลภายใน Vim ให้คุณใช้คำสั่ง Vim บนอินพุตและเอาต์พุตไปยังโปรแกรมที่คุณรันในเทอร์มินัลนั้น คุณจะได้รับการค้นหาคัดลอกวางมาโครการกำหนดสีและอื่น ๆ การใช้:read !{command}และการ:write !{command}ให้คำสั่งแบบ one-shot แต่อินพุต / เอาต์พุตอะซิงโครนัสจะมีประโยชน์เมื่อคุณต้องการส่งอินพุตไปยังโปรแกรมภายนอกทีละชิ้น

กรณีใช้งานทั่วไปคือread-eval-print loop (REPL) ซึ่งจัดทำโดยภาษาการเขียนโปรแกรมระดับสูงมากมาย คุณพิมพ์ stanza ในซอร์สโค้ดของคุณจากนั้นป้อนไปยัง REPL เพื่อรับข้อเสนอแนะในทันที เนื่องจาก REPL ทำงานต่อจากการส่งครั้งเดียวจนถึงครั้งต่อไปจึงมีการประมวลผลข้อมูลโค้ดในบริบท


6

ฉันคิดว่าตัวเลือกในการสร้างการแม็พแบบเทอร์มินัลเท่านั้นมีค่าและขยายตัวเลือกที่คุณมีในเทอร์มินัลอีมูเลเตอร์อื่น ๆ เช่นการแมป t เพื่อรัน unittests ด้วยการกำหนดค่าเฉพาะซึ่งคุณสามารถทำได้ผ่านนามแฝงที่ซับซ้อน


4

กรณีการใช้งานที่ชัดเจนที่สุดที่ฉันคิดได้คือการเขียนโปรแกรม คุณเคยต้องการทดสอบใน VIM หรือคอมไพล์หรือใช้เครื่องมือคอนโซลใด ๆ หรือไม่? ฉันรู้ว่าคนใช้ Tmux แต่รู้ว่าคุณสามารถทำได้ใน NeoVIM ฉันต้องพูด นี่มันยอดเยี่ยมมาก !!!

หากคุณใช้บัฟเฟอร์คุณสามารถเพิ่มลบซ่อนและแสดงเทอร์มินัลตามที่คุณต้องการ นั่นคือผลกำไร;)

เล่นเชลล์ภายใน NeoVIM


3

กรณีการใช้งานที่ดีที่สุดที่ฉันคิดได้คือ ADM-3a ดั้งเดิมบนสาย 110 bps! บางครั้งก็ไม่มีอะไรมาทดแทนการมองสิ่งต่าง ๆ และ:!rไม่ตัดมัน


3
ขอให้โชคดีทำทุกอย่างในหน้าต่าง 39x12 (หรือ 39x24!) สองหน้าต่าง ;-)
โรม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.