นี่คือการเยื้องคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
เยื้อง - เปลี่ยนลักษณะที่ปรากฏของโปรแกรม C โดยการแทรกหรือลบช่องว่าง
เรื่องย่อ
เยื้อง [ตัวเลือก] [ไฟล์อินพุต]
เยื้อง [ตัวเลือก] [ไฟล์อินพุตเดียว] [-o ไฟล์เอาต์พุต]
เยื้อง --รุ่น
DESCRIPTION
หน้านี้สร้างจากไฟล์ เยื้อง.texinfo. นี่คือฉบับของ "The เยื้อง
คู่มือ" สำหรับเวอร์ชันเยื้อง อัปเดตล่าสุด
การขอ เยื้อง สามารถใช้โปรแกรมเพื่อให้โค้ดอ่านง่ายขึ้น นอกจากนี้ยังสามารถแปลงจากหนึ่ง
สไตล์การเขียน C ถึงอื่น
เยื้อง เข้าใจไวยากรณ์ของ C เป็นจำนวนมาก แต่ก็พยายามที่จะ
รับมือกับไวยากรณ์ที่ไม่สมบูรณ์และผิดรูปแบบ
ในเวอร์ชัน 1.2 และเวอร์ชันที่ใหม่กว่า สไตล์ GNU ของการเยื้องเป็นค่าเริ่มต้น
OPTIONS
- ไม่ดี, --blank-line-หลังการประกาศ
บังคับบรรทัดว่างหลังการประกาศ
ดู BLANK LINES.
-บัพ, --blank-line-after-procedure
บังคับบรรทัดว่างหลังเนื้อหาขั้นตอน
ดู BLANK LINES.
-บีบี, --blank-lines-before-block-comment
บังคับบรรทัดว่างก่อนบล็อกความคิดเห็น
ดู BLANK LINES.
-บีบีโอ, --break-before-boolean-operator
ต้องการแยกบรรทัดยาวก่อนตัวดำเนินการบูลีน
ดู แบ่ง ยาว LINES.
- คริสตศักราช, --ช่องว่างบรรทัดหลังเครื่องหมายจุลภาค
บังคับขึ้นบรรทัดใหม่หลังเครื่องหมายจุลภาคในการประกาศ
ดู คำประกาศ.
-bl, --วงเล็บ-หลัง-if-line
ใส่เหล็กดัดหลัง ifฯลฯ
ดู งบ.
-blf, --วงเล็บหลัง func-def-line
ใส่วงเล็บปีกกาบนบรรทัดตามบรรทัดคำจำกัดความของฟังก์ชัน
ดู คำประกาศ.
-blin, --รั้ง-เยื้องn
จัดฟันเยื้อง n ช่องว่าง
ดู งบ.
-bls, --วงเล็บหลัง-โครงสร้าง-decl-line
ใส่เหล็กดัดฟันหลัง โครงสร้าง บรรทัดการประกาศ
ดู คำประกาศ.
-br, --วงเล็บ-on-if-line
ใส่เหล็กดัดฟันด้วย ifฯลฯ
ดู งบ.
-brf, --วงเล็บ-on-func-def-line
ใส่วงเล็บปีกกาบนบรรทัดนิยามฟังก์ชัน
ดู คำประกาศ.
-brs, --วงเล็บปีกกาบน-โครงสร้าง-decl-line
ใส่เหล็กดัดฟัน โครงสร้าง บรรทัดการประกาศ
ดู คำประกาศ.
-bs, --บิล-แชนนอน, --blank-befor-sizeof
ใส่ช่องว่างระหว่าง ขนาดของ และข้อโต้แย้งของมัน
ดู งบ.
-cn, --comment-เยื้องn
ใส่ความคิดเห็นทางด้านขวาของโค้ดในคอลัมน์ n.
ดู ความคิดเห็น.
-ซีบีไอn, --case-รั้ง-เยื้องn
เยื้องวงเล็บหลังกรณีป้าย N ช่องว่าง
ดู งบ.
-CDn, --ประกาศ-แสดงความคิดเห็น-คอลัมน์n
ใส่ความคิดเห็นทางด้านขวาของการประกาศในคอลัมน์ n.
ดู ความคิดเห็น.
-ซีดีบี, --comment-ตัวคั่นบนบรรทัดว่าง
ใส่ตัวคั่นความคิดเห็นในบรรทัดว่าง
ดู ความคิดเห็น.
-cdw, --กอด-ทำ-ในขณะที่
กอดในขณะที่ของ do {} ในขณะที่; และนำหน้า '}'
ดู ความคิดเห็น.
-นี้, --กอด-อื่น
กอดกันและนำหน้า '}'
ดู ความคิดเห็น.
-นี้n, --continuation-เยื้องn
เยื้องต่อเนื่องของ n ช่องว่าง
ดู งบ.
-คลิn, --case-เยื้องn
กรณีป้ายเยื้องของ n ช่องว่าง
ดู งบ.
-ซีพีn, --else-endif-คอลัมน์n
ใส่ความคิดเห็นทางด้านขวาของ #อื่น และ #เอนดิฟ ข้อความในคอลัมน์ n.
ดู ความคิดเห็น.
-ค, --เว้นวรรคหลังจากร่าย
ใส่ช่องว่างหลังตัวดำเนินการแคสต์
ดู งบ.
-dn, --line-ความคิดเห็น-เยื้องn
ตั้งค่าการเยื้องของความคิดเห็นไม่ทางด้านขวาของรหัสถึง n ช่องว่าง
ดู ความคิดเห็น.
-bfda, --break-function-decl-args
แบ่งบรรทัดก่อนอาร์กิวเมนต์ทั้งหมดในการประกาศ
ดู คำประกาศ.
-bfde, --break-function-decl-args-end
แยกบรรทัดหลังอาร์กิวเมนต์สุดท้ายในการประกาศ
ดู คำประกาศ.
-DJ, --left-justify-การประกาศ
หากใช้ -cd 0 ความคิดเห็นหลังจากการประกาศจะถูกทิ้งให้อยู่ข้างหลัง
ประกาศ
ดู คำประกาศ.
-dun, --ประกาศ-เยื้องn
ใส่ตัวแปรในคอลัมน์ n.
ดู คำประกาศ.
-fc1, - รูปแบบความคิดเห็นคอลัมน์แรก
จัดรูปแบบความคิดเห็นในคอลัมน์แรก
ดู ความคิดเห็น.
-fca, --จัดรูปแบบความคิดเห็นทั้งหมด
อย่าปิดการใช้งานการจัดรูปแบบความคิดเห็นทั้งหมด
ดู ความคิดเห็น.
- วิลเดอบีสต์, --gnu-สไตล์
ใช้รูปแบบการเข้ารหัส GNU นี่คือค่าเริ่มต้น
ดู ทั่วไป รูปแบบ.
-hnl, --honour-บรรทัดใหม่
ชอบที่จะทำลายเส้นยาวที่ตำแหน่งของการขึ้นบรรทัดใหม่ในอินพุต
ดู แบ่ง ยาว LINES.
-in, --เยื้องระดับn
ตั้งค่าระดับการเยื้องเป็น n ช่องว่าง
ดู การเยื้อง.
-เขาn, --เยื้อง-labeln
ตั้งค่าออฟเซ็ตสำหรับป้ายกำกับเป็นคอลัมน์ n.
ดู การเยื้อง.
-ไอพีn, --พารามิเตอร์-เยื้องn
เยื้องประเภทพารามิเตอร์ในนิยามฟังก์ชันแบบเก่าโดย n ช่องว่าง
ดู การเยื้อง.
-kr, --k-and-r-สไตล์
ใช้รูปแบบการเข้ารหัส Kernighan & Ritchie
ดู ทั่วไป รูปแบบ.
-ln, --line-ความยาวn
ตั้งค่าความยาวบรรทัดสูงสุดสำหรับบรรทัดที่ไม่แสดงความคิดเห็นเป็น n.
ดู แบ่ง ยาว LINES.
-ลคn, --comment-line-ความยาวn
ตั้งค่าความยาวบรรทัดสูงสุดสำหรับการจัดรูปแบบความคิดเห็นเป็น n.
ดู ความคิดเห็น.
-ลินุกซ์, --สไตล์ลินุกซ์
ใช้รูปแบบการเข้ารหัส Linux
ดู ทั่วไป รูปแบบ.
-ลพ, --ต่อที่วงเล็บ
เข้าแถวต่อในวงเล็บ
ดู การเยื้อง.
-lps, --เว้นวรรคตัวประมวลผลล่วงหน้า
เว้นช่องว่างระหว่าง '#' และคำสั่งตัวประมวลผลล่วงหน้า
ดู การเยื้อง.
-ไม่ดี, --ไม่มีบรรทัดว่างหลังการประกาศ
อย่าบังคับบรรทัดว่างหลังการประกาศ
ดู BLANK LINES.
-nbap, --ไม่มีบรรทัดว่างหลังขั้นตอน
อย่าบังคับบรรทัดว่างหลังจากเนื้อหาขั้นตอน
ดู BLANK LINES.
-nbbo, --break-หลัง-boolean-operator
ไม่ต้องการแยกบรรทัดยาวก่อนตัวดำเนินการบูลีน
ดู แบ่ง ยาว LINES.
-เอ็นบีซี, --ไม่มีบรรทัดว่างหลังเครื่องหมายจุลภาค
อย่าบังคับขึ้นบรรทัดใหม่หลังเครื่องหมายจุลภาคในการประกาศ
ดู คำประกาศ.
-nbfda, --dont-break-function-decl-args
อย่าใส่อาร์กิวเมนต์แต่ละรายการในการประกาศฟังก์ชันแยกบรรทัด
ดู คำประกาศ.
-ncdb, --no-comment-delimiters-on-blank-line
อย่าใส่ตัวคั่นความคิดเห็นในบรรทัดว่าง
ดู ความคิดเห็น.
-ncdw, --อย่ากอด-ทำ-ในขณะที่
อย่ากอด } และ ในขณะที่ ของ do {} ในขณะที่;.
ดู งบ.
-nce, --อย่ากอด-อย่างอื่น
อย่ากอด } และ อื่น.
ดู งบ.
-ncs, --no-space-หลังจากร่าย
ห้ามเว้นวรรคหลังตัวดำเนินการหล่อ
ดู งบ.
-ndjn, --dont-left-justify-การประกาศ
ความคิดเห็นหลังการประกาศจะถือว่าเหมือนกับความคิดเห็นหลังจากคำสั่งอื่นๆ
ดู คำประกาศ.
-nfc1, --dont-จัดรูปแบบ-ความคิดเห็นคอลัมน์แรก
อย่าจัดรูปแบบความคิดเห็นในคอลัมน์แรกตามปกติ
ดู ความคิดเห็น.
-nfca, --dont-format-ความคิดเห็น
ห้ามจัดรูปแบบความคิดเห็นใดๆ
ดู ความคิดเห็น.
-nhl, --ignore-ขึ้นบรรทัดใหม่
ไม่ต้องการแยกบรรทัดยาวที่ตำแหน่งของขึ้นบรรทัดใหม่ในอินพุต
ดู แบ่ง ยาว LINES.
-หยิก, --no-พารามิเตอร์-เยื้อง
การเยื้องความกว้างเป็นศูนย์สำหรับพารามิเตอร์
ดู การเยื้อง.
-nlp, --dont-line-up-วงเล็บ
ห้ามเรียงวงเล็บ
ดู งบ.
-n ชิ้น, --no-เว้นวรรคหลังชื่อฟังก์ชั่นการเรียก
อย่าใส่ช่องว่างหลังฟังก์ชันในการเรียกใช้ฟังก์ชัน
ดู งบ.
-nprs, --no-เว้นวรรคหลังวงเล็บ
อย่าเว้นวรรคหลังทุก ๆ '(' และก่อนทุก ๆ ')'
ดู งบ.
-npsl, --ไม่ทำลายขั้นตอน-ประเภท
ใส่ประเภทของขั้นตอนในบรรทัดเดียวกับชื่อ
ดู คำประกาศ.
-ไม่ปลอดภัย, --ไม่มีช่องว่างหลังสำหรับ
ห้ามเว้นวรรคทุกครั้ง สำหรับ.
ดู งบ.
-ไซ, --ไม่มีช่องว่างหลังถ้า
ห้ามเว้นวรรคทุกครั้ง if.
ดู งบ.
-นซอว์, --no-space-หลังจากในขณะที่
ห้ามเว้นวรรคทุกครั้ง ในขณะที่.
ดู งบ.
-nsc, --dont-star-ความคิดเห็น
อย่าใส่อักขระ '*' ที่ด้านซ้ายของความคิดเห็น
ดู ความคิดเห็น.
-นซบ, --leave-ตัวเลือกว่างบรรทัด
อย่ากลืนบรรทัดว่างเสริม
ดู BLANK LINES.
-nss, --dont-space-special-อัฒภาค
อย่าเว้นวรรคก่อนเครื่องหมายอัฒภาคหลังข้อความบางคำ ปิดการใช้งาน '-ss'
ดู งบ.
-ถั่ว, --ไม่มีแท็บ
ใช้ช่องว่างแทนแท็บ
ดู การเยื้อง.
-nv, --ไม่มีคำฟุ่มเฟือย
ปิดใช้งานโหมด verbose
ดู เบ็ดเตล็ด OPTIONS.
-ต้นกำเนิด, --ต้นฉบับ
ใช้รูปแบบการเข้ารหัสดั้งเดิมของ Berkeley
ดู ทั่วไป รูปแบบ.
-npro, --ละเว้นโปรไฟล์
ห้ามอ่านไฟล์ '.indent.pro'
ดู เรียก เยื้อง.
-ชิ้น, --การเว้นวรรคหลังขั้นตอน-การเรียก
แทรกช่องว่างระหว่างชื่อของกระบวนการที่ถูกเรียกและ '('
ดู งบ.
-pin, --วงเล็บ-เยื้องn
ระบุการเยื้องพิเศษต่อวงเล็บเปิด '(' เมื่อคำสั่งเสีย See
งบ.
-pmt, --รักษา-mtime
รักษาเวลาในการเข้าถึงและแก้ไขไฟล์เอาต์พุต See เบ็ดเตล็ด OPTIONS.
-ppin, --ตัวประมวลผลล่วงหน้า-เยื้องn
ระบุการเยื้องสำหรับคำสั่งเงื่อนไขของตัวประมวลผลล่วงหน้าดู การเยื้อง.
-prs, --เว้นวรรคหลังวงเล็บ
ใส่ช่องว่างหลังทุก ๆ '(' และก่อนทุก ๆ ')'
ดู งบ.
-ปล, --procnames-start-line
ใส่ประเภทของขั้นตอนในบรรทัดก่อนชื่อ
ดู คำประกาศ.
-ปลอดภัย, --เว้นวรรคหลัง-สำหรับ
ใส่ช่องว่างหลังแต่ละอัน สำหรับ.
ดู งบ.
- สาย, --เว้นวรรคหลังถ้า
ใส่ช่องว่างหลังแต่ละอัน if.
ดู งบ.
- เลื่อย, --สเปซ-หลัง-ขณะ
ใส่ช่องว่างหลังแต่ละอัน ในขณะที่.
ดู งบ.
-sbin, --struct-รั้ง-เยื้องn
เยื้องวงเล็บของ struct, union หรือ enum N ช่องว่าง
ดู งบ.
-sc, --เริ่มต้นด้านซ้ายของความคิดเห็น
ใส่อักขระ '*' ที่ด้านซ้ายของความคิดเห็น
ดู ความคิดเห็น.
-ร้องไห้, --swallow-ตัวเลือก-ว่างบรรทัด
กลืนบรรทัดว่างเสริม
ดู BLANK LINES.
-NS, --space-พิเศษ-อัฒภาค
บนบรรทัดเดียว สำหรับ และ ในขณะที่ คำสั่งให้เว้นว่างไว้หน้าเครื่องหมายอัฒภาค
ดู งบ.
-เซนต์, --มาตรฐาน-เอาท์พุท
เขียนไปยังเอาต์พุตมาตรฐาน
ดู เรียก เยื้อง.
-T บอก เยื้อง ชื่อของประเภท
ดู คำประกาศ.
-tsn, --tab-ขนาดn
ตั้งค่าขนาดแท็บเป็น n ช่องว่าง
ดู การเยื้อง.
-ออก, --ใช้แท็บ
ใช้แท็บ นี่คือค่าเริ่มต้น
ดู การเยื้อง.
-v, --รายละเอียด
เปิดใช้งานโหมด verbose
ดู เบ็ดเตล็ด OPTIONS.
-version
ส่งออกหมายเลขเวอร์ชันของ เยื้อง.
ดู เบ็ดเตล็ด OPTIONS.
เรียก เยื้อง
ในเวอร์ชัน 1.3 รูปแบบของ เยื้อง คำสั่งคือ:
เยื้อง [ตัวเลือก] [ไฟล์อินพุต]
เยื้อง [ตัวเลือก] [ไฟล์อินพุตเดียว] [-โอ ไฟล์เอาต์พุต]
รูปแบบนี้แตกต่างจากเวอร์ชันก่อนหน้าและเวอร์ชันอื่น ๆ ของ เยื้อง.
ในรูปแบบแรก มีการระบุไฟล์อินพุตตั้งแต่หนึ่งไฟล์ขึ้นไป เยื้อง ทำสำเนาสำรองของ
แต่ละไฟล์ และไฟล์ต้นฉบับจะถูกแทนที่ด้วยเวอร์ชันที่เยื้อง ดู การสำรองข้อมูล ไฟล์,
สำหรับคำอธิบายเกี่ยวกับวิธีการสำรองข้อมูล
ในรูปแบบที่สอง มีการระบุไฟล์อินพุตเพียงไฟล์เดียว ในกรณีนี้หรือเมื่อมาตรฐาน
ใช้อินพุต คุณอาจระบุไฟล์เอาต์พุตหลังจากตัวเลือก '-o'
ที่จะก่อให้เกิด เยื้อง หากต้องการเขียนไปยังเอาต์พุตมาตรฐาน ให้ใช้ตัวเลือก '-st' อนุญาตให้ทำได้เท่านั้น
เมื่อมีไฟล์อินพุตเพียงไฟล์เดียว หรือเมื่อใช้อินพุตมาตรฐาน
หากไม่มีชื่อไฟล์อินพุต อินพุตมาตรฐานจะถูกอ่านสำหรับอินพุต นอกจากนี้หากชื่อไฟล์
ระบุชื่อ '-' จากนั้นจะอ่านอินพุตมาตรฐาน
ตัวอย่างเช่น แต่ละคำสั่งต่อไปนี้จะป้อนโปรแกรม 'slithy_toves.c' และ
เขียนข้อความเยื้องไปที่ 'slithy_toves.out':
เยื้อง slithy_toves.c -o slithy_toves.out
เยื้อง -st slithy_toves.c > slithy_toves.out
แมว slithy_toves.c | เยื้อง -o slithy_toves.out
ตัวเลือกอื่นๆ ส่วนใหญ่เพื่อ เยื้อง ควบคุมวิธีการจัดรูปแบบโปรแกรม ในเวอร์ชัน 1.2
เยื้อง ยังรู้จักชื่อยาวสำหรับแต่ละชื่อตัวเลือก ตัวเลือกแบบยาวนำหน้าด้วย
'--' หรือ '+' [ '+' ถูกแทนที่โดย '--' เพื่อรักษาความสอดคล้องกับ
มาตรฐาน POSIX]
ในเอกสารนี้ส่วนใหญ่ ชื่อย่อดั้งเดิมถูกใช้เพื่อความกระชับ
ดู ทางเลือกที่ สรุป, สำหรับรายการตัวเลือก ทั้งชื่อยาวและสั้น
นี่เป็นอีกตัวอย่างหนึ่ง:
เยื้อง -br test/metabolism.c -l85
สิ่งนี้จะเยื้องโปรแกรม 'test/metabolism.c' โดยใช้ตัวเลือก '-br' และ '-l85' เขียน
ผลลัพธ์กลับไปที่ 'test/metabolism.c' และเขียนเนื้อหาต้นฉบับของ
'test/metabolism.c' ไปยังไฟล์สำรองในไดเร็กทอรี 'test'
การเรียกที่เทียบเท่ากันโดยใช้ชื่อตัวเลือกแบบยาวสำหรับตัวอย่างนี้คือ:
เยื้อง --braces-on-if-line --line-length185 test/metabolism.c
เยื้อง +เครื่องมือจัดฟัน-on-if-line +line-length185 test/metabolism.c
หากคุณพบว่าคุณใช้บ่อย เยื้อง ด้วยตัวเลือกเดียวกัน คุณอาจใส่ตัวเลือกเหล่านั้น
ลงในไฟล์ชื่อ '.indent.pro' เยื้อง จะค้นหาไฟล์โปรไฟล์ในสามแห่ง
ก่อนอื่นจะตรวจสอบตัวแปรสภาพแวดล้อม เยื้อง_โปรไฟล์. ถ้าสิ่งนั้นมีอยู่ ค่าของมันคือ
คาดว่าจะตั้งชื่อไฟล์ที่จะใช้ หากไม่มีตัวแปรสภาพแวดล้อม
เยื้องค้นหา '.indent.pro' ในไดเรกทอรีปัจจุบัน
และใช้สิ่งนั้นหากพบ ในที่สุด เยื้อง จะค้นหาโฮมไดเร็กตอรี่ของคุณสำหรับ '.indent.pro'
และใช้ไฟล์นั้นหากพบ ลักษณะการทำงานนี้แตกต่างจากเวอร์ชันอื่น
of เยื้องซึ่งโหลดทั้งสองไฟล์หากทั้งสองมีอยู่
รูปแบบของ '.indent.pro' เป็นเพียงรายการตัวเลือก เช่นเดียวกับที่จะปรากฏบน
บรรทัดคำสั่ง คั่นด้วยช่องว่าง (แท็บ ช่องว่าง และการขึ้นบรรทัดใหม่) ตัวเลือกใน
'.indent.pro' อาจถูกล้อมรอบด้วยความคิดเห็น C หรือ C++ ซึ่งในกรณีนี้จะถูกละเว้น
สวิตช์บรรทัดคำสั่งได้รับการจัดการ หลังจาก กำลังประมวลผล '.indent.pro' ตัวเลือกที่ระบุภายหลัง
แทนที่อาร์กิวเมนต์ที่ระบุก่อนหน้านี้ โดยมีข้อยกเว้นหนึ่งข้อ: ตัวเลือกที่ระบุอย่างชัดเจน
แทนที่ตัวเลือกพื้นหลังเสมอ (ดู ทั่วไป รูปแบบ). ป้องกันได้ เยื้อง จาก
อ่านไฟล์ '.indent.pro' โดยระบุตัวเลือก '-npro'
การสำรองข้อมูล ไฟล์
ในเวอร์ชัน 1.3 GNU เยื้อง สร้างไฟล์สำรองสไตล์ GNU เช่นเดียวกับ GNU Emacs
ซึ่งหมายความว่าอย่างใดอย่างหนึ่ง ง่าย or หมายเลข สามารถสร้างชื่อไฟล์สำรองได้
ชื่อไฟล์สำรองข้อมูลอย่างง่ายจะถูกสร้างขึ้นโดยการต่อท้ายชื่อไฟล์ต้นฉบับ
ค่าดีฟอลต์สำหรับส่วนต่อท้ายนี้คือสตริงหนึ่งอักขระ '~' (ตัวหนอน) ดังนั้นตัวสำรอง
ไฟล์สำหรับ 'python.c' จะเป็น 'python.c~'
แทนที่จะเป็นค่าดีฟอลต์ คุณสามารถระบุสตริงใดๆ เป็นส่วนต่อท้ายได้โดยการตั้งค่า environment
ตัวแปร SIMPLE_BACKUP_SUFFIX ไปยังส่วนต่อท้ายที่คุณต้องการ
เวอร์ชันสำรองของไฟล์ 'momeraths.c' ที่มีหมายเลขจะมีลักษณะเหมือน 'momeraths.c.~23~' โดยที่ 23 คือ
เวอร์ชันของข้อมูลสำรองนี้โดยเฉพาะ เมื่อทำการสำรองหมายเลขของไฟล์
'src/momeraths.c' ไฟล์สำรองจะมีชื่อว่า 'src/momeraths.c.~V~' โดยที่ V เป็นหนึ่ง
มากกว่าเวอร์ชันสูงสุดที่มีอยู่ในไดเร็กทอรี 'src' NS
ตัวแปรสภาพแวดล้อม VERSION_WIDTH ควบคุมจำนวนหลักโดยใช้การเติมศูนย์ด้านซ้าย
เมื่อจำเป็น. ตัวอย่างเช่น การตั้งค่าตัวแปรนี้เป็น "2" จะนำไปสู่ไฟล์สำรอง
ถูกตั้งชื่อว่า 'momeraths.c.~04~'
ประเภทของไฟล์สำรองที่สร้างขึ้นนั้นควบคุมโดยค่าของตัวแปรสภาพแวดล้อม
เวอร์ชัน_การควบคุม. หากเป็นสตริง 'ง่าย' ก็จะทำการสำรองข้อมูลอย่างง่ายเท่านั้น ถ้า
ค่าของมันคือสตริง 'หมายเลข' จากนั้นจะทำการสำรองข้อมูลตามหมายเลข ถ้าค่าของมันคือ
'หมายเลขที่มีอยู่' จากนั้นจะมีการสำรองข้อมูลหมายเลขหากมี แล้ว มีอยู่ หมายเลข
การสำรองข้อมูลสำหรับไฟล์ที่ถูกเยื้อง; มิฉะนั้นจะทำการสำรองข้อมูลอย่างง่าย ถ้า
เวอร์ชัน_การควบคุม ไม่ได้ตั้งค่าแล้ว เยื้อง ถือว่าพฤติกรรมของ 'หมายเลขที่มีอยู่'
เวอร์ชันอื่นๆ ของ เยื้อง ใช้คำต่อท้าย '.BAK' ในการตั้งชื่อไฟล์สำรอง พฤติกรรมนี้สามารถ
ถูกจำลองโดยการตั้งค่า SIMPLE_BACKUP_SUFFIX เป็น '.BAK'
โปรดทราบว่าเวอร์ชันอื่นๆ ของ เยื้อง ทำการสำรองข้อมูลในไดเร็กทอรีปัจจุบัน แทนที่จะเป็น
ในไดเร็กทอรีของไฟล์ต้นฉบับเป็น GNU เยื้อง ตอนนี้ทำ
ทั่วไป รูปแบบ
โค้ด C มีรูปแบบทั่วไปหลายแบบรวมถึงสไตล์ GNU, Kernighan &
สไตล์ Ritchie และสไตล์ Berkeley ดั้งเดิม สามารถเลือกสไตล์ได้ด้วยตัวเดียว
พื้นหลัง ตัวเลือกซึ่งระบุชุดของค่าสำหรับตัวเลือกอื่นๆ ทั้งหมด อย่างไรก็ตาม,
ตัวเลือกที่ระบุอย่างชัดเจนจะแทนที่ตัวเลือกโดยนัยโดยตัวเลือกพื้นหลังเสมอ
ในเวอร์ชัน 1.2 สไตล์เริ่มต้นของ GNU เยื้อง เป็นสไตล์ GNU ดังนั้นจึงไม่ใช่
จำเป็นต้องระบุตัวเลือก '-gnu' นานกว่าเพื่อให้ได้รูปแบบนี้แม้ว่าจะทำเช่นนั้น
จะไม่ทำให้เกิดข้อผิดพลาด การตั้งค่าตัวเลือกที่สอดคล้องกับสไตล์ GNU คือ:
-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -nprs -psl -saf -sai
-เลื่อย -nsc -nsob
รูปแบบการเข้ารหัส GNU เป็นที่ต้องการของโครงการ GNU เป็นสไตล์ที่ GNU
โหมด Emacs C สนับสนุนและใช้ในส่วน C ของ GNU Emacs (ประชากร
ผู้สนใจเขียนโปรแกรมสำหรับโครงการ GNU ควรขอรับสำเนา "The GNU Coding
มาตรฐาน" ซึ่งครอบคลุมถึงปัญหาด้านความหมายและการพกพา เช่น การใช้หน่วยความจำ
ขนาดของจำนวนเต็ม เป็นต้น)
มีการใช้สไตล์ Kernighan & Ritchie ตลอดทั้งหนังสือเรื่อง "The C Programming ."
ภาษา" เปิดใช้งานด้วยตัวเลือก '-kr' สไตล์ Kernighan & Ritchie
สอดคล้องกับชุดตัวเลือกต่อไปนี้:
-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss
สไตล์ Kernighan & Ritchie ไม่ได้ใส่ความคิดเห็นทางด้านขวาของรหัสในคอลัมน์เดียวกันที่
ตลอดเวลา (และไม่ใช้ช่องว่างทางขวาของโค้ดเพียงช่องเดียว) ดังนั้นสำหรับสไตล์นี้
เยื้อง ได้เลือกคอลัมน์ 33 โดยพลการ
สไตล์ของ Berkeley ดั้งเดิม เยื้อง อาจได้รับโดยการระบุ '-orig' (หรือโดย
โดยระบุ '--ดั้งเดิม' โดยใช้ชื่อตัวเลือกแบบยาว) สไตล์นี้เทียบเท่ากับ
การตั้งค่าต่อไปนี้:
-nbad -nbap -bbo -bc -br -brs -c33 -cd33 -cdb -ce -ci4 -cli0
-cp33 -di16 -fc1 -fca -hnl -i4 -ip4 -l75 -lp -npcs -nprs -psl
-saf -sai -saw -sc -nsob -nss -ts8
สไตล์ลินุกซ์ถูกใช้ในโค้ดเคอร์เนลลินุกซ์และไดรเวอร์ รหัสโดยทั่วไปต้องปฏิบัติตาม
ยอมรับรูปแบบการเข้ารหัส Linux สไตล์นี้เทียบเท่ากับต่อไปนี้
การตั้งค่า:
-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1
BLANK LINES
รูปแบบการเขียนโปรแกรมต่างๆ ใช้บรรทัดว่างในตำแหน่งต่างๆ เยื้อง มีจำนวน
ตัวเลือกในการแทรกหรือลบบรรทัดว่างในสถานที่เฉพาะ
สาเหตุตัวเลือก '-ไม่ดี' เยื้อง เพื่อบังคับบรรทัดว่างหลังทุกช่วงของการประกาศ
สาเหตุตัวเลือก '-nbad' เยื้อง ไม่บังคับบรรทัดว่างดังกล่าว
ตัวเลือก '-bap' บังคับบรรทัดว่างหลังจากเนื้อหาขั้นตอนทั้งหมด ตัวเลือก '-nbap'
บังคับให้ไม่มีบรรทัดว่างดังกล่าว
ตัวเลือก '-bbb' บังคับบรรทัดว่างก่อนทุกความคิดเห็นในกล่อง (See ความคิดเห็น.)
ตัวเลือก '-nbbb' ไม่ได้บังคับบรรทัดว่างดังกล่าว
ตัวเลือก '-สะอื้น' ทำให้เกิด เยื้อง เพื่อกลืนบรรทัดว่างที่เป็นตัวเลือก (นั่นคือตัวเลือกใด ๆ
บรรทัดว่างที่มีอยู่ในอินพุตจะถูกลบออกจากเอาต์พุต) ถ้า '-nsob' คือ
ที่ระบุ บรรทัดว่างใดๆ ที่มีอยู่ในไฟล์อินพุตจะถูกคัดลอกไปยังไฟล์เอาต์พุต
--blank-line-หลังการประกาศ
ตัวเลือก '-ไม่ดี' บังคับบรรทัดว่างหลังทุกช่วงของการประกาศ '-nbad'
ตัวเลือกจะไม่เพิ่มบรรทัดว่างดังกล่าว
ตัวอย่างเช่น รับอินพุต
ถ่าน *foo;
ถ่าน * บาร์;
/* สิ่งนี้แยกกลุ่มการประกาศ */
int บาซ;
เยื้อง - ไม่ดี ผลิต
ถ่าน *foo;
ถ่าน * บาร์;
/* สิ่งนี้แยกกลุ่มการประกาศ */
int บาซ;
และ เยื้อง -ไม่ดี ผลิต
ถ่าน *foo;
ถ่าน * บาร์;
/* สิ่งนี้แยกกลุ่มการประกาศ */
int บาซ;
--blank-line-after-procedure
ตัวเลือก '-bap' บังคับบรรทัดว่างหลังจากเนื้อหาขั้นตอนทั้งหมด
ตัวอย่างเช่น รับอินพุต
int
ฟู ()
{
ทำให้ ("สวัสดี");
}
/* แถบขั้นตอนมีความน่าสนใจน้อยกว่า */
ถ่าน *
บาร์ ()
{
ทำให้ ("สวัสดี");
}
เยื้อง -บัพ ผลิต
int
ฟู ()
{
ทำให้ ("สวัสดี");
}
/* แถบขั้นตอนมีความน่าสนใจน้อยกว่า */
ถ่าน *
บาร์ ()
{
ทำให้ ("สวัสดี");
}
และ เยื้อง -nbap ผลิต
int
ฟู ()
{
ทำให้ ("สวัสดี");
}
/* แถบขั้นตอนมีความน่าสนใจน้อยกว่า */
ถ่าน *
บาร์ ()
{
ทำให้ ("สวัสดี");
}
จะไม่มีการเพิ่มบรรทัดว่างหลังจากขั้นตอน foo.
ความคิดเห็น
เยื้อง จัดรูปแบบความคิดเห็นทั้ง C และ C ++ ความคิดเห็น C เริ่มต้นด้วย '/*' สิ้นสุดด้วย
'*/' และอาจมีอักขระขึ้นบรรทัดใหม่ ความคิดเห็น C++ เริ่มต้นด้วยตัวคั่น '//' และ
สิ้นสุดที่บรรทัดใหม่
เยื้อง จัดการความคิดเห็นแตกต่างกันไปตามบริบท เยื้อง พยายามที่จะ
แยกแยะระหว่างความคิดเห็นที่เป็นไปตามคำสั่ง ความคิดเห็นที่ตามประกาศ
ความคิดเห็นตามคำสั่งของตัวประมวลผลล่วงหน้าและความคิดเห็นที่ไม่ได้นำหน้าด้วยรหัสของ
ทุกประเภท กล่าวคือ พวกเขาเริ่มข้อความของบรรทัด (แม้ว่าจะไม่จำเป็นในคอลัมน์ 1)
เยื้อง แยกแยะเพิ่มเติมระหว่างความคิดเห็นที่อยู่นอกขั้นตอนและผลรวม
และสิ่งที่พบในตน โดยเฉพาะความคิดเห็นที่ขึ้นต้นบรรทัดที่พบใน a
ขั้นตอนจะถูกเยื้องไปยังคอลัมน์ที่โค้ดถูกเยื้องอยู่ในขณะนี้ NS
ข้อยกเว้นคือความคิดเห็นเริ่มต้นในคอลัมน์ซ้ายสุด ความคิดเห็นดังกล่าวเป็นผลลัพธ์
ที่คอลัมน์นั้น
เยื้อง พยายามที่จะออกไป บรรจุกล่อง ความคิดเห็น ไม่ได้แก้ไข แนวคิดทั่วไปของความคิดเห็นดังกล่าวคือ
ที่ล้อมรอบด้วยสี่เหลี่ยมหรือ ''กล่อง'' ของดวงดาวหรือขีดกลางเพื่อให้มองเห็นได้ชัดเจน
ให้ชัดเจนยิ่งขึ้น ความคิดเห็นในกล่องถูกกำหนดให้เป็นความคิดเห็นที่ตามด้วย '/*' เริ่มต้น
ทันทีโดยใช้อักขระ '*', '=', '_' หรือ '-' หรืออักขระที่ขึ้นต้นด้วย
ตัวคั่นความคิดเห็น ('/*') อยู่บนบรรทัดเดียว และบรรทัดต่อไปนี้ขึ้นต้นด้วย '*'
ในคอลัมน์เดียวกับดาวของตัวคั่นช่องเปิด
ตัวอย่างของความคิดเห็นแบบบรรจุกล่องคือ:
-
*คอมเม้นในกล่อง!! *
**************************/
/*
* กลิ่นที่แตกต่าง
* สำหรับความคิดเห็นที่แตกต่างกัน
*/
เยื้อง พยายามแสดงความคิดเห็นแบบบรรจุกล่องตามที่พบในไฟล์ต้นฉบับ
ดังนั้นการเยื้องของความคิดเห็นจึงไม่เปลี่ยนแปลง และความยาวของความคิดเห็นจะไม่ถูกตรวจสอบในใดๆ
ทาง. การเปลี่ยนแปลงเพียงอย่างเดียวคืออักขระแท็บที่ฝังไว้อาจถูกแปลงเป็น
จำนวนช่องว่างที่เหมาะสม
หากระบุตัวเลือก '-bbb' ความคิดเห็นในกล่องดังกล่าวทั้งหมดจะถูกนำหน้าด้วยช่องว่าง
บรรทัด เว้นแต่ความคิดเห็นดังกล่าวจะนำหน้าด้วยรหัส
ความคิดเห็นที่ไม่ใช่ความคิดเห็นแบบบรรจุกล่องอาจถูกจัดรูปแบบซึ่งหมายความว่าบรรทัดคือ
หักให้พอดีกับระยะขอบด้านขวาและเติมช่องว่างด้านซ้าย ขึ้นบรรทัดใหม่เดียวคือ
เทียบเท่ากับช่องว่าง แต่บรรทัดว่าง (สองบรรทัดขึ้นไปในแถว) ถูกนำมาใช้เพื่อหมายถึง a
ตัวแบ่งวรรค การจัดรูปแบบของความคิดเห็นที่เริ่มต้นหลังจากเปิดใช้งานคอลัมน์แรก
ด้วยตัวเลือก '-fca' หากต้องการจัดรูปแบบจุดเริ่มต้นเหล่านั้นในคอลัมน์ที่หนึ่ง ให้ระบุ '-fc1' เช่น
การจัดรูปแบบถูกปิดใช้งานโดยค่าเริ่มต้น
ระยะขอบด้านขวาสำหรับการจัดรูปแบบเริ่มต้นเป็น 78 แต่อาจเปลี่ยนแปลงได้ด้วยตัวเลือก '-lc'
หากระยะขอบที่ระบุไม่อนุญาตให้พิมพ์ความคิดเห็น ระยะขอบจะเป็น
ขยายโดยอัตโนมัติตลอดระยะเวลาของความคิดเห็นนั้น ระยะขอบจะไม่ได้รับการเคารพถ้า
ไม่ได้จัดรูปแบบความคิดเห็น
หากความคิดเห็นขึ้นต้นบรรทัด (เช่น ไม่มีข้อความโปรแกรมทางด้านซ้าย) จะเป็น
เยื้องไปยังคอลัมน์ที่พบเว้นแต่ความคิดเห็นจะอยู่ภายในบล็อกของโค้ด ใน
ในกรณีนั้นความคิดเห็นดังกล่าวจะสอดคล้องกับรหัสเยื้องของบล็อกนั้น (เว้นแต่
ความคิดเห็นเริ่มต้นในคอลัมน์แรก) การจัดตำแหน่งนี้อาจได้รับผลกระทบจากตัวเลือก '-d'
ซึ่งระบุจำนวนเงินที่จะย้ายความคิดเห็นดังกล่าวไปยัง ซ้ายหรือไม่เยื้อง
ตัวอย่างเช่น '-d2' จะใส่ความคิดเห็นสองช่องว่างทางด้านซ้ายของโค้ด โดยค่าเริ่มต้น ความคิดเห็น
อยู่ในแนวเดียวกับรหัส เว้นแต่จะเริ่มต้นในคอลัมน์แรก ซึ่งในกรณีนี้จะเหลือ
โดยค่าเริ่มต้น --- เพื่อให้สอดคล้องกับโค้ด ให้ระบุ '-fc1'
ความคิดเห็นทางด้านขวาของรหัสจะปรากฏตามค่าเริ่มต้นในคอลัมน์ 33 ซึ่งอาจมีการเปลี่ยนแปลง
ด้วยหนึ่งในสามตัวเลือก '-c' จะระบุคอลัมน์สำหรับความคิดเห็นต่อไปนี้รหัส
'-cd' ระบุคอลัมน์สำหรับความคิดเห็นหลังการประกาศ และ '-cp' ระบุ
คอลัมน์สำหรับความคิดเห็นตามคำสั่งของตัวประมวลผลล่วงหน้า #อื่น และ #เอนดิฟ. '-ดีเจ' ด้วยกัน
ด้วย '-cd0' สามารถใช้เพื่อระงับการจัดแนวความคิดเห็นทางด้านขวาของการประกาศ
ทำให้ความคิดเห็นติดตามหนึ่งแท็บจากจุดสิ้นสุดของการประกาศ โดยปกติ '-cd0'
ทำให้ '-c' มีผล
หากโค้ดทางด้านซ้ายของความคิดเห็นเกินคอลัมน์เริ่มต้น คอลัมน์ความคิดเห็น
จะขยายไปยังคอลัมน์แท็บถัดไปหลังจากสิ้นสุดโค้ดหรือในกรณีของ
คำสั่งตัวประมวลผลล่วงหน้าไปยังช่องว่างหนึ่งหลังจุดสิ้นสุดของคำสั่ง นามสกุลนี้คงอยู่
สำหรับผลลัพธ์ของความคิดเห็นนั้นเท่านั้น
ตัวเลือก '-cdb' วางตัวคั่นความคิดเห็นในบรรทัดว่าง ดังนั้นบรรทัดเดียว
แสดงความคิดเห็นชอบ /* รัก กอด */ สามารถแปลงเป็น:
/*
กอดด้วยรัก
*/
สามารถติดดาวไว้ที่จุดเริ่มต้นของความคิดเห็นหลายบรรทัดด้วยตัวเลือก '-sc' ดังนั้น,
ความคิดเห็นบรรทัดเดียวด้านบนสามารถเปลี่ยน (ด้วย '-cdb -sc') เป็น:
/*
* กอดด้วยความรัก
*/
งบ
ตัวเลือก '-br' หรือ '-bl' ระบุวิธีจัดรูปแบบวงเล็บปีกกา
รูปแบบตัวเลือก '-br' วงเล็บปีกกาดังนี้:
ถ้า (x > 0) {
NS--;
}
ตัวเลือก '-bl' จัดรูปแบบดังนี้:
ถ้า (x > 0)
{
NS--;
}
หากคุณใช้ตัวเลือก '-bl' คุณอาจต้องการระบุตัวเลือก '-bli' ตัวเลือกนี้
ระบุจำนวนช่องว่างโดยที่เครื่องมือจัดฟันถูกเยื้อง '-bli2' ค่าเริ่มต้น ให้
ผลลัพธ์ที่แสดงด้านบน '-bli0' ให้ผลลัพธ์ดังต่อไปนี้:
ถ้า (x > 0)
{
NS--;
}
หากคุณกำลังใช้ตัวเลือก '-br' คุณอาจต้องการใช้ตัวเลือก '-ce' ด้วย นี้
ทำให้ อื่น ในรูปแบบ if-then-else เพื่อโอบรับก่อนหน้าทันที
'}'. ตัวอย่างเช่น ด้วย '-br -ce' คุณจะได้รับสิ่งต่อไปนี้:
ถ้า (x > 0) {
NS--;
} else {
fprintf (stderr, "...มีบางอย่างผิดปกติ?\n");
}
ด้วย '-br -nce' รหัสนั้นจะปรากฏเป็น
ถ้า (x > 0) {
NS--;
}
else {
fprintf (stderr, "...มีบางอย่างผิดปกติ?\n");
}
ซึ่งทำให้เกิดไฟล์ ในขณะที่ ในลูป do-while เพื่อกอดกับ '}' ก่อนหน้าทันที
ตัวอย่างเช่น ด้วย '-cdw' คุณจะได้รับสิ่งต่อไปนี้:
ทำ {
NS--;
} ในขณะที่ (x);
ด้วย '-ncdw' รหัสนั้นจะปรากฏเป็น
ทำ {
NS--;
}
ในขณะที่ (x);
ตัวเลือก '-cli' ระบุจำนวนช่องว่างที่ควรเยื้องป้ายกำกับเคส
สิทธิของบรรจุ สลับ คำแถลง
ค่าเริ่มต้นให้รหัสเช่น:
สวิตช์ (ผม)
{
กรณีที่ 0:
break;
กรณีที่ 1:
{
++ผม;
}
ค่าเริ่มต้น:
break;
}
การใช้ '-cli2' ที่จะกลายเป็น:
สวิตช์ (ผม)
{
กรณีที่ 0:
break;
กรณีที่ 1:
{
++ผม;
}
ค่าเริ่มต้น:
break;
}
การเยื้องของวงเล็บปีกกาด้านล่างคำสั่ง case สามารถควบคุมได้ด้วย '-cbin'
ตัวเลือก. ตัวอย่างเช่น การใช้ '-cli2 -cbi0' ส่งผลให้:
สวิตช์ (ผม)
{
กรณีที่ 0:
break;
กรณีที่ 1:
{
++ผม;
}
ค่าเริ่มต้น:
break;
}
หากอัฒภาคอยู่ในบรรทัดเดียวกับ a สำหรับ or ในขณะที่ คำสั่ง ตัวเลือก '-ss' will
ทำให้มีการเว้นวรรคก่อนเครื่องหมายอัฒภาค สิ่งนี้เน้นเครื่องหมายอัฒภาคทำให้
ชัดเจนว่าร่างกายของ สำหรับ or ในขณะที่ คำสั่งคือคำสั่งที่ว่างเปล่า '-nss' ปิดการใช้งาน
คุณลักษณะนี้
ตัวเลือก '-pcs' ทำให้มีการเว้นวรรคระหว่างชื่อของกระบวนการที่กำลัง
เรียกและ '(' (เช่น ทำให้ ("สวัสดี");. ตัวเลือก '-npcs' จะให้
ทำให้ ("สวัสดี");).
หากระบุตัวเลือก '-cs' เยื้อง ทำให้มีช่องว่างระหว่างตัวดำเนินการนักแสดงและ
วัตถุที่จะโยน '-ncs' ทำให้แน่ใจว่าไม่มีช่องว่างระหว่างตัวดำเนินการแคสต์และ
วัตถุ. จำไว้ เยื้อง รู้เพียงเกี่ยวกับประเภทข้อมูล C มาตรฐานเท่านั้นจึงไม่สามารถทำได้
รู้จักประเภทที่กำหนดโดยผู้ใช้ในการแคสต์ ดังนั้น (ประเภทของฉัน)สิ่ง ไม่ถือว่าเป็นนักแสดง
ตัวเลือก '-bs' ช่วยให้แน่ใจว่ามีช่องว่างระหว่างคำหลัก ขนาดของ และมัน
การโต้แย้ง. ในบางเวอร์ชัน ตัวเลือกนี้เรียกว่า 'Bill_Shannon'
ตัวเลือก '-saf' บังคับให้มีช่องว่างระหว่าง a สำหรับ และวงเล็บต่อไปนี้ นี้เป็น
ค่าเริ่มต้น.
ตัวเลือก '-sai' บังคับให้มีช่องว่างระหว่าง a if และวงเล็บต่อไปนี้ นี้เป็น
ค่าเริ่มต้น.
ตัวเลือก '-saw' บังคับให้มีช่องว่างระหว่าง a ในขณะที่ และวงเล็บต่อไปนี้ นี่คือ
ค่าเริ่มต้น
ตัวเลือก '-prs' ทำให้วงเล็บทั้งหมดแยกจากกันด้วยการเว้นวรรคจาก is
ระหว่างพวกเขา. ตัวอย่างเช่น การใช้ '-prs' ผลลัพธ์ในโค้ดเช่น:
ในขณะที่ ( ( e_code - s_code ) < ( dec_ind - 1 ) )
{
set_buf_break ( bb_dec_ind );
*e_code++ = ' ';
}
คำประกาศ
ตามค่าเริ่มต้น เยื้อง จะเรียงตัวระบุในคอลัมน์ที่ระบุโดยตัวเลือก '-di'
ตัวอย่างเช่น '-di16' ทำให้สิ่งต่างๆ ดูเหมือน:
int ฟู;
ถ่าน * บาร์;
การใช้ค่าเล็กน้อย (เช่นหนึ่งหรือสอง) สำหรับตัวเลือก '-di' สามารถใช้เพื่อทำให้
ตัวระบุที่จะวางไว้ในตำแหน่งแรกที่มี; ตัวอย่างเช่น:
int ฟู;
ถ่าน * บาร์;
ค่าที่กำหนดให้กับตัวเลือก '-di' จะยังคงส่งผลต่อตัวแปรที่แยกจากกัน
บรรทัดจากประเภท เช่น '-di2' จะนำไปสู่:
int
ฟู;
หากระบุตัวเลือก '-bc' การขึ้นบรรทัดใหม่จะถูกบังคับหลังเครื่องหมายจุลภาคแต่ละรายการในการประกาศ
ตัวอย่างเช่น
ใน,
b,
c;
ด้วยตัวเลือก '-nbc' สิ่งนี้จะดูเหมือน
int ก, ข, ค;
ตัวเลือก '-bfda' ทำให้มีการบังคับขึ้นบรรทัดใหม่หลังจากเครื่องหมายจุลภาคคั่นอาร์กิวเมนต์
ของการประกาศฟังก์ชัน อาร์กิวเมนต์จะปรากฏที่ระดับการเยื้องลึกกว่า
การประกาศฟังก์ชัน สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับฟังก์ชันที่มีการโต้แย้งยาว
รายการ ตัวเลือก '-bfde' ทำให้ต้องขึ้นบรรทัดใหม่ก่อนวงเล็บปิดของ
การประกาศฟังก์ชัน สำหรับทั้งสองตัวเลือก การตั้งค่า 'n' เป็นค่าเริ่มต้น: -nbdfa และ -nbdfe
ตัวอย่างเช่น
เป็นโมฆะ foo (int arg1, char arg2, int *arg3, arg4 แบบยาว, char arg5);
ด้วยตัวเลือก '-bfda' สิ่งนี้จะมีลักษณะดังนี้
เป็นโมฆะ foo (
int arg1,
ถ่าน arg2,
int *arg3,
arg4 ยาว,
ถ่าน arg5);
นอกจากนี้ ตัวเลือก '-bfde' จะมีลักษณะดังนี้
เป็นโมฆะ foo (
int arg1,
ถ่าน arg2,
int *arg3,
arg4 ยาว,
ถ่าน arg5
);
อ็อพชัน '-psl' ทำให้ประเภทของโพรซีเดอร์ถูกกำหนดให้วางบนบรรทัด
ก่อนชื่อของขั้นตอน สไตล์นี้จำเป็นสำหรับ แท็ก โปรแกรมทำงาน
อย่างถูกต้อง ตลอดจนบางส่วนของ โหมด c หน้าที่ของ Emac
คุณต้องใช้ตัวเลือก '-T' เพื่อบอก เยื้อง ชื่อของประเภทชื่อทั้งหมดในโปรแกรมของคุณ
ที่กำหนดโดย พิมพ์ดีฟ. '-T' สามารถระบุได้มากกว่าหนึ่งครั้ง และชื่อทั้งหมด
ใช้ที่ระบุไว้ ตัวอย่างเช่น หากโปรแกรมของคุณมี
typedef CODE_ADDR แบบยาวที่ไม่ได้ลงนาม
typedef enum {แดง, น้ำเงิน, เขียว} COLOR;
คุณจะใช้ตัวเลือก '-T CODE_ADDR -T COLOR'
ตัวเลือก '-brs' หรือ '-bls' ระบุวิธีจัดรูปแบบเครื่องหมายปีกกาในการประกาศโครงสร้าง NS
รูปแบบตัวเลือก '-brs' วงเล็บปีกกาดังนี้:
โครงสร้าง foo {
intx;
};
ตัวเลือก '-bls' จัดรูปแบบดังนี้:
โครงสร้าง foo
{
intx;
};
เช่นเดียวกับตัวเลือกรั้งโครงสร้าง '-brs' และ '-bls'
ตัวเลือกวงเล็บปีกกาฟังก์ชัน '-brf' หรือ '-blf' ระบุวิธีจัดรูปแบบวงเล็บปีกกาในฟังก์ชัน
คำจำกัดความ รูปแบบตัวเลือก '-brf' จัดฟันดังนี้:
int หนึ่ง (เป็นโมฆะ) {
1 กลับ;
};
ตัวเลือก '-blf' จัดรูปแบบดังนี้:
int หนึ่ง (เป็นโมฆะ)
{
1 กลับ;
};
การเยื้อง
ปัญหาหนึ่งในการจัดรูปแบบของโค้ดคือระยะห่างแต่ละบรรทัดควรเยื้องจากด้านซ้าย
ระยะขอบ เมื่อขึ้นต้นคำสั่งเช่น if or สำหรับ จะพบกับ
ระดับการเยื้องจะเพิ่มขึ้นตามค่าที่ระบุโดยตัวเลือก '-i' ตัวอย่างเช่น,
ใช้ '-i8' เพื่อระบุการเยื้องแปดอักขระสำหรับแต่ละระดับ เมื่อคำสั่งคือ
แยกเป็นสองบรรทัด บรรทัดที่สองเยื้องด้วยช่องว่างเพิ่มเติมจำนวนหนึ่ง
ระบุโดยตัวเลือก '-ci' '-ci' มีค่าเริ่มต้นเป็น 0 อย่างไรก็ตาม หากตัวเลือก '-lp' เป็น
ระบุและบรรทัดมีวงเล็บซ้ายซึ่งไม่ได้ปิดในบรรทัดนั้นแล้ว
บรรทัดต่อเนื่องจะเรียงกันเพื่อเริ่มที่ตำแหน่งตัวละครหลังซ้าย
วงเล็บ. การประมวลผลนี้ยังใช้กับ '[' และใช้กับ '{' เมื่อเกิดขึ้นใน
รายการเริ่มต้น ตัวอย่างเช่น โค้ดต่อเนื่องบางส่วนอาจมีลักษณะเช่นนี้กับ
'-nlp -ci3' มีผลบังคับใช้:
p1 = first_procedure (ขั้นตอนที่สอง (p2, p3),
Third_procedure (p4, p5));
เมื่อใช้ '-lp' โค้ดจะดูชัดเจนขึ้น:
p1 = first_procedure (ขั้นตอนที่สอง (p2, p3),
Third_procedure (p4, p5));
เมื่อคำสั่งขาดระหว่างคู่พาเรนตั้งแต่สองคู่ขึ้นไป (...) แต่ละคู่พิเศษ
ทำให้เกิดการเยื้องพิเศษระดับ:
ถ้า ((((ผม < 2 &&
k > 0) || p == 0) &&
คิว == 1) ||
n = 0)
ตัวเลือก '-ipN' สามารถใช้เพื่อตั้งค่าออฟเซ็ตพิเศษต่อพาเรน ตัวอย่างเช่น '-ip0'
จะจัดรูปแบบข้างต้นเป็น:
ถ้า ((((ผม < 2 &&
k > 0) || p == 0) &&
คิว == 1) ||
n = 0)
เยื้อง ถือว่าแท็บถูกวางไว้ในช่วงเวลาปกติของทั้งอินพุตและเอาต์พุต
สตรีมตัวละคร ช่วงเวลาเหล่านี้เป็นค่าเริ่มต้นกว้าง 8 คอลัมน์ แต่ (ในเวอร์ชัน 1.2)
อาจเปลี่ยนแปลงได้โดยตัวเลือก '-ts' แท็บจะถือว่าเป็นจำนวนช่องว่างที่เท่ากัน
การเยื้องของการประกาศประเภทในคำจำกัดความของฟังก์ชันแบบเก่าถูกควบคุมโดย
พารามิเตอร์ '-ip' นี่คือพารามิเตอร์ตัวเลขที่ระบุจำนวนช่องว่างที่จะเยื้อง
ประกาศประเภท ตัวอย่างเช่น ค่าเริ่มต้น '-ip5' ทำให้คำจำกัดความมีลักษณะดังนี้:
ถ่าน *
create_world (x, y, มาตราส่วน)
intx;
อินท์ วาย;
ขนาดลอย;
{
. . .
}
เพื่อความเข้ากันได้กับการเยื้องเวอร์ชันอื่น จะมีตัวเลือก '-nip' ซึ่งก็คือ
เทียบเท่ากับ '-ip0'
ANSI C อนุญาตให้วางช่องว่างบนบรรทัดคำสั่งตัวประมวลผลล่วงหน้าระหว่างอักขระ
'#' และชื่อคำสั่ง โดยค่าเริ่มต้น, เยื้อง ลบช่องว่างนี้ แต่ระบุ
ตัวเลือก '-lps' ชี้นำ เยื้อง เพื่อปล่อยให้พื้นที่นี้ไม่มีการปรับเปลี่ยน ตัวเลือก '-ppi' แทนที่
'-nlps' และ '-lps'
สามารถใช้ตัวเลือกนี้เพื่อขอให้คำสั่งเงื่อนไขของตัวประมวลผลล่วงหน้าเป็น
เยื้องตามจำนวนช่องว่างที่กำหนด เช่น ด้วยตัวเลือก '-ppi 3'
#ถ้า X
#ถ้าใช่
#กำหนด Z 1
#อื่น
#กำหนด Z 0
#เอนดิฟ
#เอนดิฟ
จะกลายเป็น
#ถ้า X
#ถ้าใช่
# กำหนด Z 1
# อื่น
# กำหนด Z 0
#ตอนจบ
#เอนดิฟ
ตัวเลือกนี้ตั้งค่าออฟเซ็ตที่จะวางตำแหน่งป้ายกำกับ (ยกเว้นป้ายกำกับเคส) ถ้า
มันถูกตั้งค่าเป็นศูนย์หรือจำนวนบวก ซึ่งแสดงว่าระยะขอบซ้ายถึง
เยื้องป้าย หากตั้งค่าเป็นจำนวนลบแสดงว่าอยู่ไกลจาก
ระดับการเยื้องปัจจุบันเพื่อวางป้ายกำกับ การตั้งค่าเริ่มต้นคือ -2 ซึ่งตรงกับ
พฤติกรรมของการเยื้องรุ่นก่อนหน้า โปรดทราบว่าพารามิเตอร์นี้ไม่มีผลกับ
การวางฉลากของเคส ดูพารามิเตอร์ '-cli' สำหรับสิ่งนั้น ตัวอย่างเช่นด้วยตัวเลือก
'-อิล 1'
กลุ่ม
การทำงาน()
{
ถ้า (do_stuff1() == ข้อผิดพลาด)
ไปที่การล้างข้อมูล1;
ถ้า (do_stuff2() == ข้อผิดพลาด)
ไปที่การล้างข้อมูล2;
คืนความสำเร็จ;
การล้างข้อมูล 2:
do_cleanup2();
การล้างข้อมูล 1:
do_cleanup1();
กลับข้อผิดพลาด;
}
จะกลายเป็น
กลุ่ม
การทำงาน()
{
ถ้า (do_stuff1() == ข้อผิดพลาด)
ไปที่การล้างข้อมูล1;
ถ้า (do_stuff2() == ข้อผิดพลาด)
ไปที่การล้างข้อมูล2;
คืนความสำเร็จ;
การล้างข้อมูล 2:
do_cleanup2();
การล้างข้อมูล 1:
do_cleanup1();
กลับข้อผิดพลาด;
}
แบ่ง ยาว LINES
ด้วยตัวเลือก '-ln' หรือ '--line-lengthn' สามารถระบุความยาวสูงสุดได้
ของบรรทัดรหัส C ไม่รวมความคิดเห็นที่เป็นไปได้ที่ตามมา
เมื่อเส้นยาวเกินความยาวเส้นที่กำหนด GNU เยื้อง พยายามที่จะทำลาย
บรรทัดที่สถานที่ตรรกะ นี่เป็นสิ่งใหม่ในเวอร์ชัน 2.1 อย่างไรก็ตามและไม่ฉลาดมาก
หรือยังคล่องตัว
ขณะนี้มีสองตัวเลือกที่อนุญาตให้มีการแทรกแซงอัลกอริธึมที่
กำหนดตำแหน่งที่จะทำลายเส้น
ตัวเลือก '-bbo' ทำให้ GNU เยื้อง ที่จะชอบที่จะทำลายเส้นยาวก่อนบูลีน
ผู้ประกอบการ && และ ||. ตัวเลือก '-nbbo' ทำให้ GNU เยื้อง ไม่มีการตั้งค่านั้น สำหรับ
ตัวอย่าง ตัวเลือกเริ่มต้น '-bbo' (ร่วมกับ '--line-length60' และ '--ignore-
newlines') ทำให้โค้ดมีลักษณะดังนี้:
ถ้า (หน้ากาก
&& ((หน้ากาก[0] == '\0')
|| (หน้ากาก[1] == '\0'
&& ((mask[0] == '0') || (mask[0] == '*')))))
การใช้ตัวเลือก '-nbbo' จะทำให้มีลักษณะดังนี้:
ถ้า (หน้ากาก &&
((หน้ากาก[0] == '\0') ||
(หน้ากาก[1] == '\0' &&
((mask[0] == '0') || (mask[0] == '*')))))
อย่างไรก็ตาม ค่าเริ่มต้น '-hnl' ให้เกียรติบรรทัดใหม่ในไฟล์อินพุตโดยให้ค่าสูงสุดแก่พวกเขา
ลำดับความสำคัญที่เป็นไปได้ในการทำลายบรรทัดที่ ตัวอย่างเช่น เมื่อไฟล์อินพุตมีลักษณะดังนี้:
ถ้า (หน้ากาก
&& ((หน้ากาก[0] == '\0')
|| (mask[1] == '\0' && ((mask[0] == '0') || (mask[0] == '*')))))
จากนั้นใช้ตัวเลือก '-hnl' หรือ '--honour-newlines' ร่วมกับตัวเลือกก่อนหน้านี้
ที่กล่าวถึง '-nbbo' และ '--line-length60' จะทำให้ผลลัพธ์ไม่เป็นไปตามที่กำหนด
ตัวอย่างสุดท้ายแต่จะชอบที่จะทำลายตำแหน่งที่รหัสเป็น
แตกในไฟล์อินพุต:
ถ้า (หน้ากาก
&& ((หน้ากาก[0] == '\0')
|| (หน้ากาก[1] == '\0' &&
((mask[0] == '0') || (mask[0] == '*')))))
แนวคิดเบื้องหลังตัวเลือกนี้คือบรรทัดที่ยาวเกินไป แต่แตกออกแล้ว
จะไม่ถูกแตะต้องโดย GNU เยื้อง. รหัสยุ่งจริงๆควรจะเรียกใช้ผ่าน เยื้อง at
อย่างน้อยหนึ่งครั้งโดยใช้ตัวเลือก '--ignore-newlines'
ปิดการใช้งาน การจัดรูปแบบ
การจัดรูปแบบโค้ด C อาจถูกปิดใช้งานสำหรับบางส่วนของโปรแกรมโดยการฝังแบบพิเศษ
ควบคุม ความคิดเห็น ในโปรแกรม หากต้องการปิดการจัดรูปแบบสำหรับส่วนของโปรแกรม ให้วาง
ปิดการใช้งานการควบคุมความคิดเห็น /* *เยื้อง-ปิด* */ บนเส้นด้วยตัวเองก่อนหน้านั้น
ส่วน. ข้อความของโปรแกรมที่สแกนหลังจากข้อคิดเห็นการควบคุมนี้ถูกส่งออกอย่างแม่นยำเป็นอินพุต
โดยไม่มีการแก้ไขจนกว่าจะมีการสแกนความคิดเห็นที่เกี่ยวข้องในบรรทัดโดย
ตัวเอง. ความคิดเห็นควบคุมปิดการใช้งานคือ /* *เยื้องบน* */และข้อความใดๆ ต่อจาก
ความคิดเห็นในบรรทัดยังเป็นผลลัพธ์ที่ไม่ได้จัดรูปแบบ การจัดรูปแบบเริ่มต้นอีกครั้งด้วยอินพุต
บรรทัดต่อจากข้อคิดเห็นการควบคุมการเปิดใช้งาน
อย่างแม่นยำมากขึ้น, เยื้อง ไม่พยายามตรวจสอบตัวคั่นการปิด (*/) สำหรับ C . เหล่านี้
ความคิดเห็น และช่องว่างใดๆ ในบรรทัดนั้นโปร่งใสโดยสิ้นเชิง
ความคิดเห็นควบคุมเหล่านี้ยังทำงานในรูปแบบ C ++ กล่าวคือ // *เยื้อง-ปิด* และ //
*เยื้องบน*.
ควรสังเกตว่าสถานะภายในของ เยื้อง ยังคงไม่เปลี่ยนแปลงตลอดระยะเวลาของ
ส่วนที่ไม่ได้จัดรูปแบบ ตัวอย่างเช่น การปิดการจัดรูปแบบที่อยู่ตรงกลางของ a
การทำงานและดำเนินการต่อหลังจากสิ้นสุดฟังก์ชันอาจนำไปสู่ผลลัพธ์ที่แปลกประหลาด มัน
ดังนั้นจึงควรที่จะเป็นแบบแยกส่วนในการเลือกโค้ดที่จะปล่อยไว้แบบไม่ฟอร์แมต
ตามบันทึกทางประวัติศาสตร์ . เวอร์ชันก่อนหน้าบางเวอร์ชัน เยื้อง สร้างข้อความแสดงข้อผิดพลาดเริ่มต้น
สีสดสวย *เยื้อง**. เวอร์ชันเหล่านี้ของ เยื้อง ถูกเขียนขึ้นเพื่อละเว้นบรรทัดข้อความอินพุตใด ๆ
ซึ่งขึ้นต้นด้วยข้อความแสดงข้อผิดพลาดดังกล่าว ฉันได้ลบคุณสมบัติการร่วมประเวณีระหว่างพี่น้องนี้ออกจาก GNU
เยื้อง.
เบ็ดเตล็ด OPTIONS
เพื่อดูว่าเวอร์ชั่นของ เยื้อง คุณมีให้ใช้คำสั่ง เยื้อง -version. นี่จะ
รายงานหมายเลขเวอร์ชันของ เยื้องโดยไม่ต้องดำเนินการใดๆ ตามปกติ
ตัวเลือก '-v' สามารถใช้เพื่อเปิดโหมด verbose เมื่ออยู่ในโหมด verbose เยื้อง รายงาน
เมื่อมันแยกอินพุตหนึ่งบรรทัดออกเป็นอีกสองบรรทัดของเอาต์พุตและให้ขนาดบางส่วน
สถิติเมื่อเสร็จสิ้น
สาเหตุตัวเลือก '-pmt' เยื้อง เพื่อรักษาเวลาการเข้าถึงและการปรับเปลี่ยนบน
ไฟล์ที่ส่งออก การใช้ตัวเลือกนี้มีข้อได้เปรียบที่การเยื้องบนแหล่งที่มาทั้งหมดและ
ไฟล์ส่วนหัวในโปรเจ็กต์จะไม่ทำให้เกิด ทำ เพื่อสร้างเป้าหมายใหม่ทั้งหมด ตัวเลือกนี้เท่านั้น
พร้อมใช้งานบนระบบปฏิบัติการที่มี POSIX การใช้งาน(2) ฟังก์ชัน
ใช้การเยื้องออนไลน์โดยใช้บริการ onworks.net