vimrc - วิธีการปิดกั้นความคิดเห็น?


14

ฉันไม่ต้องการแสดงความคิดเห็นบรรทัดข้อความในไฟล์ข้อความหรือรหัส ฉันกำลังมองหาการแทรกความคิดเห็นบล็อกในไฟล์. vimrc เมื่อต้องการแทรกข้อคิดเห็นบรรทัดเดียว"ถูกใช้ตัวอย่างเช่น:

" remove spaces and tabs as well  at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e

ตอนนี้ฉันมีการตั้งค่า / การตั้งค่า / ปลั๊กอินจำนวนมากในช่วงหลายปีที่ผ่านมาหลังจากเรียกดูผ่านอินเทอร์เน็ตเพื่อเพิ่มคุณสมบัติเจ๋ง ๆ ฉันต้องการเพิ่มบล็อกความคิดเห็นขนาดใหญ่ลงในไฟล์. vimrc ของฉัน การเพิ่ม"ในแต่ละบรรทัดเป็นตัวเลือก แต่ฉันกำลังมองหาไวยากรณ์ความคิดเห็นบล็อก คล้ายกับ/**/ใน C.

//เหมือน"
/* */กันกับ_ ____ใช่ไหม?

การค้นหา Unix.SE ดังนั้นและ googling ไม่ได้ช่วยอะไรมาก


1
ฉันสงสัยว่าฟีเจอร์การแสดงความคิดเห็นแบบหลายบรรทัดไม่มีอยู่ในไฟล์ vim-config
Dilawar

คำตอบ:


5

ฉันไม่คิดว่าเป็นไปได้ สิ่งที่ดีที่สุดที่คุณจะทำได้คือบล็อกเลือกข้อความและทำการค้นหา / แทนที่ตัวอักษรตัวแรกs/^/"/ในกลุ่มเพื่อแทรก a "ไปยังจุดเริ่มต้นของแต่ละบรรทัด

ปลั๊กอิน vim NERD Commenterอาจช่วยทำให้ง่ายขึ้นเช่นกัน


1
ฉันใช้วิธีแก้ปัญหา:., + 3s / ^ / "/ โดยที่จุดแทนเส้นปัจจุบันและ +3 หมายถึงจำนวนของเส้นต่อเนื่อง (หลังเส้น dot)
daGo

6

functionวิธีการแก้ปัญหาของฉันคือการตัดรหัสภายใน

วิธีนี้ใช้งานได้ดีใน vimrc เช่นสำหรับการทดสอบไวยากรณ์heredoc ที่เน้นสีซึ่งต้องใช้ความคิดเห็นแบบบล็อกจริงโดยไม่มีตัวอักษรนำ ใน vimrc ของฉันฉันใช้บล็อกดังกล่าวโดยตรงหลังจากการตั้งค่าของฉัน heredoc SyntaxRanges

function! _blockcomment()

    " free text comment
    You can write free text here,
    but vim will try to highlight it as vimscript!

    " markdown heredoc
    test <<MD
    ### Nevertheless ###
    * for testing my fuzzy SyntaxRange heredocs
    * having no leading chars is essential
    * and the blockcomment function does the trick
    MD  

endfunction 

วิธีนี้คล้ายกับif 0เคล็ดลับของ @ Stéphane ซึ่งไม่ได้ผลสำหรับฉัน เพียงให้แน่ใจว่าจะไม่เรียกใช้ฟังก์ชั่นนี้!


1

เคล็ดลับหนึ่ง:

  • วางเคอร์เซอร์ของคุณบนอักขระตัวแรกของบรรทัดแรกเพื่อแสดงความคิดเห็น
  • กด Ctrl-V เพื่อเข้าสู่โหมด Visual Block
  • เลื่อนเคอร์เซอร์ลงไปจนถึงบรรทัดสุดท้ายเพื่อคอมเม้นต์
  • กด I (shift + i) เพื่อเข้าสู่โหมดแทรกแบบมีเงื่อนไข
  • กด '"' เพื่อแสดงความคิดเห็น (คำพูดและช่องว่าง)
  • กด Esc เพื่อออกจากโหมดแทรก

