เป็นไปได้ไหมที่จะลบการแข่งขันด้วยตนเองในโหมด grep


9

หลังจากเรียกใช้(grep)บัฟเฟอร์ grep ปรากฏขึ้นพร้อมกับการแข่งขัน การแข่งขันบางรายการไม่เกี่ยวข้องและเป็นการดีที่จะลบด้วยตนเอง วิธีนี้ฉันสามารถใช้ grep buffer เพื่อเก็บเฉพาะรายการที่เกี่ยวข้องกับการตรวจสอบปัจจุบัน

เป็นไปได้ไหม

คำตอบ:


10

อย่างแน่นอน และมันมีประโยชน์อย่างมากในการทำเช่นนั้น 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เพื่อให้สามารถแทรกอักขระบางตัวได้


1
ฉันจะพูดต่อไปว่าคำตอบนี้เปลี่ยนชีวิตฉัน
cammil

;-) ............
Drew

0

หากคุณเป็นผู้ใช้ความชั่วร้ายคุณสามารถมีผลผูกพันเหมือนที่สลับzww 'read-only-mode read-only-mapปิดการใช้งานread-only-modeแล้วใช้evil-deleteสาย (เช่นdd) แน่นอนว่าสิ่งนี้จะไม่ลบบรรทัดทั้งหมดโดยอัตโนมัติflush-linesอย่างไรก็ตามหากคุณต้องการลบทั้งภูมิภาคโดยไม่ต้องใช้นิพจน์ทั่วไปที่ซับซ้อนนี่เป็นเพื่อนของคุณ


0

winnow.elมีโหมดย่อยเล็ก ๆ ที่มีประโยชน์ซึ่งออกแบบมาเพื่อจุดประสงค์นี้โดยเฉพาะสำหรับใช้ในcompilation-modeบัฟเฟอร์ (หรืออนุพันธ์ซึ่งรวมถึงgrep-mode)

มันช่วยให้การผูกคีย์เทียบเท่าflush-linesและkeep-linesและดูแล ness แบบอ่านอย่างเดียวของข้อความสำหรับคุณ

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