ฉันมีหลายบรรทัดที่ฉันต้องการเขียนลงในไฟล์อื่น
ฉันจะทำสิ่งนั้นได้อย่างไร
ฉันมีหลายบรรทัดที่ฉันต้องการเขียนลงในไฟล์อื่น
ฉันจะทำสิ่งนั้นได้อย่างไร
คำตอบ:
คุณทำได้
:100,200w filename
แน่นอน 100,200 คือช่วงของบรรทัดที่คุณต้องการเขียน
ทั่วไปมากที่สุด:
เลื่อนเคอร์เซอร์ไปที่บรรทัดแรกของกลุ่มที่คุณต้องการเขียน Hit m
และa
ต่อเนื่อง นั่นคือ "ชุดเครื่องหมายชื่อ 'a'"
เลื่อนเคอร์เซอร์ไปที่บรรทัดสุดท้ายของกลุ่มกด 'm' และ 'b'
เปลี่ยนไปเป็นโหมดคำสั่งที่ตี: เป็นลำดับที่ทำ:'a,'b w
filename
แล้วกดส่งคืน
ที่จะทำงานใน vi, nvi และ vim
อีกวิธีหนึ่งทำงานในกลุ่มที่ทันสมัยยิ่งขึ้น:
วางเคอร์เซอร์ที่บรรทัดแรกของกลุ่มบรรทัดที่คุณต้องการเขียน กดปุ่มV
"เริ่มต้นบล็อกเส้นที่มองเห็น"
เลื่อนเคอร์เซอร์ไปที่ด้านล่างของกลุ่มของเส้น Vim จะเน้นด้วยวิดีโอย้อนกลับในแต่ละบรรทัด
เขียนออกมา กด:
ปุ่มเพื่อเข้าสู่โหมดบรรทัดคำสั่ง ที่จะทำให้คุณได้รับการพร้อมท์ที่ด้านล่างของ scren ที่มีลักษณะ: :'<,'>
นั่นหมายถึงจากจุดเริ่มต้นของบล็อกภาพไปยังจุดสิ้นสุด พิมพ์w
และชื่อไฟล์และกดส่งคืน
คุณสามารถเพิ่มบรรทัดแยกลงในส่วนท้ายของไฟล์ตามที่คุณต้องการโดยวางเคอร์เซอร์บนบรรทัดที่คุณต้องการเขียนแล้วพิมพ์: :.w >> filename
และกดปุ่มย้อนกลับ
คำสั่ง "เขียนกลุ่มบรรทัด" ยังสามารถใช้งานกับ ">> ชื่อไฟล์" แทน "ชื่อไฟล์" ">>" ทำให้ vi หรือกลุ่มที่จะผนวกกับไฟล์มากกว่าแค่เขียนมัน
:w filename
หากต้องการเพิ่มคำตอบของแบร์นฮาร์ดคุณยังสามารถเลือกพื้นที่ใช้โหมดภาพและจากนั้นป้อน
หากคุณรู้หมายเลขบรรทัดที่คุณต้องการเขียนคุณสามารถทำได้จากบรรทัดคำสั่ง:
vim -c "100,200w new_file.txt" -c wq original_file.txt
เคล็ดลับเล็ก ๆ อย่างหนึ่งคือการใช้หมายเลขบรรทัดสัมพัทธ์ ตัวอย่างเช่น:: + 0, + 99w ชื่อไฟล์เขียน 100 บรรทัดถัดไปในชื่อไฟล์