โปรแกรมแก้ไขเป็นกลุ่มฉันจะบันทึกไฟล์ในไดเรกทอรีอื่นได้อย่างไร


41

ฉันใหม่ในโลกของ ubuntu และ vim editor
คำถามของฉันคือ: ฉันจะบันทึกไฟล์บน localhost ของฉันโดยใช้ vim ได้อย่างไร?
เมื่อฉันใช้คำสั่ง:wฉันบันทึกไฟล์ แต่ที่ไหน และฉันจะเปลี่ยนตำแหน่งไฟล์เป็น/var/www/อย่างไร


@ElderGeek มันใช้งานได้ดีถ้าคุณตอบว่าฉันจะยอมรับมัน
ทุ่งหญ้า

คำตอบ:


49

คุณสามารถป้อน:pwdเพื่อแสดงไดเรกทอรีการทำงานปัจจุบัน :w filenameซึ่งเป็นที่ที่ไฟล์ของคุณจะถูกบันทึกไว้ถ้าเพียงแค่ใส่ :cd path/to/new/directoryคุณสามารถเปลี่ยนไดเรกทอรีการทำงานกับ :w /var/www/filenameหรือคุณสามารถป้อนเส้นทางแบบเต็มไปยังตำแหน่งที่คุณต้องการที่จะบันทึกไฟล์ที่มีคำสั่งในการเขียนเช่น


18

wคำสั่งที่เป็นกลุ่มสนับสนุนเป็นพารามิเตอร์ชื่อไฟล์ที่สามารถมีเส้นทางดังนั้น

:w /var/www/filename

ควรใช้งานได้หากคุณมีสิทธิ์เขียนไปยังไดเรกทอรีนั้น
คุณสามารถใช้ความสมบูรณ์ของแท็บเพื่อสร้างชื่อพา ธ

คำสั่งเปลือย:wทำงานเฉพาะถ้าคุณเริ่มต้นvimให้มันชื่อไฟล์แล้ว


1
ใช่เมื่อฉันใช้คำสั่ง: w ฉันได้กำหนดชื่อให้กับไฟล์แล้ว ... ฉันพยายามบันทึกไฟล์ลงในไดเรกทอรี localhost ของฉันโดยใช้คำแนะนำที่คุณให้มาและใช้งานได้! ขอบคุณมากถ้าวันหนึ่งฉันสามารถช่วยคุณฉันจะไม่ลังเล!
berga007

11

นำทางไปยังไดเรกทอรีที่คุณต้องการบันทึกไฟล์ใหม่เปิดไฟล์ที่คุณต้องการแก้ไขจากนั้นใช้

Esc:sav newfilenameหรือEsc:w newfilenameว่าควรจะทำงานให้คุณ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเคล็ดลับที่เป็นกลุ่มคุณอาจพบว่าสูตรนี้มีประโยชน์

แก้ไขตามที่ร้องขอ

:sav บันทึกไฟล์ด้วยชื่อใหม่และเปิดไฟล์ใหม่ใน Vim

หมายเหตุ:: sav จะไม่ปิดบัฟเฟอร์เริ่มต้นมันจะซ่อนมัน โดยค่าเริ่มต้นบัฟเฟอร์ที่ซ่อนอยู่จะถูกยกเลิกการโหลด

:w บันทึกไฟล์ด้วยชื่อใหม่ แต่ยังคงเปิดดั้งเดิมไว้เพื่อแก้ไข

แก้ไขแหล่งที่มา: https://stackoverflow.com/questions/4980168/how-to-save-as-a-new-file-and-keep-working-on-the-original-one-in-vim


คุณน่าจะอธิบายได้โดยตรงในคำตอบความแตกต่างระหว่าง:savและ:wมันค่อนข้างมีประโยชน์ที่จะรู้
Matteo Italia

1
@MatteoItalia จุดดี ทำ
Elder Geek

สมบูรณ์แบบขึ้นโหวต!
Matteo Italia

6

ฉันเชื่อว่าคุณต้องการลองแบบนี้ (อย่าลืมเครื่องหมายทับสองด้านในตอนท้าย)

:w /var/www//%:t

ใช่ฉันลองอะไรแบบนั้นแล้วก็ใช้ได้ ขอบคุณ
berga007

1
@ berga007 โปรดอย่าโพสต์ "ขอบคุณ" ความคิดเห็นแทนที่จะยอมรับคำตอบ
guntbert

6

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

กดescเพื่อเข้าสู่โหมดปกติจากนั้นพิมพ์

:w ~/Desktop/filename

สิ่งนี้ใช้ได้กับทุกเส้นทางที่คุณได้รับอนุญาตให้เขียนลงในไดเรกทอรี หากคุณต้องการบันทึกที่ที่คุณไม่มีสิทธิ์เขียนคุณสามารถทำได้:

:w !sudo tee /path/to/my/filename

3

หากคุณสร้างไฟล์ใหม่ด้วย Vim การกดลำดับคีย์Esc- :- w- q- Enterจะบันทึกไฟล์ไปยังตำแหน่งปัจจุบันที่คุณเปิดใช้ Vim ตัวอย่างเช่นหากคุณอยู่ที่ / home / $ USER ไฟล์จะถูกสร้างขึ้นภายใต้ไดเรกทอรีนี้ วิธีง่ายๆในการเปิดใช้ vim โดยใช้:

vim myFile.txt

สิ่งนี้จะสร้างไฟล์ใหม่หรือเขียนทับไฟล์ที่มีชื่อmyFile.txtในตำแหน่งปัจจุบัน


2

บนตัวเรียกใช้ของคุณไอคอนที่สองคือรูปภาพของตู้เก็บเอกสาร สิ่งนี้เรียกว่า Nautilus (ตัวจัดการไฟล์ของ Ubuntu)

เลือก Nautilus และไดเรกทอรีบ้านของคุณควรเปิด คุณควรเห็นไฟล์ของคุณที่นั่น

คลิกขวาที่ไฟล์ของคุณและเลือก 'คัดลอก' เปิดอีเมลของคุณเขียนข้อความใหม่คลิกที่เนื้อหาของข้อความ จากนั้น 'คลิกขวา' และในเวลานี้เลือก 'วาง'

คำแนะนำเหล่านี้ใช้ได้กับ Ubuntu 14.04 และ 16.04 แต่ฉันไม่รู้ว่า 12.04 มี Nautilus หรือไม่


2
12.04 รวมถึง Nautilus ดูที่นี่: packages.ubuntu.com/search?keywords=nautilus
wjandrea

3
-1 คำตอบนี้ไม่เกี่ยวข้องกับกลุ่ม ฉันคิดว่าคุณโพสต์คำตอบที่ถูกต้องในคำถามที่ผิด
wjandrea

@wjandrea ในขณะที่ฉันเขียนข้อความนี้ทางโทรศัพท์ OP มีคำถามหลายส่วน "หรืออาจส่งอีเมลถึงตัวเอง" คำตอบนี้บอกวิธีการจัดการส่วนอีเมลของคำถาม ขอบคุณที่ให้ความเห็นว่าทำไมคุณถึงโหวต ไม่ใช่ทุกคนที่ได้รับความอนุเคราะห์
WinEunuuchs2Unix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.