ฉันพบว่าตัวเองอยู่ในตำแหน่งที่ต้องการสร้างไฟล์ใหม่ในไดเร็กทอรีเดียวกับไฟล์ที่เปิดอยู่ฉันจะสร้างไฟล์ใหม่ในไดเร็กทอรีของไฟล์ที่เปิดเป็นกลุ่มได้อย่างไร นอกจากนี้ยังมีสถานที่ที่ฉันสามารถเรียนรู้สิ่งเหล่านี้ได้ด้วยตัวเองหรือไม่? Googling ไม่ได้ช่วยอะไร
ฉันพบว่าตัวเองอยู่ในตำแหน่งที่ต้องการสร้างไฟล์ใหม่ในไดเร็กทอรีเดียวกับไฟล์ที่เปิดอยู่ฉันจะสร้างไฟล์ใหม่ในไดเร็กทอรีของไฟล์ที่เปิดเป็นกลุ่มได้อย่างไร นอกจากนี้ยังมีสถานที่ที่ฉันสามารถเรียนรู้สิ่งเหล่านี้ได้ด้วยตัวเองหรือไม่? Googling ไม่ได้ช่วยอะไร
คำตอบ:
จากภายในกลุ่มไฟล์ใหม่ถูกสร้างขึ้นเช่นไฟล์ที่มีอยู่จะแก้ไขผ่านทางคำสั่งเหมือนหรือ:edit filename
:split filename
ยังคงไว้ในดิสก์ที่คุณต้อง (เลือกพิมพ์ในเนื้อหาและ) :write
ยังคงมีอยู่พวกเขาผ่านทาง
เช่นเดียวกับพรอมต์คำสั่ง Vim มีแนวคิดของไดเร็กทอรีปัจจุบัน ( :pwd
แสดงรายการ) เส้นทางไฟล์ทั้งหมดสัมพันธ์กับมัน คุณไม่จำเป็นต้องทำซ้ำเส้นทางไปยังไฟล์ปัจจุบันของคุณมีทางลัดที่ดีสำหรับพวกเขา: %
หมายถึงไฟล์ปัจจุบัน:h
เป็นตัวปรับแต่งสำหรับไดเร็กทอรีลบชื่อไฟล์ (cp. :help filename-modifiers
) ดังนั้น,
:e %:h/filename
:w
จะสร้างไฟล์ใหม่ชื่อfilename
ในไดเร็กทอรีเดียวกันกับไฟล์ที่เปิดอยู่ในปัจจุบันและเขียนมัน
หรือบางคนชอบให้ Vim เปลี่ยนเป็นไดเร็กทอรีของไฟล์ปัจจุบันเสมอ ซึ่งสามารถกำหนดค่าได้โดยการวาง
:set autochdir
ลงใน~/.vimrc
ไฟล์ของคุณ(ซึ่งอ่านได้จากการเริ่มต้นเป็นกลุ่ม) จากนั้นด้านบนจะกลายเป็นเพียง
:e filename
:w
:help
สุดท้ายเป็นกลุ่มที่มีดีในตัว เรียนรู้ที่จะนำทางและค้นหา!
autochdir
เป็นขุยน่าเสียดายและฉันพบว่าไม่สามารถพึ่งพาได้ แต่ฉันใส่ autocmd ใน vimrc ของฉัน:autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
คุณควรลองใช้ปลั๊กอิน "nerdtree" ในหน้าต่าง nerdtree คุณพิมพ์คีย์ m และตัวเลือกการทำงานของไฟล์จะแสดงให้คุณเห็น
หากคุณต้องการสร้างไฟล์ใหม่และแสดงในหน้าต่างถัดจากไฟล์ปัจจุบันของคุณคุณสามารถลองสิ่งนี้:
:vsp newfile
vsp
ย่อมาvertical split
และมันแยกหน้าจอในครึ่งหนึ่งแสดงไฟล์ปัจจุบันของคุณอื่น ๆ ที่แสดงไฟล์ใหม่ (ยังทำงานร่วมกับเพียงsp
ซึ่งเป็นแยกแนวนอน)
ต่อ @ คิดเห็น MartinLyne vim
ข้างต้นนี้จะสร้างไฟล์ในไดเรกทอรีของแฟ้มที่คุณเปิด ในการปรับเปลี่ยนนี้คุณสามารถเปลี่ยนไดเร็กทอรีการทำงานปัจจุบันได้ดังนี้:
:cd %:p:h
คำสั่งนี้เปลี่ยนไดเร็กทอรีการทำงานปัจจุบันเป็นไดเร็กทอรีของไฟล์ที่ใช้งานอยู่ซึ่งหมายความว่าการรันvsp
คำสั่ง (หรือคำสั่งใด ๆ ด้านบน) จะสร้างไฟล์ในไดเร็กทอรีนั้น
เมื่อคุณเปิดเป็นกลุ่มในตำแหน่งที่ไม่มีอยู่เช่น $ vim /etc/<some_folder/<next_folder>/file.cfg
จากนั้นเพื่อสร้างไดเรกทอรีใหม่ในขณะที่อยู่ในกลุ่มให้เรียกใช้ในโหมดปกติ:! mkdir -p /etc/<some_folder/<next_folder>
และบันทึกเอกสารของคุณตามปกติ:w :x ZZ
(อะไรก็ได้ที่คุณต้องการ)
แค่นั้นแหละ
นี่สำหรับ Gvim! ป้อนสิ่งนี้เพื่อดูไดเร็กทอรีปัจจุบัน
:cd
จากนั้นเปลี่ยนด้วย
:cd desktop/somefolder
จากนั้นบันทึกหรือสร้างไฟล์ใหม่ที่นั่น
:enew asd.cpp
ตอนนี้ดูไฟล์อีกครั้ง
:cd
ฉันไปงานปาร์ตี้ค่อนข้างช้า แต่อีกทางเลือกหนึ่งคือการเปิด NERDtree ด้วย:E
หรือ:Explore
(หรือทางเลือกอื่นที่แยกออก:Vexplore
/ :Sexplore
== :Vex
/ :Sex
)
ใน NerdTree คุณสามารถสร้างไฟล์ใหม่%
และพิมพ์ชื่อ มันจะเปิดไฟล์โดยอัตโนมัติและสร้างขึ้นหลังจากที่คุณ:w
/ บันทึก