ไปที่การเรียกดูไดเร็กทอรีย้อนกลับหลังจากเปิดไฟล์เป็นกลุ่ม


123

Enterเมื่อเปิดไดเรกทอรีเรียกดูข้อมูลในกลุ่มผมสามารถเปิดไฟล์โดยการย้ายเคอร์เซอร์ไปที่ชื่อแฟ้มและกด

ตอนนี้มีคำสั่งให้กลับไปที่การเรียกดูไดเรกทอรีก่อนหน้าหรือไม่?

หากไม่เป็นเช่นนั้นมีวิธีเปิดไฟล์โดยไม่ต้องปิดโหมดการเรียกดูไดเร็กทอรีหรือไม่?


2
ฉันไม่แน่ใจ แต่ถ้าคุณต้องการเรียกดูไดเรกทอรีที่สะดวกจริงๆฉันขอแนะนำให้คุณลองดู NERDTree
Johan Kotlinski

คำตอบ:


198

:b#คุณสามารถกลับไปยังบัฟเฟอร์ที่ผ่านมาโดยใช้

หากคุณเพิ่งเปิดไฟล์ไฟล์นั้นจะนำคุณกลับไปที่การเรียกดูไดเรกทอรี

อัปเดต : เนื่องจากคำตอบนี้ได้รับการยอมรับว่าเป็นคำตอบที่ถูกต้องและอยู่ด้านบนฉันจึงขอสรุปคำตอบเล็กน้อยรวมถึงคำตอบของ @romainl ที่ imho เป็นคำตอบที่ถูกต้อง

  • :Rex[plore]: กลับไปที่ Explorer ( โดย @romainl ) vimdoc.sourceforge
  • :Explorer: เปิด Explorer เหมือนกับ:E(ถ้าไม่มีคำสั่งอื่นที่ขึ้นต้นด้วยEถูกกำหนดไว้ (ดูstackoverflow ) หรือเป็น:Ex(ดูvim.wikia ) ( โดย @ drug_user841417 )
  • :b#: กลับไปที่ "บัฟเฟอร์ที่แก้ไขก่อนหน้านี้" ดูvim.wikia
  • :e#หรือCtrl- 6(หรือCtrl- ^): กลับไปที่ "ไฟล์ที่แก้ไขก่อนหน้านี้" ( โดย @ aman-jain ) ดูvim.wikia
  • Ctrl- O: กลับไปที่ตำแหน่งก่อนหน้า (เก่ากว่า) ไม่จำเป็นต้องเป็นบัฟเฟอร์ ( โดย @Peyman ) ดูvim.wikia

3
:b#ที่ควรจะเป็น ฉันจะแก้ไข แต่การแก้ไขแบบอักขระเดี่ยวจะไม่บิน
echristopherson

ถ้าฉันทำvim <dirname>แล้วไปที่ไฟล์แล้วกดEnterมันไม่ทำงาน ถ้าฉันเปิดกลุ่ม:e <dirname>ให้เลือกไฟล์และEnterมันใช้งานได้ ในทั้งสองกรณี:buffersจะแสดงเพียงบัฟเฟอร์เดียว ฉันไม่แน่ใจว่าทำไมถึงเป็นเช่นนั้น
mcmlxxxvi

@mcmlxxxvi ตาม vim wiki b#ใช้ได้เฉพาะกับ "บัฟเฟอร์ที่แก้ไขก่อนหน้านี้": vim.wikia.com/wiki/…
ezdazuzena

3
เป็นเรื่องดีที่สรุปคำตอบอื่น ๆ ที่ถูกต้องฉันหวังว่าจะมีคนทำเช่นนั้นมากขึ้น
LightMan

1
@veich ขอบคุณสำหรับความคิดเห็นของคุณ แต่ตอนนี้ฉันจะไม่ทำเช่นนั้นเนื่องจากคำถามเป็นเพียงการย้อนกลับเท่านั้น นี่ไม่ใช่หน้าวิกิฉันแค่สรุปคำถามอื่น ๆ เพื่อความชัดเจน หวังว่าคุณจะเข้าใจ
ezdazuzena

88

คุณสามารถใช้Ctrl- Oเพื่อกลับไปที่บัฟเฟอร์ก่อนหน้า


2
มีประโยชน์มากโดยทั่วไป (เช่นสำหรับการนำทางกลับจากgf) แต่ในกรณีของการสำรวจไดเร็กทอรีจะไม่นำฉันกลับไปที่ "บรรทัด" ที่ฉันเปิดอยู่เมื่อเปิดไฟล์ :Rex<Enter>ซึ่งค่อนข้างเงอะงะ (5 การกดแป้นพิมพ์เทียบกับ 1) อาจเป็นตัวเลือกสำหรับการทำแผนที่ ...
Tomasz Gandor

34

คำสั่งที่เหมาะสมสำหรับการกลับไปที่รายชื่อ netrw :Rex[plore]คือ คุณสามารถเรียกใช้งานได้แม้ว่าคุณจะข้ามไปยังไฟล์หลายสิบไฟล์แล้วก็ตาม


เมื่อแก้ไขไฟล์หลังจากออกจากรายชื่อ netrw จะส่งคืนด้วยสิ่ง:Rexploreใดที่แตกต่างจากการส่งคืนด้วย:Explore?
Jasha

เพื่อตอบคำถามของฉันเองดูเหมือนว่า:Rexploreจะส่งคืนคุณไปยังรายชื่อ netrw เดียวกันกับที่คุณเรียกดูก่อนหน้านี้เสมอในขณะที่:Exploreให้รายชื่อไดเร็กทอรีของไฟล์ใด ๆ ที่เปิดอยู่ในปัจจุบัน
Jasha

29

:Ex จะนำคุณกลับไป (และแสดงสิ่งที่คุณแก้ไขและไม่ได้บันทึก)


1
ฉันโหวตทุกคำตอบ มันมีประโยชน์ทั้งหมด
javadba

ดีมันดีกว่าเล็กน้อยCtrl-Oเพราะไฮไลต์ไดเรกทอรีหลัก ( ..) แทนที่จะเป็นบรรทัดบนสุด (ส่วนหัวของ Netrw บางส่วน) แต่ก็ยังไม่ใช่ที่ที่ฉันออกจาก explorer (ไฟล์ที่เปิด) การกดแป้นพิมพ์ 4 ครั้งเทียบกับ 1 การบันทึกบางส่วนjเพื่อนำทางไปยังตำแหน่งที่ฉันอยู่ แต่ฉันก็ยังมีแนวโน้มที่จะทำแผนที่:Rex<Enter>หากฉันคาดหวังว่าจะมีการนำทางมาก
Tomasz Gandor

26

ฉันใช้ Ctrl ^ เพื่อย้อนกลับ b / w สองบัฟเฟอร์


1
สิ่งนี้ใช้ได้กับฉันกับ vim 7.3 บน OSX จาก homebrew Ctrl-O ดูเหมือนจะไม่ทำงาน
Gardner Bickford

5
คุณไม่จำเป็นต้องกะด้วยซ้ำทำได้แค่ Ctrl 6
mVChr

ถูกต้องมากขึ้นสิ่งนี้ "แก้ไขไฟล์ทางเลือก": vimdoc.sourceforge.net/htmldoc/editing.html#CTRL- ^
ezdazuzena

ยอดเยี่ยม แม้ว่ามันจะใช้งานได้กลับไปกลับมา (เหมือน "การเลิกทำระดับ 1") แต่จริงๆแล้วมันกลับไปที่บรรทัดที่ฉันเปิดอยู่! ดูเหมือนว่าฉันจะไม่ได้ทำแผนที่:Rex<CR>เลย! (แน่นอนเฉพาะเมื่อฉันไม่หวังว่าจะ "ย้อนกลับ" จากการนำทางที่ซ้อนกัน (ข้ามไปยังไฟล์อื่นเป็นต้น)
Tomasz Gandor

15

:Eฉันมักจะใช้เพียง ง่ายต่อการจดจำและนำคุณกลับไปที่รายการไดเร็กทอรีของไฟล์ที่คุณเปิดไว้


2
ฉันแปลกใจที่มีคนโหวตน้อยเกินไป เป็นคำตอบแน่นอน
TaoPR

1
อย่าแปลกใจ - ใน vim 7.4.x ปัจจุบันของฉัน:Eคลุมเครือและไม่ทำอะไรเลย :E<CR>คุณจำเป็นต้องพิมพ์อย่างน้อย
Tomasz Gandor

1
นี่เหมือนกับ:Exหรือ:Explorerถ้าไม่มีคำสั่งอื่นที่ขึ้นต้นด้วยEถูกกำหนดไว้ ดูตัวอย่างstackoverflow.com/a/14367507/1141095
ezdazuzena
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.