คำถามติดแท็ก formatting

คำถามเกี่ยวกับวิธีจัดรูปแบบไฟล์ด้วย vim ซึ่งรวมถึง แต่ไม่ จำกัด เพียงการพับการเยื้องการห่อและอื่น ๆ

2
ฉันจะรับเป็นกลุ่มเพื่อหยุดแสดงความคิดเห็นต่อหน้าบรรทัดใหม่ได้อย่างไร
ฉันกำลังแก้ไข.vimrcไฟล์ของฉันและฉันก็รวมถึงความคิดเห็นด้วย เมื่อฉันมีความคิดเห็นเช่นนี้: " example comment จากนั้นกด Enter ที่ท้ายบรรทัดหลังจากเสร็จความคิดเห็นบรรทัดถัดไปจะถูกตั้งค่าโดยอัตโนมัติเป็นความคิดเห็น (เครื่องหมายคำพูดจะถูกแทรกโดยอัตโนมัติ): " example comment " ฉันจะหยุดพฤติกรรมนี้ได้อย่างไร

4
ฉันจะฟอร์แมตสตริงแบบหลายบรรทัดเป็นกลุ่มเมื่อใช้ไฟล์ Python ได้อย่างไร
สมมติว่าฉันกำลังแก้ไขโค้ด Python ในกลุ่มที่มีลักษณะดังนี้: myobj.myfunc("Some string parameter that goes on and on and on and on and sometimes doesn't" "split very" "neatly over different lines so that" "it is formatted attractively") ฉันต้องการฟอร์แมตใหม่เพื่อให้รีโฟลว์สูงถึงระดับที่textwidthฉันตั้งไว้: myobj.myfunc("Some string parameter that goes on and on and " "on and on and sometimes doesn't split very " …

3
วิธีการเขียนในแนวตั้ง?
ให้บอกว่าฉันต้องการผลิตข้อความต่อไปนี้ในเอกสารของฉัน: % % Not Important % O -------------------------> % | % S | % o | % m | % e | % | % M | % s | % g | % | % V มีวิธีง่ายๆในการเขียน "ข่าวสารบางอย่าง" ในแนวตั้งข้างต้นโดยไม่ต้องแทรกอักขระแต่ละตัวในแต่ละบรรทัดด้วยตนเองหรือไม่?

4
วิธีการตั้งค่า Vim ให้ทำงานกับหนึ่งประโยคต่อหนึ่งบรรทัด?
ตอนนี้ฉันกำลังเขียนข้อความธรรมดาจำนวนมาก (และ LaTeX ที่มีการจัดรูปแบบน้อยที่สุดในย่อหน้า) และมันจะดีถ้าฉันสามารถตั้งค่ากลุ่มเพื่อรักษาแต่ละประโยค (สำหรับความเรียบง่ายข้อความถูกยกเลิกด้วย '.', '!' , หรือ '?'; นั่นคือเครื่องหมายวรรคตอนยุติแล้วตามด้วยช่องว่างเพื่อหลีกเลี่ยงการแบ่งจำนวนทศนิยม) ในบรรทัดของตัวเองเพื่อให้ VCS diffs จะมีประโยชน์มากขึ้น น้อยที่สุดฉันต้องการจัดgqรูปแบบข้อความจาก: He lay flat on the brown, pine-needled floor of the forest, his chin on his folded arms, and high overhead the wind blew in the tops of the pine trees. The mountainside sloped …

4
ผสานบล็อกด้วยเส้นแทรก
มีวิธีเฉพาะในการรวมสองบล็อกข้อความโดย interleaving บรรทัดเช่นผ่านจากนี้ a1 a2 a3 a4 b1 b2 b3 b4 เพื่อที่: a1 b1 a2 b2 a3 b3 a4 b4 ในคำสั่งไม่กี่? แก้ไข : ฉันชอบโซลูชันของ Sato Katsuraนี่คือวิธีที่ฉันใช้งาน: function! Interleave() " retrieve last selected area position and size let start = line(".") execute "normal! gvo\<esc>" let end = line(".") let [start, end] …

3
การบล็อกการเปลี่ยนแปลงเพื่ออ่านไฟล์อย่างเดียว
เมื่อใช้ Vim เพื่อแก้ไขไฟล์แบบอ่านอย่างเดียวจะมีการแจ้งเตือนในครั้งแรกที่มีการแก้ไข แต่อนุญาตให้ทำการเปลี่ยนแปลงใด ๆ ฉันเข้าใจว่าพฤติกรรมนี้อาจมีประโยชน์สำหรับคนที่ตั้งใจจะบันทึกไฟล์ภายใต้ชื่ออื่น แต่บางครั้งฉันเปิดไฟล์ที่ฉันไม่มีสิทธิ์เข้าถึงเพื่อเขียนจากนั้นลืมและทำการเปลี่ยนแปลง เป็นไปได้หรือไม่ที่จะเข้าสู่โหมดที่ Vim จะอนุญาตให้ดูไฟล์ได้ แต่ปิดกั้นตัวเลือกที่เปลี่ยนแปลง

3
จะลดตัวอักษรตัวที่สองของคำโดยอัตโนมัติได้อย่างไร
เมื่อฉันต้องพิมพ์ข้อความจำนวนมากฉันมักจะกดนิ้วของฉันshiftเมื่อฉันเขียนตัวอักษรตัวแรกของประโยคที่มักจะให้: [...]end of sentence. NEw sentence[...] ที่นี่EของNEwที่ควรจะเป็นกรณีที่ต่ำกว่า ฉันพยายามสร้างฟังก์ชั่นที่จะตรวจสอบว่าตัวอักษรตัวที่สองของคำแรกของประโยคที่ฉันพิมพ์เป็นตัวพิมพ์ใหญ่และตัวพิมพ์เล็กหรือไม่ ส่วนที่สำคัญคือการแก้ไขควรทำโดยอัตโนมัติในขณะที่ฉันพิมพ์ตอนท้ายของประโยค จนถึงตอนนี้ฉันได้ลองเล่นกับเหตุการณ์บันทึกอัตโนมัติInsertCharPreก่อนที่จะทราบว่าข้อความไม่สามารถแก้ไขได้โดยฟังก์ชันที่ทริกเกอร์โดยเหตุการณ์นี้ อะไรจะเป็นทางออกที่ดี? หมายเหตุจนถึงตอนนี้ฉันไม่จำเป็นต้องมุ่งเน้นไปที่ตัวกล่องขอบเช่นตัวย่อซึ่งควรเป็นตัวพิมพ์ใหญ่หรือของแบบนี้ แก้ไขฉันทำสิ่งนี้ซึ่งเป็นวิธีแก้ปัญหาที่ไม่สมบูรณ์: autocmd CursorMovedI * call RemoveUnwantedUpper() function! RemoveUnwantedUpper() " Get the current sentence " Based on http://stackoverflow.com/a/23315227/4194289 let l:save_clipboard = &clipboard set clipboard= " Avoid clobbering the selection and clipboard registers. let l:save_reg = getreg('"') let l:save_regmode = …

2
ทำไม Vim ตั้งความกว้างของข้อความสูงสุดเป็น 79 แทนที่จะเป็น 80
ฉันสับสนเล็กน้อยเกี่ยวกับค่าเริ่มต้นใน Vim โดยเฉพาะอย่างยิ่งสำหรับgq{motion}มีการกล่าวกันว่า [...] If the 'textwidth' option is 0, the formatted line length is the screen width (with a maximum width of 79). ฉันคิดว่ามันควรมีเหตุผลมากกว่านี้หากตั้งค่าความกว้างสูงสุดไว้ที่80แทน ใครบางคนสามารถสอนฉันเกี่ยวกับเรื่องนี้? ฉันคิดว่าฉันขาดอะไรไป
13 formatting 

1
ปัญหาการเยื้องของ gq ไม่ได้อธิบาย
ฉันแทรกข้อความนี้เป็นกลุ่ม: t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt, tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt for the "tttttt in ttttttt" part of the issue (in the previous week …

3
ลากเส้นอัตโนมัติเมื่อเขียน markdown ใน VIM
บ่อยครั้งที่ฉันเขียน markdown ใน VIM และจะมีย่อหน้าใน markdown เหล่านั้น เพื่อช่วยในการแก้ไขของฉันฉันตั้งค่า Vim ของฉันเพื่อตัดบรรทัดบน 80 ตัวอักษร มันใช้งานได้ดีถ้าฉันพิมพ์ต่อไป แต่ปัญหาคือถ้าฉันต้องแก้ไขบางอย่างมันน่ารำคาญมาก ตัวอย่าง (นำมาจากตรรกะคำสั่งแรกของวิกิพีเดีย): The adjective "first-order" distinguishes first-order logic from higher-order logic in which there are predicates having predicates or functions as arguments. In first-order theories, predicates are often associated with sets. In interpreted higher-order theories, predicates …

1
วิธีการทำให้ gq พิจารณายัติภังค์ (-) คำปกติเพื่อไม่เยื้องบรรทัดต่อไปนี้ในวรรคเดียวกัน
ฉันได้ลองในไฟล์ JavaScript หลังจากปิดการใช้งานsmartindentและautoindentตัวเลือกด้วยtextwidth = 80แต่ก็ยังคงเหมือนเดิม นอกจากนี้ยังเกิดขึ้นโดยอัตโนมัติเนื่องจากtextwidthตัวเลือกเมื่อแทรกคำที่มีความยาวเกิน 80 อักขระ เกิดอะไรขึ้น: /** * - a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l …

4
หมายเลขบรรทัดเฉพาะการตั้งค่าข้อความความกว้าง
ฉันใช้ gvim เพื่อเขียนอีเมลและใช้tw=72เพื่อแบ่งบรรทัดยาว ๆ ตอนนี้ฉันยังแก้ไขส่วนหัวจดหมายพื้นฐานในเอกสารเดียวกันเช่นฉันกำลังเพิ่มผู้รับในจดหมายของฉัน ตอนนี้tw=72มันยังแบ่งทุกครั้งหลังจาก 72 ตัวอักษร ฉันจะตั้งค่าtw=0ใน 4 บรรทัดแรก (นั่นคือส่วนหัว) และtw=72ส่วนที่เหลือของเอกสารได้อย่างไร ตัวเลือกการจัดรูปแบบของฉันมีลักษณะเช่นนี้หากเกี่ยวข้อง: set fo+=tcqn

1
จัดรูปแบบอัตโนมัติ: การตัดในบรรทัดต่อมาเมื่อแทรกข้อความ
หลังจากอ่านhelp textwithและhelp fo-tableฉันคาดว่าเมื่อฉันตั้ง set textwidth=20 " for demonstration set formatoptions=tcq จากนั้นการแทรกข้อความในที่สุดก็มักจะทำให้บรรทัดที่จะตัด แต่นั่นไม่ใช่กรณี การตัดเกิดขึ้นที่ (หรือก่อนหน้า) เคอร์เซอร์ของฉันเท่านั้น และถ้าฉันแปะการห่อจะไม่เกิดขึ้นเลย ตัวอย่าง (กลุ่ม 7.4): 12345678901234567890 This is a long line บรรทัดจะตัดอัตโนมัติหากฉันกดAและเริ่มพิมพ์ แต่ถ้าฉันกด02wiและพิมพ์ "นิ่ง" มันจะไม่พันกัน: 12345678901234567890 This is still a long line ฉันต้องพิมพ์อีก 7 ตัวอักษรก่อนที่มันจะห่อและจากนั้นปัญหายังคงอยู่ในบรรทัดถัดไป: 12345678901234567890 This is still more <-- it wraps here typing and …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.