คุณสามารถใช้kill-whole-line
เพื่อฆ่าจุดเส้นทั้งหมดที่อยู่บน ตำแหน่งของจุดไม่สำคัญ คำสั่งนี้ถูกผูกไว้C-S-DELโดยค่าเริ่มต้น
นอกจากนี้คุณยังสามารถสั่งkill-line
(ผูกไว้กับC-k) เพื่อฆ่าทั้งบรรทัดโดยการตั้งค่าตัวแปร kill-whole-line
เป็นnil
ค่าที่ไม่ใช่:
(setq kill-whole-line t)
โปรดทราบว่าจุดนั้นจะต้องอยู่ที่จุดเริ่มต้นของบรรทัดเพื่อให้สามารถใช้งานได้
จากนั้นก็มีอัญมณีสองชนิดนี้ (ผ่านemacs-fu ):
(defadvice kill-region (before slick-cut activate compile)
"When called interactively with no active region, kill a single line instead."
(interactive
(if mark-active
(list (region-beginning) (region-end))
(list (line-beginning-position) (line-beginning-position 2)))))
(defadvice kill-ring-save (before slick-copy activate compile)
"When called interactively with no active region, copy a single line instead."
(interactive
(if mark-active
(list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position) (line-beginning-position 2)))))
ด้วยสิ่งเหล่านี้ในสถานที่ที่คุณสามารถฆ่าหรือคัดลอกจุดบรรทัดอยู่ด้วยการกดแป้นเดียว :
- C-w ฆ่าบรรทัดปัจจุบัน
- M-w คัดลอกบรรทัดปัจจุบัน
โปรดทราบว่าหากมีพื้นที่ที่ใช้งานอยู่kill-region
และkill-ring-save
จะทำสิ่งที่พวกเขาทำตามปกติ: ฆ่าหรือคัดลอก
พอร์ตslick-cut
และslick-copy
ระบบคำแนะนำใหม่
Emacs 24.4 เปิดตัวระบบใหม่คำแนะนำ ในขณะที่defadvice
ยังใช้งานได้มีความเป็นไปได้ที่จะเลิกใช้งานระบบใหม่ในเวอร์ชันของ Emacs ในอนาคต ในการเตรียมพร้อมสำหรับสิ่งนั้นคุณอาจต้องการใช้เวอร์ชันที่อัปเดตแล้วslick-cut
และslick-copy
:
(defun slick-cut (beg end)
(interactive
(if mark-active
(list (region-beginning) (region-end))
(list (line-beginning-position) (line-beginning-position 2)))))
(advice-add 'kill-region :before #'slick-cut)
(defun slick-copy (beg end)
(interactive
(if mark-active
(list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position) (line-beginning-position 2)))))
(advice-add 'kill-ring-save :before #'slick-copy)
kill-whole-line
ตัว :)