ฉันจะออกจากกลุ่มไม่ได้:q
แล้วกลับไปแก้ไขต่อได้อย่างไร
ฉันจะออกจากกลุ่มไม่ได้:q
แล้วกลับไปแก้ไขต่อได้อย่างไร
คำตอบ:
การสันนิษฐานเทอร์มินัลเป็นกลุ่มในรสชาติของ * ระวัง:
Ctrl + Z
จะระงับกระบวนการและกลับสู่เชลล์ของคุณ
fg
จะดำเนินการต่อ (นำไปสู่fแร่รอบg ) กลุ่มที่ถูกระงับ
เริ่ม subshell โดยใช้:
:sh
(ตามที่กำหนดโดย)
:set shell?
:!bash
ติดตามโดย:
Ctrl+ D(หรือexit
แต่ทำไมพิมพ์มากนัก)
เพื่อฆ่าเชลล์และกลับไปเป็นกลุ่ม
nodemon app.js
(nodemon รีเฟรชเซิร์ฟเวอร์ในการแก้ไขไฟล์สำหรับคุณ) แล้วฉันต้องการกลับไปแก้ไข vim ของฉัน ฉันสามารถทำได้โดยไม่มีหน้าต่างเทอร์มินัลสองเครื่องแยกกันได้หรือไม่
jobs
เยี่ยมชมกระบวนการเบื้องหน้าพร้อมกับชื่อที่อ่านได้มากขึ้น (สำหรับฉัน) จากนั้นเช่นfg %2
เพื่อเลือกวินาที
control-z
ทำหน้าที่เป็น 'เลิกทำ' ให้ตรวจสอบ vimrc ของคุณเพื่อดูว่าbehave mswin
มีอยู่หรือไม่ หากมีการลบออกและcontrol-z
จะทำงาน
exit
คุณสามารถใช้:sh
เพื่อออกจากเชลล์เริ่มต้นจากนั้นพิมพ์$ exit
ที่ shell prompt จะนำคุณกลับไปที่ Vim
คุณสามารถเปลี่ยนเป็นโหมดเชลล์ชั่วคราวได้โดย:
:! <command>
เช่น
:! ls
หากคุณใช้ระบบ Unix, Ctrl+ Zจะระงับ Vim และให้เชลล์แก่คุณ
พิมพ์fg
เพื่อย้อนกลับ โปรดทราบว่า Vim สร้างไฟล์ swap ในขณะที่แก้ไขและการระงับ Vim จะไม่ลบไฟล์นั้น (คุณไม่ได้ออกจาก Vim เลย) บนอาคารใบ้วิธีนี้เป็นมาตรฐานสวยสำหรับการแก้ไข-รวบรวมแก้ไขวงจรโดยใช้vi ฉันเพิ่งค้นพบว่าสำหรับฉันgVimลดการพิมพ์Zลง
นอกจากนี้คุณยังสามารถทำได้โดยจะตกอยู่ในเปลือกและกลับมาโดย:sus
fg
มีหลายวิธีในการออกจากกลุ่มและมีทุกอย่างเหมือนกันเมื่อคุณกลับมา มีเอกสารที่ดีมากในกลุ่มที่เป็นตัวของตัวเองอธิบายถึงวิธีการต่าง ๆ ที่สามารถทำได้ คุณสามารถใช้คำสั่งต่อไปนี้ภายในกลุ่มเพื่อเข้าถึงหน้าช่วยเหลือที่เกี่ยวข้อง::help usr_21
เพื่อให้ข้อมูลสรุปสั้น ๆ ต่อไปนี้เป็นวิธีที่แตกต่างกันในการเลิกและกลับมาพร้อมกับเซสชันของคุณ:
ระงับและดำเนินการต่อ - คุณจะไม่ออกจาก Vim ด้วยสิ่งนี้ คุณเพียงแค่ซ่อนเซสชั่นของคุณในพื้นหลังจนกว่าคุณต้องการ หากคุณรีเซ็ตคอมพิวเตอร์หรือออกคำสั่ง kill เป็น Vim คุณจะสูญเสียเซสชันของคุณ สิ่งนี้เป็นสิ่งที่ดีเมื่อคุณต้องการสลับไปใช้งานอื่นชั่วคราว แต่ถ้าเป็นกรณีนี้คุณอาจต้องการใช้ยูทิลิตี GNU Screenแทน
เซสชั่น - นี่คือวิธีที่แท้จริงในการบันทึกเซสชันของคุณระหว่างอินสแตนซ์ของ Vim แม้ว่าคุณจะออกจากกลุ่มอย่างแท้จริงเซสชันของคุณจะอยู่ที่นั่นเมื่อคุณกลับมา นี่อาจเป็นสิ่งที่คุณกำลังมองหา
ในการขยายคำตอบของผู้ใช้Zenคุณสามารถเพิ่มบรรทัดต่อไปนี้ใน~/.vimrc
ไฟล์ของคุณเพื่อให้สามารถสลับระหว่าง Bash และ Vim ได้อย่างรวดเร็ว:
noremap <C-d> :sh<cr>
เพียงใส่fg
และกลับไปยังโปรแกรมที่ถูกระงับล่าสุดของคุณ
หากคุณใช้Neovimคุณสามารถทำสิ่งต่อไปนี้:
:terminal
คำสั่งเพื่อเปิดหน้าต่างเทอร์มินัล exit
เพื่อฆ่ากระบวนการเทอร์มินัลหากคุณไม่รังเกียจการใช้เม้าส์ของคุณ:
สิ่งนี้จะสร้างแท็บใหม่บนเทอร์มินัลซึ่งคุณสามารถเรียกใช้ Vim ได้ ตอนนี้ใช้เมาส์เพื่อเลื่อนไปยัง / จากเทอร์มินัล ฉันชอบสิ่งนี้แทนที่จะต้องพิมพ์ ( :shell
และออก) เสมอ
ps
เพื่อดูกระบวนการพื้นหน้าunix.stackexchange.com/questions/6115/…