หลังจากเรียกใช้(grep)
บัฟเฟอร์ grep ปรากฏขึ้นพร้อมกับการแข่งขัน การแข่งขันบางรายการไม่เกี่ยวข้องและเป็นการดีที่จะลบด้วยตนเอง วิธีนี้ฉันสามารถใช้ grep buffer เพื่อเก็บเฉพาะรายการที่เกี่ยวข้องกับการตรวจสอบปัจจุบัน
เป็นไปได้ไหม
หลังจากเรียกใช้(grep)
บัฟเฟอร์ grep ปรากฏขึ้นพร้อมกับการแข่งขัน การแข่งขันบางรายการไม่เกี่ยวข้องและเป็นการดีที่จะลบด้วยตนเอง วิธีนี้ฉันสามารถใช้ grep buffer เพื่อเก็บเฉพาะรายการที่เกี่ยวข้องกับการตรวจสอบปัจจุบัน
เป็นไปได้ไหม
คำตอบ:
อย่างแน่นอน และมันมีประโยชน์อย่างมากในการทำเช่นนั้น M-x flush-lines
และM-x keep-lines
เป็นเพื่อนของคุณเช่นเดียวกับC-k
ฯลฯ
(สิ่งแรกที่คุณต้องทำคือแน่นอนC-x C-q
เพื่อทำให้บัฟเฟอร์สามารถเขียนได้)
หากคุณใช้ห้องสมุดGrep + ( grep+.el
) แล้วคุณมีคำสั่งเหล่านี้ซึ่งสายการลบความคิดเห็นและการกำจัดสลับดังกล่าว
grepp-remove-comments
, grepp-toggle-comments
ซึ่งถูกผูกไว้ในบัฟเฟอร์ grep ไป;
และM-;
ตามลำดับ
(Grep + ยังให้คำสั่งแก่คุณซึ่งทำให้ง่ายต่อการมีหลาย grep บัฟเฟอร์: +
( grepp-new-buffer
), b
( grepp-choose-buffer
), และr
( grepp-rename-buffer-to-last
))
นอกจากนี้ยังมีบัฟเฟอร์อื่น ๆ ที่อ่านอย่างเดียวโดยค่าเริ่มต้นและที่มันอาจจะเป็นประโยชน์ที่จะใช้C-x C-q
แล้วแก้ไขพวกเขาโดยเฉพาะอย่างยิ่ง (IMHO) *Messages*
, *Help*
และ*Colors*
(จากM-x list-colors-display
) ข้อมูลที่เคยมีแม้กระทั่งคำสั่งที่ให้คุณแก้ไขโหนดปัจจุบัน
น่าเสียดายที่ (IMHO) Emacs มักจะห่างจากการใช้งานดังกล่าวทำให้ยากขึ้น ตัวอย่างเช่น*Help*
และ*Messages*
ตอนนี้บัฟเฟอร์กำหนดคีย์ในโหมดที่เกี่ยวข้องซึ่งหมายความว่าในการแก้ไขโดยปกติคุณต้องเปลี่ยน (1) เป็นโหมดอื่นหรือ (2) ใช้C-q
เพื่อให้สามารถแทรกอักขระบางตัวได้
หากคุณเป็นผู้ใช้ความชั่วร้ายคุณสามารถมีผลผูกพันเหมือนที่สลับzww 'read-only-mode
read-only-map
ปิดการใช้งานread-only-mode
แล้วใช้evil-delete
สาย (เช่นdd
) แน่นอนว่าสิ่งนี้จะไม่ลบบรรทัดทั้งหมดโดยอัตโนมัติflush-lines
อย่างไรก็ตามหากคุณต้องการลบทั้งภูมิภาคโดยไม่ต้องใช้นิพจน์ทั่วไปที่ซับซ้อนนี่เป็นเพื่อนของคุณ
winnow.elมีโหมดย่อยเล็ก ๆ ที่มีประโยชน์ซึ่งออกแบบมาเพื่อจุดประสงค์นี้โดยเฉพาะสำหรับใช้ในcompilation-mode
บัฟเฟอร์ (หรืออนุพันธ์ซึ่งรวมถึงgrep-mode
)
มันช่วยให้การผูกคีย์เทียบเท่าflush-lines
และkeep-lines
และดูแล ness แบบอ่านอย่างเดียวของข้อความสำหรับคุณ
Key Function
x winnow-exclude-lines
m winnow-match-lines