ตอนนี้ทุกบรรทัดที่คุณเลือกจะถูกเติมโดยสตริงที่คุณพิมพ์ในโหมดแทรก


ขอบคุณ แต่ผมกำลังมองหาสิ่งที่แน่นอนคือสไตล์ความคิดเห็นในบล็อกvimrc
mtk

ฉันไม่คิดว่าจะมีฟีเจอร์ดังกล่าวในกลุ่ม โดยวิธีการที่ไม่ธรรมดา ในภาษาสคริปต์จำนวนมากเป็นเรื่องปกติที่จะใช้ความคิดเห็นแบบบรรทัดเดียวในช่วงของบรรทัด
lgeorget

1

ใช้tCommentปลั๊กอินสำหรับ Vim: http://www.vim.org/scripts/script.php?script_id=1173

ใช่มันรองรับ Python (เพิ่มในปี 2011)

คำอธิบาย: TComment ทำงานเหมือนการสลับเช่นมันจะใส่เครื่องหมายข้อความที่มีบรรทัดที่ไม่ใส่เครื่องหมายคอมเม้นต์และจะเป็นการคอมเม้นต์ข้อความที่ถูกคอมเม้นต์แล้ว (เช่นข้อความที่ไม่มีบรรทัดที่ไม่ใส่เครื่องหมายข้อคิดเห็น)

หากมีการกำหนดประเภทไฟล์อย่างถูกต้อง: TComment จะค้นหาว่าสตริงความคิดเห็นใดที่จะใช้โดยพิจารณาจากค่าของ & commentstring หรือ & ข้อคิดเห็น สำหรับ filetypes บางคำนิยามความคิดเห็นที่กำหนดไว้อย่างชัดเจน คุณสามารถ | tcomment # DefineType () | เพื่อเพิ่มคำจำกัดความของคุณเอง

TComment รู้วิธีจัดการกับโค้ดฝังตัวของประเภทไฟล์ที่แตกต่างจากประเภทไฟล์หลักเช่นภูมิภาค ruby ​​/ python / perl ในสคริปต์ vim, HTML หรือ JavaScript ในโค้ด php เป็นต้น

ในฐานะผู้ดำเนินการ (คำนำหน้าสามารถปรับแต่งได้ผ่าน g: tcommentMapLeaderOp1 และ g: tcommentMapLeaderOp2):

gc{motion}   :: Toggle comments (for small comments within one line 
                the &filetype_inline style will be used, if 
                defined) 
gcc          :: Toggle comment for the current line 
gC{motion}   :: Comment region 
gCc          :: Comment the current line 

แผนที่หลักหลัก:

<c-_><c-_>   :: :TComment 
<c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> 
<c-_>b       :: :TCommentBlock 
<c-_>a       :: :TCommentAs <QUERY COMMENT TYPE> 
<c-_>n       :: :TCommentAs &filetype <QUERY COUNT> 
<c-_>s       :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> 
<c-_>i       :: :TCommentInline 
<c-_>r       :: :TCommentRight 
<c-_>p       :: Comment the current inner paragraph 

นอกจากนี้ยังมีแผนที่สำคัญชุดรองที่มี _ เป็นผู้นำ (ดีกว่าในเทอร์มินัล)


1

มีชีวิตนี้เปลี่ยนปลั๊กอินโดยtpopeเรียกว่าvim-commentary

https://github.com/tpope/vim-commentary

ปลั๊กอินนี้ให้ :

  • ความปกติทางจิตใจ
  • เยื้องความคิดเห็นอย่างเหมาะสม
  • ห้ามคอมเม้นต์บรรทัดว่าง / ไม่จำเป็น

การใช้งาน :

  • ติดตั้งผ่าน Vundle (หรือเชื้อโรคฉันเดา)
  • เน้นข้อความของคุณและกด:ซึ่งจะแสดงเป็น:<,'>
  • พิมพ์คำอธิบายที่นี่:<,'>Commentaryแล้วกด Enter
  • Bom คุณทำเสร็จแล้ว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.