วิธีแปลงอักขระบรรทัดใหม่ของ DOS / Windows ให้เป็นรูปแบบ Unix ภายใน GNU Emacs


37

มีวิธีบอก GNU Emacs ให้แปลงอักขระบรรทัดใหม่ของ DOS / Windows เป็นไฟล์ในรูปแบบ Unix หรือไม่?


คุณสามารถคลิกที่ปุ่มเล็ก ๆ ใน modeline และบันทึกอีกครั้ง
abo-abo

@ abo-abo: ปุ่มเล็ก ๆ ไหน?
Charo

2
คนที่สองจากซ้ายกับ Unix :สไตล์ดูเหมือนว่า
abo-abo

2
กับ DOS (DOS)ก็
abo-abo

คำตอบ:


41

หากบรรทัดโหมดแสดง(DOS)ตัวบ่งชี้ให้คลิกที่มันสองครั้งเพื่อสลับไปเป็น:หมายถึงบรรทัดใหม่ของ Unix แล้วบันทึกไฟล์

ถ้าคุณไม่สามารถคลิกที่บรรทัดโหมดหรือต้องการแก้ปัญหาที่แป้นพิมพ์ที่ใช้เรียกใช้คำสั่งC-x RET f( set-buffer-file-coding-system) unixและประเภท สิ่งนี้จะเปลี่ยนการเข้ารหัสของบรรทัดใหม่โดยไม่เปลี่ยนการเข้ารหัสของอักขระอื่น (นอกจากนี้คุณยังสามารถเปลี่ยนการเข้ารหัสของตัวละครอื่นได้โดยพิมพ์สิ่งที่ชอบutf-8-unix)


1
C-x RET f (set-buffer-file-coding-system) ->M-x set-buffer-file-coding-system RET
CodyChan

@CodyChan เป็นค่าเริ่มต้นผูกพันC-x RET f set-buffer-file-coding-system
Gilles 'SO- หยุดความชั่วร้าย'

ฉันผูกฟังก์ชั่นกับC-x C-mและปัจจุบันฉันใช้ Emacs ใน terminal จากระยะไกลเมื่อฉันรันC-x RETใน Emacs มันบอกว่ามันถูกผูกไว้กับฟังก์ชั่นที่ฉันผูกไว้กับC-x C-mฉันคิดว่าM-x เหมาะสมกับทุกคน
CodyChan

1
@CodyChan ฉันให้การผูกค่าเริ่มต้น (เช่นเอกสาร Emacs) เพราะมีประโยชน์ต่อผู้อ่านส่วนใหญ่ เห็นได้ชัดว่าหากคุณเปลี่ยนการผูกเริ่มต้นคุณจะไม่สามารถใช้การผูกเริ่มต้นได้ คุณสามารถใช้M-xกับชื่อฟังก์ชั่นที่ระบุไว้ในวงเล็บไม่มีจุดในการทำซ้ำ ทำทราบว่าRETเป็นสิ่งเดียวC-mซึ่งเป็นสิ่งที่คีย์กลับมาส่งบนขั้ว - ผูกพันที่นำมาใช้กับปุ่มย้อนกลับใน GUI returnจะใช้
Gilles 'หยุดความชั่วร้าย'

4

บันทึกไฟล์และ Emacs buffer-file-coding-systemโดยอัตโนมัติจะใช้ถ่านขึ้นบรรทัดใหม่ที่ถูกต้องเมื่อเขียนบัฟเฟอร์ไปยังแฟ้มตามค่าของ

รู้ว่าสิ่งที่คุ้มค่าของบัฟเฟอร์ไฟล์เข้ารหัสระบบโทรdescribe-variableแล้วbuffer-file-coding-systemหรือเรียกใช้คำสั่งที่คุณสามารถทำโดยการคลิกที่ตัวอักษรตัวที่สองของสายโหมดหรือกดdescribe-coding-system C-h Cหากต้องการตั้งค่าให้โทรset-buffer-file-coding-system( C-x RET f) และแท็บเพื่อเลือกรายการที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.